Skip to content

Profile

A Profile is a user-scoped collection of structured claims about preferences, aversions, tendencies, and context modifiers.

Minimal shape

{
  "ppx_version": "0.1",
  "profile_id": "ppx:profile:...",
  "subject_id": "did:example:user-123",
  "provider_id": "ppx:provider:...",
  "created_at": "2026-04-06T18:05:00Z",
  "updated_at": "2026-04-20T09:14:00Z"
}

Identity

A profile's subject_id is intentionally identity-independent. It MAY be a DID, a UUID, or a provider-internal opaque ID. PPX does not specify a canonical identity format; the aim is to let providers interoperate without requiring a shared identity layer.

Default policy

The profile's default_policy applies when no grant or per-claim policy overrides it:

{
  "default_policy": {
    "cross_domain_transfer": "deny",
    "inference_writeback": "review_required",
    "retention_days": 365
  }
}

What goes in a profile

  • Claims — the structured preferences (concept).
  • Context modifiers — how claims are interpreted under specific conditions (concept).
  • Consent grants — who has scoped access (concept).
  • Extensions — which namespaces the profile uses.

What does NOT go in

  • Raw memory.
  • Chat transcripts.
  • Biometric identity.
  • High-impact claims (health, employment, housing, insurance, credit) — out of scope for v0.1.

See also