Skip to content

Data

Each store is the source of truth for different data.

Store Source of truth for
Workspace (a Tenki Volume, budi-<userId>, 5 GiB) The User’s career files: career-ops’ cv.md, config/profile.yml, modes/_profile.md, portals.yml, the reports, the application tracker and the Tailored CVs, plus the Claude Code setup and the browser profile.
Postgres (Railway) Users, Plans, the Intake, consents and Preferences, Runs and their cost, Listings, Evaluations and Opportunities with their status.
R2 (budi-artifacts, private) The files the web app shows: the uploaded CV, the Tailored CV PDFs and the Proof screenshots.
Data ownership: the Workspace, Postgres and R2
Figure 4. Data ownership. Only the api reads and writes Postgres and R2. Sessions work on the Workspace.

Claude Code changes the Workspace during a Run. It does not write to Postgres or R2: the api reads the Run’s result.json and files after the Run and records them.

Analytics keep only metadata: the event, the User id, the page and the result. Analytics never keep the contents of a file.

When a User closes their account, Budi stops all work for them, queued Runs never start, and their data is blocked: kept only for legal obligations, then deleted.