Skip to main content

RFC-006: Trust Exchange

FieldValue
RFC006
TitleTrust Exchange
StatusProposed
Depends onRFC-001, RFC-004, RFC-010, RFC-012
Updates,

Abstract​

This document specifies how independent PTI implementations exchange portable trust packages: signed report manifests, selective event exports, and federation trust anchors. Trust Exchange enables multi-operator ecosystems without centralizing all data in one vendor.

Motivation​

National-scale trust infrastructure may require multiple accredited operators, government registries, sectoral bureaus, regional edge nodes. A normative exchange protocol prevents proprietary lock-in and supports verifiable cross-network lookups.

Background​

Exchange differs from ordinary lookup: the originating operator attests outcomes; the receiving operator verifies signatures and maps foreign PTI-IDs via federation registry. Raw event bulk transfer is discouraged; packaged evidence transfer is the default.

Terminology​

TermDefinition
Trust packageSigned bundle of report manifest and optional evidence attachments
Federation anchorAccredited operator public key and policy endpoint
Foreign PTI-IDSubject identifier namespaced to originating operator
Exchange profileNamed ruleset for package contents and verification steps
Bilateral agreementLegal and technical contract between two operators

Specification​

1. Exchange principles​

  1. Packages MUST be signed by originating operator keys registered in federation registry.
  2. Receiving operators MUST verify signature before presenting data to consumers.
  3. Raw cross-operator event replication MUST NOT occur without explicit bilateral agreement and subject consent.
  4. Exchange MUST preserve context_id semantics per RFC-002 without renaming.

2. Trust package format​

A trust package MUST contain:

{
"package_version": "pti.exchange.v1",
"origin_operator_id": "op_rsa_registry",
"foreign_pti_id": "pti_k9m2@op_rsa_registry",
"report_manifest": { },
"trust_evidence": { },
"signature": {
"alg": "EdDSA",
"kid": "op_rsa_registry_2026",
"value": "…"
}
}
  • report_manifest MUST conform to RFC-012.
  • Attachments MAY include redacted event summaries, not full producer payloads, unless exchange_profile: full_evidence is agreed.

3. Federation registry​

Operators MUST publish:

EndpointContent
/.well-known/pti-federationOperator metadata, supported profiles
/federation/keysJWKS or equivalent for signature verification
/federation/policiesContext entitlements accepted for inbound packages

Receiving operators MUST cache keys with TTL ≤ 24 hours and support key rotation overlap.

4. Identity mapping​

  • Foreign PTI-IDs MUST use format pti_{local}@{operator_id}.
  • Receiving operators SHOULD map to local surrogate IDs for internal graph without merging graphs globally.
  • Identity resolution across operators MUST follow RFC-011 confidence thresholds; auto-merge MUST NOT occur below configured threshold.

5. Exchange profiles​

ProfileContentsUse case
manifest_onlySigned manifest + scoresLow-latency cross-check
evidence_summaryManifest + driver/event refsInstitutional audit
full_evidenceRedacted payloads + manifestsGovernment accredited exchange

Profiles MUST be declared in bilateral agreements.

6. Consumer presentation​

When a lookup spans federated sources:

  • Response MUST label each context slice with origin_operator_id.
  • Consumers MUST see verification status per package (verified, failed, stale).
  • Failed verification MUST exclude package data from decision fields (fail closed).

7. Revocation​

  • Originating operators MUST support package revocation list (PRL) with manifest_id and revoked_at.
  • Receiving operators MUST poll PRL at least every 6 hours for government profile.

Security Considerations​

  • Operator private keys MUST be stored in HSM for government profile.
  • Package replay MUST be prevented via generated_at freshness checks (max age configurable, default 30 days).
  • Man-in-the-middle MUST be mitigated via mTLS between operator exchange gateways.

Privacy Considerations​

  • Cross-border exchange MUST document legal basis and adequacy mechanism.
  • Subjects MUST be notified of federated sharing where required by applicable law.
  • Minimum necessary fields per exchange profile MUST be enforced at package build time.

Examples​

Cross-operator merchant verification​

  1. Operator A generates manifest_only package for merchant context.
  2. Operator B verifies signature against A's federation keys.
  3. Operator B serves combined lookup to consumer with origin_operator_id: op_a attribution.

Revoked package​

{
"manifest_id": "evm_22bd",
"revoked_at": "2026-07-10T12:00:00Z",
"reason": "subject_deletion"
}

Implementation Notes​

  • Implement verification as stateless microservice for horizontal scale.
  • Log exchange latency separately from local lookup SLA.
  • Start with manifest_only profile before negotiating full_evidence.

Future Work​

  • Multilateral federation governance framework
  • Standard dispute resolution when signatures disagree
  • Real-time package push via webhooks versus pull