The Custodia Gateway

Your AI can run your compliance. Custodia makes it count.

Connect Claude, a coding agent, or your CI pipeline to your CMMC workspace. Your agent reads your live posture, looks up the real regulations, and files evidence into a review queue where a person on your team confirms every item. Agents do the work. Evidence and humans make it count.

Connect in three steps

  1. 1. Mint a key. In your workspace, open Settings, API keys. Choose read only, or read plus evidence if your agent should submit files. The key is shown once. Treat it like a password and revoke it anytime.
  2. 2. Point your agent at the gateway. For Claude Code and other MCP clients, drop this in your .mcp.json:
    {
      "mcpServers": {
        "custodia": {
          "url": "https://bidfedcmmc.com/api/mcp",
          "headers": {
            "Authorization": "Bearer cstd_YOUR_KEY_HERE"
          }
        }
      }
    }
  3. 3. Ask. Try “What is my SPRS score and what evidence is missing?” or “Submit this screenshot for AC.L1-3.1.1.” Your agent answers from your live workspace, and anything it submits waits for your team's approval.

The six tools

ToolScopeWhat it does
get_compliance_statusreadYour live posture: Level 1 requirement counts and cycle state, plus your SPRS score and findings when Level 2 is active.
get_gapsreadWhat stands between you and ready: the Level 1 punch list and any Level 2 requirements not yet met.
get_next_actionsreadThe single highest leverage next step in your program, so your agent always knows what to do next.
get_scopereadYour assessment scope: systems, people, and facilities by category, and the boundary state.
query_regulationnone (public)Authoritative regulation text: FAR 52.204-21, NIST 800-171, 32 CFR 170, DFARS. No key required.
submit_evidenceread+evidenceUpload a screenshot, PDF, or document for a control. It is encrypted, reviewed by AI, and staged for a person on your team to accept. Nothing counts until they do.

Prefer plain HTTP? Evidence submission has a REST twin your scripts and CI can call directly:

curl -X POST https://bidfedcmmc.com/api/gateway/evidence \
  -H "Authorization: Bearer cstd_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "control_id": "AC.L1-3.1.1",
    "filename": "mfa-policy.png",
    "mime_type": "image/png",
    "content_base64": "<base64 bytes>",
    "note": "MFA enforcement screenshot from our M365 admin center"
  }'

The trust model, in plain terms

  • Nothing is ever auto approved. Agent submissions are encrypted, pre reviewed by AI, and staged. A person on your team accepts or returns every item. Only an accepted item can count toward a control.
  • Attestation has no API. Signing your affirmation, filing SPRS, and deleting evidence are human only actions in the app. No key scope unlocks them, and no such scope exists to grant.
  • Every call is on the record. Key creation, every use, and revocation are written to your audit log. Keys are stored as hashes, rate limited, and revocable the moment you say so.
  • Your files stay yours. Evidence is encrypted with your workspace's own key before it touches storage, the same envelope encryption every upload gets.

Coming next

The custodia CLI

One npm package for your pipelines: custodia status, custodia gaps, and custodia evidence submit so every deploy drops fresh, staged evidence into your review queue. Same keys, same rules.