One engineering team
Developers running Cursor, Claude Code, or CI agents with MCP tools, and the security owner who will read the pack.
One team, their laptops and CI runners, and the MCP servers they use. Thirty days in observe mode: PyxGrant decides every routed call, records what it would have refused or held, and lets the call through. You leave with a signed pack a security owner can hand to their boss. Refusals and holds are not enforced. We do not publish a price.
We will not ask for a contract to start. Installing the binary, wrapping MCP configs, and moving tokens into the OS vault is still a change your security team may need to approve. Run your process. We will answer it. A written scope and a review of the build belong to phase two, if you want to enforce.
Developers running Cursor, Claude Code, or CI agents with MCP tools, and the security owner who will read the pack.
Install in the first days, observe for the rest of the month, then export the pack. Observe mode can run longer; thirty days is the window we treat as a finished first step.
The pack is produced on your machines. An auditor verifies it with your public key, without help from us. That is also the document you can hand an insurer if they ask what the agents did.
Which of the team's agents and MCP servers were found and routed, and which still run outside PyxGrant. pyxgrant processes
Every call it would have refused or held, recorded as an observe: finding, with a count of the ones that look like wrong refusals. pyxgrant stats
What the gateway adds on your hardware, at the median and the slow tail. We do not quote a number from ours. pyxgrant perf
pyxgrant report writes the findings, the coverage, and the receipts. pyxgrant audit checks the hash chain. Your public key verifies the pack without our binary in the room.
PyxGrant decides every routed call the same way it would in enforce, records what it would have refused or held, and lets the call through. Redaction can still mask secrets in what the model or the log sees. That is a change to the payload, not a refuse or a hold.
pyxgrant policy init pyxgrant selftest[UNVERIFIED], and any plaintext secrets in their configs. pyxgrant agents scan pyxgrant discoverpyxgrant wrap -config .cursor/mcp.json -vault"enforcement": "observe" in the policy. Nothing is refused or held. Each call it would have stopped is recorded as an observe: finding.pyxgrant report pyxgrant auditThe current heavier plan — written scope, a security review of the build, least-privilege policy, and the console — starts here. It is not required to begin the Evidence Pilot.
pyxgrant boundaries.pyxgrant policy learn pyxgrant replay -candidate new.jsonpyxgrant console for the security owner — including versioned configuration under /config. Enforce mode fails closed. A held call that nobody answers is refused after the approval timeout (ten minutes by default).pyxgrant reconcile names calls that went around it, if you supply the provider's audit export.pyxgrant boundaries, the product's own list of what it doesn't doTell us which agents and MCP servers the team uses. We'll reply with install steps for observe mode, not a contract.