1. SintCapabilityToken
TheSintCapabilityToken is the primitive identity and authorization unit. An implementation MUST serialize it as JSON conforming to https://schema.sint.gg/v1/capability-token.
1.1 MUST requirements
- MUST use W3C DID Core 1.0 for
agentDID,issuerId, andhumanSponsor.sponsorDID. - MUST sign the token body with Ed25519;
proofReceipt.signatureMUST verify against the issuer’s public key. - MUST reject tokens with
tier ≥ 1andphysicalConstraints.eStopBinding == null. - MUST enforce
expiresAtstrictly; tokens past expiry MUST NOT authorize any action.
1.2 SHOULD requirements
- SHOULD include
proofReceipt.teeAttestationfor production deployments on hardware with TEE support. - SHOULD link
modelBinding.rosclaw_audit_refto an external empirical safety study when available.
2. Wire messages
2.1 SintRequest
2.2 PolicyDecision
2.3 EvidenceLedgerEvent
See conformance for the fullEventTypeEnum. Core fields:
3. DFA
An implementation MUST model every request as a deterministic finite automaton:4. Tier escalation
An implementation MUST compute effective tier as:5. CSML
An implementation MUST compute CSML as:α=0.30, β=0.25, γ=0.20, δ=0.15, ε=0.10.
CSML updates MUST emit CSML_UPDATE events to the ledger.
6. Ledger requirements
- MUST be append-only. Deletion or modification of past entries MUST be detectable.
- MUST chain each event via
prevHash = SHA-256(canonicalize_cbor(previous_event)). - MUST provide
verifyChain(from, to)that returns{ valid: bool, brokenAt?: int }. - SHOULD TEE-sign events for
tier ≥ 1. - MUST retain events per tier per the retention table in conformance.
7. API endpoints
Implementations SHOULD expose the following endpoints. URL paths MAY differ; semantics MUST match.| Method | Path | Purpose |
|---|---|---|
| GET | /.well-known/sint.json | Protocol discovery |
| GET | /v1/health | Health check |
| POST | /v1/intercept | Evaluate a single request |
| POST | /v1/intercept/batch | Evaluate multiple requests (207 Multi-Status) |
| POST | /v1/tokens | Issue capability token |
| POST | /v1/tokens/delegate | Delegate (attenuate) a token |
| POST | /v1/tokens/revoke | Revoke a token |
| GET | /v1/ledger | Query audit ledger events |
| POST | /v1/ledger/verify | Verify hash-chain integrity |
| GET | /v1/approvals/pending | List pending approval requests |
| POST | /v1/approvals/:id/resolve | Approve or deny (M-of-N quorum supported) |
| GET | /v1/approvals/events | SSE stream for real-time approval events |
| GET | /v1/metrics | Prometheus metrics |
| GET | /v1/openapi.json | OpenAPI surface |
| GET | /v1/compliance/tier-crosswalk | Tier → NIST / ISO / EU AI Act mapping |
8. Versioning
The spec follows semantic versioning. Breaking changes to schemas or endpoints increment the major version and are published toschema.sint.gg/v{N}/.
Deprecation policy:
- Deprecation MUST be announced in the changelog at least one minor version before removal.
- Deprecated endpoints MUST continue to work for at least one minor version.
- The
/v1/openapi.jsonsurface MUST document deprecated endpoints withdeprecated: true.
9. SINT Improvement Proposals (SIPs)
Changes to this specification follow a formal SIP process. Substantive changes MUST have an associated SIP. Editorial fixes MAY be made directly.10. References
Normative:- W3C DID Core 1.0
- RFC 8032 (Ed25519)
- RFC 8949 (CBOR)
- RFC 4634 (SHA-256)
- RFC 2119 (MUST/SHOULD/MAY)
- IEC PAS 62443-1-6:2025
- EU AI Act Regulation (EU) 2024/1689
- NIST AI RMF 1.0
- ISO/IEC 42001:2023