Skip to content

Docs

Backups and Data Ownership

What you own and where your community data lives, how to export and back it up, a restore drill, and the ownership story that no vendor can undo.

Last updated

The single biggest reason to own your community source instead of renting a seat is this - the data is yours, and no vendor is holding it hostage. But ownership only helps if you can actually get your data out and put it back. This page covers where your state lives, how to back it up, and how to prove your backup works before you need it.


What You Own and Where It Lives#

Your community's state lives in a few distinct places. A real backup plan covers all of them, because losing any one leaves you unable to fully recover.

  1. The backend holds your community data - members, posts, comments, courses, lessons, events, challenges, coaching records, points, notifications, and settings. This is the heart of it and the thing you most need to protect. It runs on your Convex Cloud account by default.
  2. Media and recording storage holds the actual files - uploaded images, course video, and live-event recordings. These are large binary files kept separate from the structured data above.
  3. Your secrets are the environment values that make the instance work - your provider keys, your Stripe keys, your session and signing secrets. These are not in the database. If you lose them you cannot authenticate or connect to your services even with a perfect data backup.

You own all three. The source runs on infrastructure you control, which is exactly what makes the export and restore steps below possible in the first place.


Backing Up the Backend Data#

Take a data snapshot on a schedule and, critically, before anything risky. Export your backend data through the tooling your backend provides and keep the export somewhere off the platform - a second cloud store or an encrypted drive you control.

  • On a schedule. Set a recurring export so a bad day never costs you more than the interval since the last one.
  • Before risky changes. Always export right before a version update, a data migration, or any bulk operation you are not fully sure about. See Updating Your Instance.
  • Off-platform. A backup that lives only inside the same account you are trying to protect is not really a backup. Copy it somewhere separate.

Backing Up Media and Recordings#

Media storage is durable, but a mistaken bulk delete is still a delete. Periodically copy your media and recording store to a second location using any standard tool that speaks to your storage provider. At minimum, do this before any bulk media operation. Recordings in particular can be large and expensive to regenerate, so treat them as first-class backup targets.


Backing Up Your Secrets#

Store every environment value in a password manager or an encrypted vault - your provider keys, your Stripe keys, and the platform's generated secrets. Losing the session-signing secret signs everyone out and invalidates issued tokens, so it deserves the same care as a database. Keep this vault current whenever you rotate a key.


A Restore Drill#

A backup you have never restored is a hope, not a backup.

Do one full restore into a throwaway environment in your first month, so you know the steps cold before a real incident forces you to learn them under pressure.

  1. Create a fresh, empty backend deployment separate from production.
  2. Load your most recent data export into it.
  3. Point a local or staging copy of the web app at that restored backend.
  4. Log in, open the feed, open a course, and confirm the data is intact.
  5. Tear the throwaway environment down.

If that drill works, you have a backup. If it does not, you found out on your terms instead of during an outage.


If You Delete Something by Mistake#

  • A single record such as one post or one member - restore just that record from a recent export rather than rolling the whole instance back.
  • A broad loss - restore your most recent export into a fresh backend, verify it, and cut over. Never restore a full backup directly over a live production backend without first taking a current export of that live data. A restore is destructive, so always give yourself a way back to the state you started from.

The Ownership Story#

This is the part hosted platforms cannot match. Your members, your courses, your recordings, and your revenue records are yours, sitting in accounts you control, exportable any time you choose. If you ever want to move hosts, hand the community to someone else, or simply keep a cold archive, nothing stands in your way and no vendor gets a vote.

That is the real meaning of buying the source once. The platform is a tool you own, not a landlord you rent from, and your data is never anyone's leverage over you.


Was this page helpful?