Snapshot, consolidate, extract — and watch over your Google Sheets data, on autopilot. Free, open source, runs entirely inside your Google account.
Shared Google Sheets get used as databases — but they don't behave like databases. Anyone with access can edit, overwrite, or delete, and yesterday's data is simply gone. Consolidating them means fragile IMPORTRANGE chains or paid connectors. And when a client asks "what did that sheet say on June 30th?", there is no answer.
Sheet Vault treats your sheets like data sources, not documents. Every run freezes each configured source into an immutable, timestamped archive on your Drive — then rebuilds one clean, unified dataset from those snapshots.
List every sheet in the SOURCES tab: URL, tab, range, mode. Columns are matched by header name — never by position — so schema drift gets caught, not silently imported.
Each run creates a new folder on Drive with one CSV per source and a manifest. Files are never updated in place. A failing source is logged and skipped — never fatal.
The DATA tab is rebuilt from snapshots on every run: types normalized (numbers, dates, mixed locales), provenance columns included, zero deduplication debt by design.
Operational files derived from your data: chosen columns, optional filter, one file per group. The "_latest" folder keeps them at a stable link — schedule a run and the CSVs update themselves.
Load any sheet as it was at any past run, diff two runs row by row, and get an email when a run errors or a source suddenly loses rows.
Create a new Google Sheet — this becomes your Vault workbook.
Copy the script with the button below, then open Extensions → Apps Script, paste, and save.
Reload the sheet, then run 🗄 Sheet Vault → Set up workbook and authorize the script. Google will show its standard "unverified app" warning — normal for every personal Apps Script; the guide walks you through it. All tabs are created for you, including a built-in GUIDE.
Configure SOURCES (and MAPPING for consolidated sources), run Validate configuration, then Run snapshot & consolidate.
First time with Apps Script? The full step-by-step guide assumes zero experience — including exactly what Google's authorization screens look like and why they appear.
The script runs as you, inside your own Google account: it can only read sheets you can already open, it never writes to your source sheets, and it makes no external calls — no servers, no third-party services, no analytics. Snapshots go to your Drive, the log stays in your workbook, and every line of Code.gs is there to be read.
Everything — consolidation, extracts, history, diff, alerts — derives from the immutable snapshot archive. That's the whole design: one primitive done rigorously, and every feature is a view over it.
The complete system. Snapshot, Consolidate, Extract, History & Diff, Sentinel email alerts — with a full audit log and a built-in guide.
Richer Sentinel rules and row filters on ingestion. See the README for the declared roadmap.