TableCore

Safe mode

Safe mode keeps a restorable copy of every document TableCore overwrites, so a wrong edit can be undone. It is free on every plan.

It is not a backup

Safe mode keeps the previous version of the documents this application wrote, and nothing else in the collection. If you need a copy of a whole collection before a risky change, take a backup as well.

What it does

TableCore writes edited documents straight through to MongoDB. Without Safe mode, the previous version of an edited document is gone the moment the save succeeds. With Safe mode on, every document the application is about to write is first read back and written to disk:

  • an edited document — the version as it was before the write;
  • a deleted document — the whole document;
  • a document you created — only its _id, because undoing an insert is a delete.

If the copy cannot be made, the save does not happen. Safe mode that quietly degraded would be worse than no Safe mode: you turned it on and stopped taking your own precautions. TableCore reports the failure and leaves switching it off to you.

Turning it on

Settings → Safe mode → Record what this application overwrites.

It applies immediately, and it opens a window of 72 hours. The window is stored as a moment in time and checked against the clock on every write, so a session left open across the expiry stops at the right moment rather than at the next restart. The settings section shows when it ends and offers to extend it.

The window exists because of what Safe mode costs: every document is read back before it is written, which is one extra round trip per document. That is cheap for a handful of cells and not cheap for a bulk edit across a large collection, so Safe mode is something you turn on for the afternoon you are editing production, not something to leave on forever.

Where the copies go

Alongside your backups — in a safe-mode directory beside the backup directory, so pointing backups at another disk takes the copies with them. One directory per run of the application, named by its UTC start:

safe-mode/2026-08-16T142530Z/safe-mode.json     what happened, one line per document
safe-mode/2026-08-16T142530Z/<database>/<collection>.bson

That is the layout mongodump produces, which means three things: TableCore's own restore can read it, mongorestore can read it without TableCore at all, and there is no new file format to learn.

The manifest names the connection profile, never its connection string. No credentials are written there.

Getting a document back

Right-click the connection → Safe mode recovery. The browser has three columns — which run of the application, which collection, which document — and tells you what a restore would change before it changes anything:

Restoring this collection would put back 4 documents, remove 1 the application created, and skip 0 it no longer has a copy of.

Restore one document, or the whole collection. Restoring is a write like any other, so it is refused on a connection you marked read-only.

Retention and the size ceiling

Sessions are kept until you delete them. Nothing runs on a timer: this data exists precisely for the case where somebody comes back to it a week later. The recovery browser has a Delete this session action for when you are done.

Safe mode stops when the copies reach the size you set for it (512 MB by default) and says so. It does not delete the oldest session to make room — that would delete exactly the copy the person coming back a week later needs.

Not available in the demo

The browser demo does not offer Safe mode. Its database is created for your session and destroyed with it, and the copies would be written to somebody else's disk.