Doctrine signatures
The ACF® doctrine served by acf-mcp is Ed25519-signed, and every reasoning tool output carries the hash and signature of the doctrine that produced it. Verify offline, with the ACF® public key, that this doctrine is the one that was published.
Anatomy of a signed output
Every reasoning tool output ends with six traceability fields. The signature is taken over the doctrine content hash, not over the output itself: it proves which doctrine the reasoning relied on, not that the output was left unchanged afterwards.
{
"doctrine_version": "ACF framework v1.0 / rules 2026-06",
"doctrine_hash": "sha256:119819463363cde0649504ab8ed5a96982fdb8506441f2c5e76e7e3c3feb77f1",
"doctrine_signature": "ed25519:3R0oIiqL3KgdVAemSy4oEprbUZnRWE4OEQQgD+2JnMzKhAL2xrmYjwrwbpkbew0T5B4YKvEYkycWFQ+paADFCQ==",
"doctrine_archive_url": "https://acfstandard.io/archive/doctrine/v1.0/doctrine-v1.0.json",
"regulatory_snapshot": "EU AI Act (Reg. 2024/1689, incl. Digital Omnibus deferral) + GDPR (Reg. 2016/679) + DORA (Reg. 2022/2554) + NIS2 (Dir. 2022/2555) + ISO 42001:2023: as of 2026-06-07",
"generated_at": "2026-11-01T12:06:31.043Z"
}The two properties
1. Ed25519
The signature is Ed25519 (RFC 8032), elliptic-curve on Curve25519. Chosen for: (1) no suspect parameters (no NIST-suspected curves), (2) deterministic and constant-time verification, (3) compact sizes (32 bytes public key, 64 bytes signature). The ACF® public key ships in base64 SPKI encoding.
2. SHA-256 doctrine hash
The hash (doctrine_hash) is a SHA-256 computed over all the doctrine content files. If a single card, guide or rule changes, the hash changes and the signature no longer verifies: any alteration of the corpus becomes detectable.
The current public key
The doctrine public key for acf-mcp ≥ 1.1.0, unchanged in 2.0:
MCowBQYDK2VwAyEAojtKfh20SGGV63LMETjZBXRWo2tY0viAYziG/y3/L0s=See the full history (root rotations, prior versions).
Why this matters
A governance recommendation is only worth something if you know which framework it relies on. The signature lets an auditor check, without depending on you, that the reasoning produced by acf-mcp rests on the published ACF® doctrine and not on a modified version. Signing the decisions themselves, in the organisation’s register (ACF-09), is the job of ACF Compliance, not of the MCP server.