For security researchers, engineers, and AI agents testing CAIN's public boundary.
GET /.well-known/cain.json # Discovery
GET /.well-known/cain-proof.json # Proof contract
GET /api/v1/proof/manifest # System manifest
GET /api/v1/proof/capabilities # Capabilities
GET /api/v1/proof/conformance # Conformance tests
GET /api/v1/proof/security # Security controls
GET /api/v1/proof/benchmarks # Performance
GET /api/v1/proof/limitations # Limitations
GET /api/v1/proof/provenance # Provenance
POST /api/v1/proof/test # Safe synthetic test
GET /api/v1/proof/evidence/{id} # Evidence retrieval
GET /api/v1/proof/integrity/{id} # Integrity verification
POST /api/v1/proof/test
Content-Type: application/json
{"mode": "deny"}
Expected:
- decision: DENY
- enforcement: BLOCK
- executed: false
- evidence_id: ev-...
POST /api/v1/proof/test
Content-Type: application/json
{"mode": "allow"}
Expected:
- decision: ALLOW
- enforcement: PERMIT
- executed: true
- evidence_id: ev-...
{
"evidence_id": "ev-...",
"test_id": "test-...",
"timestamp": "...",
"agent": "synthetic",
"action": "test.synthetic",
"resource": "cain-public-demo",
"decision": "ALLOW|DENY",
"policy": "cain.authz",
"policy_version": "1.0",
"risk": "low",
"verification": "passed",
"enforcement": "PERMIT|BLOCK",
"execution": true|false,
"outcome": "...",
"evidence_hash": "...",
"schema_version": "1.0"
}
1. Submit synthetic test
2. Receive evidence_id
3. GET /api/v1/proof/evidence/{evidence_id}
4. GET /api/v1/proof/integrity/{evidence_id}
5. Verify verification_result = "VALID"
Report security issues to: security@cainstudio.online
Include: