Sovereign
security policy

Non-custodial by design.

The security of a Sovereign record comes from what Sovereign cannot do, not from what it promises. Keys, evidence and the relying-party domain stay under your institution; verification requires no trust in Sovereign at all.

01 / key custody

Sovereign code never sees private key material.

The approver's private key is a webauthn credential on their own device — the institution never holds it, and neither do we. The trust signature that wraps it is produced by a customer-held kms key (fips 140-3 level 3). Your domain is the webauthn relying party.

02 / data handling

Claims carry hashes, not data.

Raw evidence stays in your storage, referenced by hash, and expires on your retention schedule. The signed claim holds metadata and digests only. The public attestation (.sspa) is pii-free; the full bundle (.sspb) carries domain context and is released only after you approve the request.

03 / trust boundary

A record can never certify itself.

The trust public key is supplied to the verifier out-of-band, through a channel independent of the record. Every record is committed to three independent anchors — rfc 3161 timestamp, sigstore rekor, and a per-tenant log — and any one of them suffices. Verification runs offline, with public tooling.

04 / responsible disclosure

Found something? Tell us.

Report vulnerabilities to security@sovereign.example. We confirm receipt and keep you informed through to resolution. The protocol and reference implementation are open — independent review is welcome.