The runtime · Liberate

The data is still in there. Get it out — with proof.

Liberate converts legacy application files into SQLite, CSV, JSON, and searchable documents — packaged as verified bundles you can check, question, and hand over.

v0.3.0 · pilot-grade enterprise acceptance: gated AI: strictly opt-in
Summary

Reviving a dead application is one problem; the other is the data locked inside its files — customer tables in DBF, ledgers in an old Access MDB, decades of spreadsheets in BIFF-era XLS. Liberate takes those files and converts them into modern, queryable formats: SQLite, CSV, JSON, and searchable documents. Perslis/GhostBridge acquires the files; Liberate extracts, analyzes, answers, and delivers — without starting or controlling a VM. Every bundle it produces carries hash manifests and a receipt, so what you hand over can be independently verified. And you can ask questions of the recovered data locally, with AI strictly opt-in.

What it converts

The parsers cover the formats where business data actually got stranded:

Databases

Jet 3/4 Access MDB and DBF/FoxPro tables become SQLite databases and clean exports.

Spreadsheets

BIFF5/8 Excel XLS workbooks — the pre-XML era — extracted with canonical values in JSON and SQLite.

Config & text

CSV/TSV, INI, registry exports, and fixed-width text files, turned into structured, searchable data.

A real-file corpus records exact coverage per format. This is not a claim of universal format compatibility — the boundary of what is supported is documented, not implied.

One command: recover

$ liberate recover --source ~/restored/AcmeApp --system acme --job ~/acme-job

recover runs the whole job in one pass: it inventories the selected files, extracts them, builds the analyst report and search index, and writes a verified bundle.zip into a new job directory. It stays local throughout. A --strict flag refuses completion when extraction has quality flags, and the job receipt records both completion and data quality — a bundle never looks cleaner than it is.

Verified bundles, not loose exports

A recovery you can't verify is an anecdote. Every Liberate bundle carries the evidence needed to check it — independently, later, by someone else.

Ask the data — local first, AI strictly opt-in

$ liberate ask ~/acme-job/bundle "German customers" --no-ai

Questions are answered from the recovered data itself — local supporting excerpts, grounded in verified rows. AI is opt-in only: nothing leaves the machine unless you pass --allow-ai, and even then only bounded, selected evidence is sent, with read-only, bounded SQL underneath. --no-ai always overrides. The default is a recovery tool that works entirely on your machine.

An honest boundary

Liberate is at version 0.3.0 — a pilot-grade, private, single-organization CLI. Enterprise acceptance remains gated on qualification evidence and deployment gates. In plain terms, this is not a claim of:

That boundary is the same discipline the rest of Perslis runs on: label what is proven, name what isn't.

More from Perslis

Liberate helps teams make old data useful again, with results they can inspect and share. Explore the public Perslis papers and project guides to learn more about our work with existing systems. Explore the public research library →