PayCargo · AI Platform · Security

How the Console MCP is secure

The door that lets a scheduled AI agent reach the platform — and why a leaked or misused key can't hurt you.
In one sentence: a scheduled AI agent gets in with a machine key that only opens the specific doors you chose, signs every request so it can't be forged or replayed, expires each message in minutes, and can be switched off instantly — and it never gets your password or your code.

The everyday analogy

Think of a hotel key card, not a house key. A house key is a password: copy it once and it opens everything, forever. A hotel key card is different — it only opens your room, it stops working at checkout, and if you lose it the front desk deactivates it and prints a new one in seconds. The old card is now a worthless piece of plastic. The Console MCP token is that key card.

The five things that make it safe

What a request actually goes through

the agent's machine the platform ────────────────── ──────────── 1. sign the request ──────HTTPS (TLS)──────▶ 2. CloudFront checks a shared secret (secret + message) (blocks anything not coming through the front door) 3. the MCP checks the seal + timestamp (forged or replayed → rejected, before anything else) 4. is this key still active? which doors? (revoked → rejected; wrong boundary → tool hidden) 5. do the one allowed thing (read doctrine OR publish a report)

Notice the order: the seal and the key are checked before the platform does any work. A bad request never reaches the part that reads or writes data.

What could go wrong — and why it's contained

WorryWhy it's contained
"Someone steals the key file."Rotate or revoke it in the Console — the stolen copy dies immediately. And the key only ever had the narrow doors you granted.
"Someone copies a request and replays it."Every request expires in ~5 minutes and carries a one-time number; a replay is rejected.
"A read-only agent tries to publish."The publish tool isn't even visible to a grounding-only key. The boundary is enforced server-side, not by trust.
"Someone hits the platform directly, bypassing the front door."The request lacks CloudFront's shared secret and is refused (403).

The bottom line

The worst case for a leaked Console MCP key is "an attacker could read published doctrine or file a report into one cartridge, for a few minutes, until you click revoke." It can't touch your code, your login, or any other cartridge.
The engineering detail lives in Step 6.v — Console MCP and Doctrine 2.13. This page is the plain-language version.