OpenTokenMini Get the code → Docs For agents GitHub
02-measure/storage.md · raw · GitHub

Storage

Placeholder. Where records live after the collector receives them.

  • Input: raw records from collector.py.
  • Output: queryable store for ../03-analyze/.
  • Data it touches: everything measured; this is where retention and deletion apply.

Coverage (tentative)

  • First: append-only JSONL per day, queried with DuckDB or SQLite. Zero services, enough for one team.
  • Next: Postgres for orgs that already run one.
  • Large orgs: ClickHouse, or the existing OTel backend (../04-auto-analysis/cloud-logs.md).

Pitfalls

  • Each record repeats user email and ~10 identity attributes: hash or drop on ingest if the owner asks.
  • Retention and deletion requests (GDPR) must work per user.
  • Raw records stay unmodified; derived tables are rebuilt from them, never edited in place.
  • Data residency: the store's region is the owner's choice, stated at deploy.