Skip to main content

Interoperability Specification

This document defines how independent PTI v1.0 implementations achieve cross-vendor interoperability.

Normative language​

The key words MUST: MUST NOT: REQUIRED: SHALL: SHALL NOT: SHOULD: SHOULD NOT: RECOMMENDED: MAY: and OPTIONAL are to be interpreted as described in RFC 2119.

Interoperability goals​

Independent implementations MUST be able to:

  • Exchange canonical trust events without proprietary field translation.
  • Resolve pti_id references through registry federation or delegated lookup.
  • Verify signed trust assertions across operator boundaries.
  • Negotiate API and schema versions without silent incompatibility.

Conformance profiles​

A profile is a named subset of PTI requirements for a deployment class.

Profile IDAudienceRequired capabilities
pti-producer/v1Trust producersEvent ingest, idempotency, context binding
pti-consumer/v1Trust consumersLookup, verification, entitlement checks
pti-registry/v1Registry operatorsIdentity directory, merge policy, catalogs
pti-federation/v1Multi-operator fabricsSigned replication, conflict rules

Implementations MUST publish a machine-readable profile document at a well-known registry endpoint.

Protocol bindings​

The abstract APIs in Reference API Specification MAY bind to:

BindingTransportFormatStatus
HTTP+JSONHTTPSapplication/jsonREQUIRED baseline
HTTP+JSON-LDHTTPSLinked data contextsOPTIONAL
Async queueAMQP, Kafka, SQSCanonical event envelopeRECOMMENDED for high volume

All bindings MUST preserve:

  • correlation_id
  • schema_version
  • context_id
  • idempotency_key

Schema negotiation​

Clients and servers MUST support version negotiation per Versioning Strategy.

  • Servers MUST reject unsupported major versions with PTI-4001.
  • Servers SHOULD accept minor version drift when backward compatible.

Event catalog interoperability​

Producers MUST map local event types to canonical event_type values registered in the shared catalog. Custom event types MAY be used within a tenant but MUST NOT be promoted to federation without catalog registration.

Canonical event types MUST include:

{
"event_type": "lending.repayment.completed",
"context_id": "lending",
"schema_version": "trust_event.v1",
"payload_schema": "https://schemas.pti.example/trust_event/lending_repayment/v1"
}

Trust assertion exchange​

Cross-operator assertion exchange MUST use signed envelopes:

FieldRequirement
assertion_idGlobally unique UUID
issuerRegistry-trusted producer URI
subject_pti_idResolved portable identifier
context_idRegistered context
issued_atISO 8601 UTC
signatureJWS or COSE per security profile

Verifiers MUST validate signature, expiration, and issuer trust chain before ingesting foreign assertions.

Registry federation​

Federated registries MUST:

  • Reconcile pti_id conflicts using published merge precedence rules.
  • Propagate subject suppression and erasure requests.
  • Maintain eventual consistency with maximum divergence window declared in SLA (default: 15 minutes).

Error interoperability​

All implementations MUST map internal failures to Reference Error Codes. Custom error namespaces MUST NOT replace standard codes for equivalent conditions.

Conformance testing​

Operators SHOULD maintain test suites covering:

  1. Golden-path event ingest and lookup
  2. Idempotent replay
  3. Version mismatch handling
  4. Authorization denial paths
  5. Federation assertion verify/reject

Third-party auditors MAY certify profile conformance; certification MUST NOT imply regulatory approval.