Introduction
Backups, restore to any second, a weekly restore test and monitoring for the databases on your own servers.
Rowsafe protects the databases you already run, on your own servers or in Docker. You keep your database where it is.
- Backs up every change, encrypted on your server, to your own bucket.
- Restores to any second, in one click.
- Proves every week that your backups restore.
- Watches your database and fixes problems with one click.
Start here
1. Quickstart
Protect your first database with one command. About 10 minutes.
2. What Rowsafe does for you
What runs by itself, and what you do on a bad day.
3. Your first restore
Delete rows on purpose, then get them back.
4. Glossary
Every word on these pages, in plain words.
What you get
Rewind
Restore to any second or to a Mark. Bring back deleted rows, or rewind the whole database.
Proof
Every week, Rowsafe restores a copy of your database and checks it.
Pulse
A health score, one-click fixes, a weekly email, and alerts to email, Slack, Teams, PagerDuty and more.
Guard
A safety net for AI coding agents: a Mark before every risky change.
How it works
You: dashboard, CLI, AI agents
│ HTTPS
▼
┌─────────────────────────┐
│ Rowsafe service │
│ schedules, alerts │
└─────────────────────────┘
▲ HTTPS, outbound only
┌─────────────────────────┐
│ Your server │
│ agent ──▶ your database │
└─────────────────────────┘
│ encrypted backups
▼
Your bucket (or Rowsafe Storage)- A small open-source agent runs next to your database. It only makes outbound requests.
- It encrypts backups on your server and sends them to your bucket (or Rowsafe Storage). Rowsafe never sees your data, keys or passphrase.
- The Rowsafe service schedules the work, keeps the history and alerts you.
More: How Rowsafe works.
Supported databases
| Database | Versions | Restore to | Guide |
|---|---|---|---|
| PostgreSQL | 13 to 18 | Any second | Quickstart, Docker |
| MySQL | 8.0, 8.4 | Any second | MySQL and MariaDB |
| MariaDB | 10.6, 10.11, 11.4 | Any second | MySQL and MariaDB |
| MongoDB | 6.0, 7.0, 8.0 (replica sets) | Any second | MongoDB |
| ClickHouse | 24.8 and newer (single server) | Any second | ClickHouse |
| Redis, Valkey | Redis 7.0+, Valkey 7.2+ (standalone) | Any second | Redis and Valkey |
| SQLite | 3 | Any second (WAL mode) | SQLite |
| OpenSearch | 2, 3 (one node, not Docker yet) | Snapshot every 5 min | OpenSearch |
| Qdrant | 1.13 and newer (one node) | Snapshot every 15 min | Qdrant |
| Meilisearch | 1.12 and newer (not Docker yet) | Snapshot every 15 min | Meilisearch |
Runs on Debian 12/13 and Ubuntu 22.04/24.04, and in Docker. Each guide lists that database's limits. The short version:
- PostgreSQL, MySQL, MariaDB, MongoDB, ClickHouse: every feature. MongoDB skips pooling (its drivers pool).
- Redis and Valkey: no pooling or migration previews. Not Redis Cluster or Sentinel.
- SQLite: no server, so no restart, standby, pooling, server updates, logs or tuning.
- Search engines: snapshots, Marks, Proof, Rewind and Pulse. No standby, pooling, tuning or logs.
Safety first
- Never restarts your database on its own. A restart waits for your click. (Rowsafe Cloud servers also use a maintenance window you control.)
- Shows what will change, in plain words, before anything changes.
- Proof is isolated. The weekly restore test runs on a scratch copy and can't touch production.
- Your secrets stay on your server. Backups are encrypted before they leave it.
- Signed releases. The agent only runs releases signed by Rowsafe and rolls back a bad update.
Every feature
Rewind: get data back
- Restore a database: any second or a Mark. Bring back rows, or rewind it all, with undo.
- Back up files: uploads and other folders, restored to the same moment.
- Find the moment: the exact second rows were deleted.
- Marks: name a moment before a risky change.
- Backups and recovery: what's kept and how far back you can go.
Proof: know your backups restore
- Proof: a weekly restore test on a scratch copy.
- Protection status: could this database be restored right now?
Pulse: health and speed
- Monitoring and alerts: health score, Apply fix, alerts, slow queries.
- Security check: who can reach your database, fixed in one click.
- Logs: your database's log, with values removed on your server.
- Tuning: settings sized for your server, in one click.
- Recommendations: what will bite later, and indexes tested on a copy.
- Ask Rowsafe: ask about your databases in plain words.
Guard: AI agents and deploys
- Guard for AI agents: a Mark before risky changes.
- How AI agents act: as the person who connected them.
- Connect AI apps: Claude, ChatGPT, Cursor, VS Code, Codex, Windsurf.
- A Mark before every deploy: one step in your CI.
- Preview a migration: run it on a fresh copy first.
- Safe copies: a masked copy for developers and AI agents.
Run your database
- Updates and upgrades: minor updates in one click, major upgrades after a rehearsal.
- Standby and failover: a second server in sync.
- Fork a database: a new copy from any second.
- Connection pooling: PgBouncer, ProxySQL or chproxy.
- Move to a new server: about a minute of downtime.
- Databases and users: passwords only you see.
- Permissions: what Rowsafe may do on each server, set by root.
- Teams and API keys: roles, keys and the audit log.
- Agent updates: signed updates, and how to uninstall.
Set up
- Backup storage: Cloudflare R2, Backblaze B2, Amazon S3 or any S3-compatible bucket.
- Rowsafe Storage: a bucket run by Rowsafe.
- A second copy: your backups at a second provider.
- Adopt a production database: the careful setup for a server that matters.
- Create a server for me: in your own cloud account.
- Rowsafe Cloud: no cloud account? A server in ours.
- Move in: from RDS, Supabase, Neon, Atlas and others.
- Plans and limits: every plan has every feature.
How it works underneath
- How Rowsafe works
- Hosts and agents
- How backups work for PostgreSQL, MySQL and MariaDB, Redis and Valkey, SQLite
- Security model