Console, workspace, and catalog¶
Public UI: https://pfc.georgelambert.org (Caddy to 127.0.0.1:18780).
Two identity planes¶
Peergos Drive – password plus TOTP/WebAuthn for cryptree. Google does not unwrap cubes.
PFC console – password plus TOTP (Google OIDC optional). Inspect remains k-of-n officer shares.
Workspace¶
Each console user gets a primary DataCube <username>-ws (profile internal,
kind workspace). Other cubes are catalogued inside it like a library.
Creating an internal cube requires Client, Author, Subject, Title. Those fields append to:
cubes/<id>/catalog/card.jsonthe workspace catalog JSONL
the cube chain and the workspace chain
Drag and drop¶
Desktop files onto the drop zone or a cube row: prompt with that cube’s catalog defaults. SHA-256 is hashed in the browser first.
An object chip from another cube: keep this cube’s catalog defaults, or edit for this item only. The original SHA-256 and timestamp receipt are never rewritten.
Copy into another cube appends a copy row (original created_ts, source
cube/seq, receipt). Optional file bytes are re-wrapped on the dest cube.
HIPAA bytes still need an inspect session.
Hash registry and stamps¶
Global registry: registry/hashes.jsonl. First-seen created_ts and first
receipt win.
Every chain append (object, copy, catalog, comment, memo, link) queues
unregistered hashes (content SHA-256 and/or envelope SHA-256). A daemon thread
(PFC_STAMP_SYNC, default 15 seconds) flushes them through the NATS leaf
(verae.ts.request). Already registered document hashes are skipped.
New comments get a new envelope hash and a new timestamp.
Comments, memos, and chain links append on the local cube immediately; the leaf batch only timestamps hashes that have no receipt yet.