Description
Identity data should not become a tradeable asset — that is this proposal's stance. The operator answers a boolean and keeps custody of the underlying fact; an aggregator carrying the query meters and bills but never reads identifiers, predicates, or answers. Concretely: CarrierAttestation proposes a horizontal profile — "attested windowed disclosure" — not a new
free-standing API. A predicate answer becomes a signed, nonce-bound, expiring boolean, never the raw value. CAMARA already has the precedent: POST/retrieve-age-band (SimSwap v2.1.0) coarsens a timestamp; GET/device-phone-number (NumberVerification v2.1.0) takes no request body, deriving the line from the token; kyc-age-verification ships a boolean age
predicate. The ask is to finish what those three started, catalog-wide. CarrierAttestation is filed only for the residual no existing API covers: agent-grade floor bundles and holder presentment.
Use cases
- A bank authorizes a transfer on "unswapped ≥ 90d" without a timestamp.
- An AI agent presents a floor-gated credential ("voice+data ∧ tenure ≥ 2y ∧ swapAge ≥ 90d") without the verifier learning the MSISDN.
Related to
None yet. Pull request to follow, adding the filled long template.
Supporting material
Author's own Apache 2.0 staging ground, not a CAMARA deliverable.
Repo: https://github.com/hamr0/justabit — proposal doc:
https://github.com/hamr0/justabit/blob/main/docs/product/camara-attested-windowed-disclosure.md
— PoC: https://github.com/hamr0/justabit/tree/main/poc — OpenAPI sketch:
https://github.com/hamr0/justabit/blob/main/spec/carrier-attestation.yaml
Description
Identity data should not become a tradeable asset — that is this proposal's stance. The operator answers a boolean and keeps custody of the underlying fact; an aggregator carrying the query meters and bills but never reads identifiers, predicates, or answers. Concretely: CarrierAttestation proposes a horizontal profile — "attested windowed disclosure" — not a new
free-standing API. A predicate answer becomes a signed, nonce-bound, expiring boolean, never the raw value. CAMARA already has the precedent:
POST/retrieve-age-band(SimSwap v2.1.0) coarsens a timestamp;GET/device-phone-number(NumberVerification v2.1.0) takes no request body, deriving the line from the token;kyc-age-verificationships a boolean agepredicate. The ask is to finish what those three started, catalog-wide.
CarrierAttestationis filed only for the residual no existing API covers: agent-grade floor bundles and holder presentment.Use cases
Related to
None yet. Pull request to follow, adding the filled long template.
Supporting material
Author's own Apache 2.0 staging ground, not a CAMARA deliverable.
Repo: https://github.com/hamr0/justabit — proposal doc:
https://github.com/hamr0/justabit/blob/main/docs/product/camara-attested-windowed-disclosure.md
— PoC: https://github.com/hamr0/justabit/tree/main/poc — OpenAPI sketch:
https://github.com/hamr0/justabit/blob/main/spec/carrier-attestation.yaml