Sheet Vault v1.0

Snapshot, consolidate, extract — and watch over your Google Sheets data, on autopilot. Free, open source, runs entirely inside your Google account.

run_20260821_093015 · 6 sources · 4,812 rows archived · OK

The problem

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.

How it works

Layer 1 · Registry

Declare your sources

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.

Layer 2 · Snapshot

Freeze every run

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.

Layer 3 · Consolidate

One unified dataset

The DATA tab is rebuilt from snapshots on every run: types normalized (numbers, dates, mixed locales), provenance columns included, zero deduplication debt by design.

Layer 4 · Extract

Curated CSV outputs

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.

Layer 5 · History, Diff & Sentinel

Memory and vigilance

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.

SOURCES registry ──► Snapshot engine ──► Drive archive (immutable)
                                  └─────────► DATA tab (rebuilt each run)

Install in four steps — no coding required

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.

Your data stays yours

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.

One primitive, five outputs

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.

v1.0 · SHIPPED

The complete system. Snapshot, Consolidate, Extract, History & Diff, Sentinel email alerts — with a full audit log and a built-in guide.

NEXT

Richer Sentinel rules and row filters on ingestion. See the README for the declared roadmap.