Data Ownership
Data ownership
Every record in Vort Social is owner-scoped. The database model is keyed by user, the query layer filters by user, and there is no cross-tenant read path in the codebase or in the migrations. Two accounts on the same plan cannot see each other even by an authenticated query.
- One Postgres database, one schema, one tenant per row — keyed on userId, indexed, and read with a where-clause scope.
- The full model catalog is documented in AGENTS.md ("Data ownership") so a reviewer can audit which fields carry per-user data.
- The review queue, the calendar, and the published-posts store are all owner-scoped — the join surface is the same as the auth surface.