Close the remaining PDP obligations: mechanical layer declaration check, registry-snapshot digest in provenance, explicit allow TTL, per-input-class freshness deadlines, and the published decision-record contract. Document the canonical request digest as the §6.4.2 replay test. Assistant: grok Assistant-Session: 01a06256-fb71-7102-b3a9-27e6734257d0
110 lines
2.7 KiB
JSON
110 lines
2.7 KiB
JSON
{
|
|
"schema_version": "0.1",
|
|
"id": "8bfc20be-47a4-4fb0-97a2-bf0a920afad8",
|
|
"status": "approved",
|
|
"request": {
|
|
"id": "check:secrets-engine-destroy-example",
|
|
"subject": {
|
|
"id": "user:alice",
|
|
"type": "Human"
|
|
},
|
|
"action": "destroy",
|
|
"resource": {
|
|
"id": "catalog:example-build-test-token",
|
|
"type": "secret-catalog-lane",
|
|
"system": "secrets-engine",
|
|
"attributes": {
|
|
"stage": "build",
|
|
"fields": ["token"],
|
|
"policy_targets": [],
|
|
"auth_targets": []
|
|
}
|
|
},
|
|
"context": {
|
|
"purpose": "contract-test"
|
|
}
|
|
},
|
|
"validity": {
|
|
"not_before": "2026-08-23T10:00:00Z",
|
|
"expires_at": "2026-08-23T10:15:00Z"
|
|
},
|
|
"approvals": {
|
|
"required_count": 2,
|
|
"entries": [
|
|
{
|
|
"subject_id": "user:alice",
|
|
"approved_at": "2026-08-23T10:01:00Z",
|
|
"assurance": "mfa",
|
|
"evidence_ref": "approval:alice"
|
|
},
|
|
{
|
|
"subject_id": "user:bob",
|
|
"approved_at": "2026-08-23T10:02:00Z",
|
|
"assurance": "mfa",
|
|
"evidence_ref": "approval:bob"
|
|
}
|
|
]
|
|
},
|
|
"decision": {
|
|
"id": "decision:contract-example",
|
|
"contract_version": "flex-auth.decision-record.v1",
|
|
"request_id": "check:secrets-engine-destroy-example",
|
|
"effect": "allow",
|
|
"reason": "destruction_approved",
|
|
"matched_policy_version": "v1",
|
|
"matched_rule": "allow_destroy",
|
|
"resource": {
|
|
"id": "catalog:example-build-test-token",
|
|
"type": "secret-catalog-lane",
|
|
"system": "secrets-engine",
|
|
"attributes": {
|
|
"stage": "build",
|
|
"fields": ["token"],
|
|
"policy_targets": [],
|
|
"auth_targets": []
|
|
}
|
|
},
|
|
"subject": {
|
|
"id": "user:alice",
|
|
"type": "Human"
|
|
},
|
|
"binding": {
|
|
"subject": {
|
|
"id": "user:alice",
|
|
"type": "Human"
|
|
},
|
|
"action": "destroy",
|
|
"resource": {
|
|
"id": "catalog:example-build-test-token",
|
|
"type": "secret-catalog-lane",
|
|
"system": "secrets-engine",
|
|
"attributes": {
|
|
"stage": "build",
|
|
"fields": ["token"],
|
|
"policy_targets": [],
|
|
"auth_targets": []
|
|
}
|
|
},
|
|
"context": {
|
|
"purpose": "contract-test"
|
|
},
|
|
"request_digest": "sha256:eb9d856a060813aebe039f19b82d4be1c4589fa6c0429cf20e15fb115db3ef9a"
|
|
},
|
|
"lifetime": {
|
|
"kind": "ttl",
|
|
"ttl": "15m",
|
|
"not_before": "2026-08-23T10:00:30Z",
|
|
"expires_at": "2026-08-23T10:15:30Z"
|
|
},
|
|
"provenance": {
|
|
"evaluator": "flex-auth/local",
|
|
"mode": "standalone",
|
|
"policy_package": "secrets-engine.lifecycle",
|
|
"policy_version": "v1",
|
|
"decision_time": "2026-08-23T10:00:30Z"
|
|
}
|
|
},
|
|
"provenance": {
|
|
"authority": "state-hub"
|
|
}
|
|
}
|