Your context is your life data. It can't live primarily on someone else's server. PCF storage is local-first, encrypted with keys only you hold, and optionally syncable across your devices.
The vault is functional without any network connection. Sync is additive, not required. Your context works offline, forever.
All context is encrypted at rest using keys derived from your credentials. Even if someone gets the file, they can't read it without your keys.
You provide a password (or passphrase, or biometric)
Password-based key derivation with high memory cost
256-bit key used to derive per-record keys
Master Key (derived from password)
├── Content Key (encrypts entity data)
├── Index Key (encrypts search indices)
└── Sync Key (encrypts sync bundles) Helaix never has access to your encryption keys. If you lose your password and recovery phrase, your data is permanently inaccessible. This is a feature, not a limitation.
Optional sync between devices. All sync traffic is encrypted end-to-end — the sync server only sees opaque blobs it cannot read.
PCF uses CRDTs (Conflict-free Replicated Data Types) to handle concurrent edits across devices without conflicts.
LWW-Register Last-writer-wins for simple fields (title, description)
G-Set Grow-only set for entities (entities can be added, tombstoned)
OR-Set Observed-remove set for relations (add + remove without conflicts)
Vector Clock Causality tracking for ordering operations
Selective disclosure is core to PCF. You decide what each AI tool sees, at what granularity, for what purpose.
When an AI tool requests context, you generate a scoped token that specifies exactly what it can access.
AccessToken {
id: uuid
created: timestamp
expires: timestamp
// What can be accessed
entity_types: ["Goal", "Project", "Task"]
domains: ["work", "learning"]
time_range: [last_30_days, now]
// Access level
granularity: "summary" | "detail" | "full"
can_write: false
// Purpose tracking
purpose: "coding_assistant"
tool_id: "claude_code"
} Every access is logged. You can see exactly what was shared with whom and when.
AccessLog {
timestamp: "2026-01-16T14:30:00Z"
token_id: "tok_abc123"
tool_id: "claude_code"
operation: "read"
entities_accessed: 12
query: "active projects in work domain"
} Audit logs are stored locally, encrypted, and never shared. They're for your visibility into what AI tools accessed.
Recommended stack for building a PCF-compliant implementation.
You've covered the PCF specification — the ontology, schema, and storage architecture. Now you can implement a compliant personal context vault.