Skip to content

A2A attestation

What is continuous, machine-readable compliance attestation?

A compliance attestation is a statement that an organization's controls for a given framework are in place and operating. Historically it arrives point-in-time and by hand, as a SOC 2 report, an ISO 27001 certificate or a filled-in questionnaire, and goes stale the day it is filed.

A continuous, machine-readable attestation replaces that document with a live endpoint. A peer service calls POST /api/v1/a2a/mcp with the method compliance/attest and a framework name. GRCFlow answers with:

  • A status of COMPLIANT, PARTIAL, NON_COMPLIANT or NOT_ASSESSED
  • Counts of controls verified, compliant and non-compliant
  • An attestation proof: SHA-256 hash, Ed25519 signature, public key, algorithm and key id
  • A 30-day validity window, recomputed from your latest completed assessment on every request

In one sentence

GRCFlow, the AI-native, self-hosted GRC platform, turns your compliance posture into a signed, machine-readable attestation that any authorized counterparty's agent can request on demand and verify cryptographically — a continuous alternative to the annual questionnaire and the point-in-time audit PDF.

How the A2A (agent-to-agent) attestation exchange works

Two self-hosted instances, four steps, and nothing in between them holding both sides' data.

The A2A attestation exchange between two self-hosted GRCFlow instances Organization A, the relying party, posts an authenticated request to /api/v1/a2a/mcp on Organization B's own instance asking it to attest a named framework. B recomputes the answer from its latest completed assessment and returns an Ed25519-signed attestation carrying a status, control counts and a proof. A verifies that signature offline. Each side keeps its own database, evidence and signing key, and no shared cloud tenant sits between them. ORGANIZATION A PEER-TO-PEER, NO CENTRAL BROKER ORGANIZATION B RELYING PARTY Org A SELF-HOSTED GRCFLOW OWN DATABASE + EVIDENCE OWN AUDIT TRAIL HOLDS NO ORG B DATA ATTESTING PARTY Org B SELF-HOSTED GRCFLOW OWN DATABASE + EVIDENCE OWN AUDIT TRAIL OWN Ed25519 SIGNING KEY POST /api/v1/a2a/mcp "method": "compliance/attest" "params": { "framework": "SOC2" } 1 3 Ed25519-signed attestation status · controls verified / compliant / non-compliant proof: SHA-256 hash + signature + public key + key id expires_at: request time + 30 days 4 VERIFY Signature checked offline NO CALLBACK TO ANY SERVER 2 COMPUTE Latest completed assessment RECOMPUTED ON DEMAND NO SHARED CLOUD TENANT Neither instance stores the other's evidence. The only thing that crosses the boundary is the signed attestation itself.
The exchange is symmetric: whichever side is asked to prove posture answers, whichever side needs assurance verifies. Both roles ship in the same build.

The exchange is symmetric: whichever side is asked to prove posture answers, whichever side needs assurance verifies. Both roles ship in the same build.

The request and the signed response

# A partner, parent company or TPRM agent asks your instance to attest SOC 2
POST /api/v1/a2a/mcp
Authorization: Bearer <service-token>

{ "jsonrpc": "2.0", "method": "compliance/attest", "params": { "framework": "SOC2" }, "id": "1" }
{
  "attestation_id": "att_…",
  "framework": "SOC2",
  "status": "COMPLIANT",
  "controls_total": 12, "controls_compliant": 12, "controls_non_compliant": 0,
  "expires_at": "…+30 days",
  "attestation": {
    "hash": "<sha256>",
    "signature": "<ed25519-hex>",
    "public_key": "<ed25519-pub>",
    "algorithm": "Ed25519",
    "key_id": "…"
  }
}

Properties of the exchange

  • Never anonymous. Token-authenticated with no anonymous fallback, rate-limited per service and per organization, and replay-protected with a per-request nonce.
  • Recomputed, not cached. Each call reads your latest completed assessment, kept current by continuous controls monitoring, and stamps a fresh 30-day validity window.
  • Every request logged. Issuances, denials, auth failures and replay attempts are all recorded, and can be fanned out to your SIEM.

The human-readable counterpart to this machine endpoint is the Trust Center.