Per-user Media storage quota #132

Open
opened 2026-08-06 15:40:21 +00:00 by rosa · 0 comments
Owner

Per-user Media storage quota

Deferred from #131. Media is stored as BLOBs in the single SQLite file
(ADR-0017) and orphans are tolerated (ADR-0017 / #131), so uploads only ever
grow the file. v1 ships with a per-upload size cap and the optimization step as
the only bounds — no per-user total-storage quota.

Why deferred: users are invite-only and semi-trusted (CONTEXT.md), an
Operator can delete an abusive User (cascading their Media away), and quota is
real machinery (accounting, enforcement, surfacing the limit). Disproportionate
for a small self-hosted instance in v1.

Signal to revisit: DB file size becoming an operational concern — mirroring
how ADR-0016 frames "revisit when write volume outgrows a single writer."

## Per-user Media storage quota Deferred from #131. Media is stored as BLOBs in the single SQLite file (ADR-0017) and **orphans are tolerated** (ADR-0017 / #131), so uploads only ever grow the file. v1 ships with a per-upload size cap and the optimization step as the only bounds — **no per-user total-storage quota**. **Why deferred:** users are invite-only and semi-trusted (`CONTEXT.md`), an Operator can delete an abusive User (cascading their Media away), and quota is real machinery (accounting, enforcement, surfacing the limit). Disproportionate for a small self-hosted instance in v1. **Signal to revisit:** DB file size becoming an operational concern — mirroring how ADR-0016 frames "revisit when write volume outgrows a single writer."
rosa changed title from Deferred: per-user Media storage quota to Per-user Media storage quota 2026-08-10 02:17:27 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rosa/vernier#132
No description provided.