Import, export and backups

Your data is yours and it leaves in a readable shape. There are four mechanisms: a manual export, an import, a check that proves an export restores, and scheduled backups to a git repository or a storage bucket you own. The Your data section of the Data page shows the state of all of them, and everything that can leave the server.

Export

The Data page has two downloads:

Both are plain JSON, CSV and files, documented field by field in The export format. Nothing is locked in a proprietary container: the CSVs open in any spreadsheet app, with each relation shown as the linked records’ names beside their ids, and each file column giving the file’s path inside the zip.

Checking an export

Data → Check an export takes a zip and tells you whether it would restore, without restoring it: Simplist runs the real import and then undoes it, so nothing in your workspace changes. A good export reports what it holds (models, fields, records, links and files); a damaged one reports why the import would stop. Do this occasionally with a recent export, so the day you need a backup is not the day you learn it was broken.

Import

Importing a workspace zip on the Data page restores its models, fields, documents, relations and files.

What happens depends on the zip:

Imports count against your plan’s limits like anything else you create.

Scheduled backups to GitHub

If your Simplist instance has the GitHub integration configured, the Backups page can commit your workspaces to a repository you control on a recurring schedule — hourly, daily or weekly.

Connecting GitHub is a one-time, account-level action. After that, each workspace picks its own destinations independently, and a workspace can have more than one — a private archive and a public mirror, say.

Each run is a single commit writing one JSON file per item:

<chosen-dir>/
  user.json
  models/{model_id}.json                 # model + its fields
  documents/{model_id}/{doc_id}.json     # values, relations, file references
  files/{file_id}-{filename}             # the file bytes

One file per item is deliberate: a corrupted byte costs you that one item, not the archive. And because the destination is a git repository, the repo’s own history is your backup history.

A few things that follow from the design:

If the repository you want is missing from the dropdown, use Manage repository access on GitHub to grant access to it, then reload.

Note that the backup layout and the export zip are not the same shape: the zip is one monolithic file, the backup is a directory tree.

Scheduled backups to a bucket you own

The Backups page can also write each workspace to an S3-compatible storage bucket of your own: AWS S3, Cloudflare R2, Backblaze B2, Wasabi and similar. Choose Add bucket destination, then give:

The bucket gets the same layout as a GitHub backup. Each run writes what changed and removes what you deleted, touching only user.json, models/, documents/ and files/ under your folder, so anything else you keep in the bucket is left alone. Runs are logged on the Backups page, and repeated failures email you, as for GitHub.

Deleting your account

Account deletion is available from your account settings and removes your data. Export first if you want a copy.