Backup & restore
OneAnalytics runs continuous backups at the infrastructure layer (WAL-streamed Postgres, S3-replicated object storage). On top of that, every tenant can export and import portable tenant archives for migration, DR drills, or side-by-side staging.
What's backed up automatically
- Postgres: Patroni point-in-time recovery with 7-day WAL retention on Starter, 30 days on Growth, 90 days on Scale.
- Imported dataset rows: versioned S3 with cross-region replication.
- Uploaded files: CSV/Excel originals kept 1 year.
- Secrets (DB creds, cloud keys, SAML certs): envelope-encrypted with the tenant's KMS key; backed up encrypted.
You do not need to configure any of this. RPO < 5 minutes, RTO < 1 hour.
Tenant archive (manual)
A tenant archive is a single .oa-archive file (zstd-compressed tar) containing:
manifest.json— tenant metadata, version, timestamp, content hashworkspaces/<id>/metadata.json— workspaces, users, teams, rolesworkspaces/<id>/datasets/<id>/model.yaml— semantic modelsworkspaces/<id>/datasets/<id>/rows.parquet— imported rows (excluded by default; opt-in)workspaces/<id>/reports/<id>.json— reports, visuals, bookmarksworkspaces/<id>/alerts/<id>.json— alert rulesaudit/events.ndjson— audit trail (optional)signatures/<file>.sig— Ed25519 signatures per entry
Create: Settings → Backup → Create archive. Download, store offline.
Restore
- Into the same tenant: Settings → Backup → Restore → upload → pick assets to restore. Existing assets with the same ID can be overwrite or fork (new UUID).
- Into a new tenant: contact support — we'll provision a blank tenant and import for you.
Disaster recovery drill
We run a DR drill on a customer-willing subset quarterly: restore a recent archive into a dedicated recovery tenant, run a smoke test (log in, open a report, refresh a dataset), and publish the result in the trust report.
Data export (individual)
Users can export their own data (GDPR/DPDP Article 15): Settings → Privacy → Export my data emits a JSON bundle with their profile, activity, and a reference to every asset they created. Workspace admins can do this for any user in the tenant.
Erasure
GDPR/DPDP Article 17: Settings → Privacy → Erase user blanks the profile, revokes sessions, and tombstones audit events (the event row remains for legal reasons; PII is replaced with redacted-<hash>).
Encryption at rest
- Postgres: AES-256 via the host's LUKS2 volume
- S3: SSE-KMS with a per-tenant key
- Backups (WAL, tenant archives): same as source
- We never store your data in plaintext outside memory