System

Backup & restore

Download a portable copy of your portfolio. JSON for rows only, ZIP if you also want every uploaded file.

What it is

JSON is a single file containing every owner-scoped row across properties, tenants, tenancies, rent payments, compliance items, maintenance tasks, expenses, contacts, activities, integrations (config only — no tokens), scenarios, tracker items, photos and document metadata.

ZIP with files adds the actual file bytes from every storage bucket — uploaded invoices, AST PDFs, certificates, property photos and 3D captures. Encrypted files are decrypted on the way in so the ZIP is portable.

ZIP files are capped at ~400 MB per backup to fit within Azure SWA limits. If your portfolio is larger, take a JSON-only backup plus per-property file exports.

Why it matters

Supabase has point-in-time recovery on the database tier, but you may want your own portable copy for due-diligence, before destructive operations, or to satisfy GDPR Article 20 (right to data portability).

What to do

Pick the right button below. Monthly cadence is a good default, plus before any large-scale tenant or property change and before tax-year filings.

Download a backup

Generates the file in your browser. Nothing is uploaded anywhere.

Sync feature roadmap statuses

Flips tracker rows to the latest shipped status. Safe to re-run — only updates, never deletes.

Database migrations bundled in this build

SQL files in infrastructure/database/migrations/ that should be applied to your Supabase project. Apply via Supabase Studio → SQL Editor.

Loading migration manifest…

0 applied · 0 pending · 0 total. Status probed by checking for each migration's tell-tale column or table.

Restore from backup

Upload a JSON backup downloaded above. Rows are matched by id and overwritten if they already exist (a safe re-import). Integrations must be reconnected afterwards, and uploaded file binaries aren't part of a JSON backup — only their records.