Participants · packages/pod-runtime
POD CDR Data Pods
A pod is a per-customer, self-managing store for CDR data. It is created from the event stream once the ADR holds tokens, loads itself through the kit's PingAccess, runs only the programs the customer's use consents allow, and destroys itself - crypto-shredding its key - when the last arrangement ends.
What it does
- One actor per customer, mailbox serialised; encrypted sql.js store sealed with AES-256-GCM under a per-pod key, wrapped by
POD_MASTER_KEY. - Programs: token manager, loader, refresher, income aggregator, ZK prover, retention/destroyer - each gated on scopes and use consents, refusals audited.
- The circuit proves
income ≥ thresholdagainst a Poseidon commitment in 620 constraints. The setup is beacon-only and demo-only, but byte-for-byte reproducible. - The API serves outputs only, never raw CDR data. Nothing sensitive goes on
pod.events.
Ports and endpoints
| pod-runtime | 7500 |
|---|---|
| zk-verifier | 7600 |
| Redis | 6379 |
Railway
pod-runtime | pod-runtime-production.up.railway.app success |
|---|---|
zk-verifier | zk-verifier-production.up.railway.app success |
Redis | service created, no public domain success |
Components and versions
Read from packages/pod-runtime/docker-compose.yml at build time.
| Service | Image | Host ports |
|---|---|---|
redis | redis:7-alpine | 6379→6379 |
pod-runtime | (built from repo) | 7500→7500 |
zk-verifier | (built from repo) | 7600→7600 |
pod-dev-fakes | (built from repo) | 7300→7300 |
Config browser
Read-only, from files tracked in git. Keys, keystores, .sec/, real env files and anything gitignored are left out; secret-looking values are shown as «redacted». 67 files.