Skip to main content

Evidence boundary

This register describes repository source at 8d6a13e58762aedff6b1ea5eabb6de474a257e99. It uses generated Supabase types, migration history, owning routes, service code and checked-in Cloudflare configuration. It does not query production, inspect secrets, replay migrations or verify deployed grants, provider settings, backups or data volumes. A source definition is not evidence that a store is deployed or populated. The schema census contains 655 tables and 6,932 columns. The appendices include all candidate tables, including catalogs that may contain no personal data. Every row lists all generated Row columns, its inventory family and source evidence for policy declarations. Free text, JSON, content, embeddings and indirect identifiers require review even when a column name does not mention a person. Each appendix row inherits its family’s purpose, current lifecycle and rights-path assessment below. The policy index reports declarations found in migration text, not effective privileges. Dynamic SQL, schema moves, inherited/default grants, security-definer RPCs and later policy changes need applied-schema verification in an isolated fixture. An unresolved entry is an explicit access-coverage gap, not a claim that the table is public or inaccessible. The source includes both active API routes and retained legacy implementations behind generated wrappers. Links to legacy implementations identify current behavior where the active wrapper delegates there. The inventory does not authorize changes to paused runtimes.

Database families

Unless a row states otherwise, no uniform expiry or complete subject export/erasure adapter was established in this source pass. Product CRUD and FK cascades are partial lifecycle paths. They do not prove subject discovery, physical object removal or processor erasure. private normally routes through privileged server RPCs and application authorization, while public can have direct RLS paths. The appendices preserve per-table policy evidence instead of assuming either schema grants identical access to every table.

Stores outside the generated application tables

Supabase Storage buckets

Eight bucket identifiers are evidenced by migrations. These are source definitions, not a live bucket listing. Object paths and metadata can identify subjects even when bytes are not obviously personal.

Cloudflare and asynchronous state

Processor and telemetry register

Retention, region, roles, contract and delete/export APIs below require provider-owner confirmation. No provider account was accessed. A registry entry or import does not prove the provider is enabled for a customer. Customer content must not be sent merely to test retention. The canonical legal registry and the older Web legal list differ, including Upstash, email and AI providers. That is a documentation and processor-discovery gap. Resolve it from actual first-party callers and approved contracts, without silently expanding the provider list or querying customer data.

Reproduce and maintain the inventory

Use source-only searches and generated types. Never read credential files or query production to refresh this page. The appendices describe their extraction and policy-index limits. Useful bounded searches are:
Future changes must update both the owner family’s lifecycle and the store row. The delivery plan requires isolated applied-schema RLS/grant tests before those source declarations become acceptance evidence. The following source-only Python census reproduces table and column counts without importing runtime code or accessing a database. It reads every generated table rather than selecting only likely PII column names.