Repository navigation
Closed
Labels
agent-readyReady for an implementation agent.Ready for an implementation agent.area:bregBReg ownership.BReg ownership.area:caseworkRegistry Casework runtime, tooling, and clientsRegistry Casework runtime, tooling, and clientsarea:evidenceEvidence ownership.Evidence ownership.area:platformRegistryStack platform and cross-product ownership.RegistryStack platform and cross-product ownership.criticality:p2Priority/criticality P2.Priority/criticality P2.
Description
Follow-up to #1029. Nothing is in production, so this is a hard cut with no compatibility path.
registry_grant_authority gives no protection that registry_grant_source_issuer does not already give:
- ThunderID sets the source issuer from the verified
issof the exchanged assertion and overwrites any value the signer supplies (the spoof case incrates/registry-thunderid-tooling/examples/contextual-exchange.rs). It is the only grant claim the signer cannot choose. - The signer chooses the authority, so it cannot prove more than the issuer that signed it. Casework has one
task_authority.idper deployment, so authority and source issuer are always one-to-one. - Evidence requires the authority to equal the matched authority-profile identifier, so Casework's configured id must spell an Evidence profile name. A mismatch surfaces only as a generic denial.
Do this before writing the authority test items in #1030, #1032 and #1033.
-
registry-platform-oidc: remove the member fromClaimNames,GrantClaimsand the core grant member set -
registry-thunderid-tooling: remove it fromGRANT_ATTRIBUTES - Casework: stop emitting it in the task assertion;
task_authority.idstays an internal label or goes - BREG: an access profile's
taskGrantkeepssourceIssueronly; keyTaskGrantStatusRegistryby source issuer; keepsourceIssuerin audit; regenerate the runtime schema - Evidence: match an
authenticated-grantauthority profile bygrantSourceIssuer,requesterClients, purpose and requirement, all already checked intask_grant_matches(an ambiguous match is already refused). RemovegrantAuthorityfrom the selector source inauthority-context.schema.yamland from itsauthenticated_grant_rule, from the claim names inbundle.schema.yaml, and fromCONFIG.mdviacheck-config-key-paths.sh --write.bundle.schema.yamlis a frozen grammar, so align the Version 1 contracts and V1-I07 in the same change -
registry-evidence-oid4vci: remove the claim name from its configuration - Fixtures,
bregctl/caseworkctl/evidencectldev configuration, and docs that name the claim
Metadata
Metadata
Assignees
Labels
agent-readyReady for an implementation agent.Ready for an implementation agent.area:bregBReg ownership.BReg ownership.area:caseworkRegistry Casework runtime, tooling, and clientsRegistry Casework runtime, tooling, and clientsarea:evidenceEvidence ownership.Evidence ownership.area:platformRegistryStack platform and cross-product ownership.RegistryStack platform and cross-product ownership.criticality:p2Priority/criticality P2.Priority/criticality P2.
Activity
refactor(auth): bind task grants to issuer-derived source identity (#…