Habeas

Your data, in your hands. A browser extension that lets you reclaim your own personal data from services that lock it behind non-automatable walls — no API, no export.

Habeas is an open-source (AGPL-3.0) browser extension for Chrome and Firefox that extracts your personal data — receipts, invoices, bank transactions, investment positions — from web services that offer no automatable way to do so. The name comes from habeas data, the constitutional right to access your own personal data held by third parties. Habeas does not grant you a new right — it makes an existing one executable.

Habeas logo

Fork me on GitHub


The problem

The GDPR (Articles 15 and 20) guarantees your right to access your personal data and receive it in a structured, machine-readable format. But many services comply on paper while making export practically impossible: no API, no email export, and a web interface guarded by anti-bot walls (Cloudflare, Akamai, DataDome). Your right exists; exercising it does not.


How it works

Unlike commercial aggregators (Plaid, Tink, TrueLayer) that custody your credentials and access services from external servers, Habeas runs inside your own browser session:

  • No anti-bot fight — it’s your real browser, your IP, already trusted by the service.
  • No stored credentials — you log in yourself, you handle MFA/OTP.
  • Local-first — your data only goes where you decide.

Export destinations

  • Downloads — a single ZIP of PDFs plus a normalized manifest.json.
  • Local folder — via File System Access; point it at a Drive/Dropbox-synced folder.
  • Google Drive — native OAuth upload into a Habeas/<service>/<year>/ tree.
  • HTTP — POST to your own endpoint (e.g. another app of yours).

Declarative adapters

Each service is defined as a YAML adapter: host, login signal, endpoints, field mapping (JSONPath), dedupe key, and output schema. There is no arbitrary JavaScript — only data and a bounded set of predefined transforms (dates, amounts, regex). This makes adapters auditable and community-contributable.


Features

  • Inventory with new/already-sent status per document and per destination.
  • Deduplication per destination — never re-sends what you already exported.
  • Auto mode — when you log in to a configured service, new documents sync automatically to Drive or HTTP.
  • Desktop notifications and activity log.
  • Bilingual interface (English and Spanish).

Data sources

Carrefour Spain — in-store receipts and online orders from your logged-in account. First data source live end-to-end. More adapters coming.


Technology

Pure JavaScript (Manifest V3). Chrome/Chromium and Firefox. No build step, no TypeScript. Packaged with web-ext. CI/CD via GitHub Actions.


Status and licence

Status: working alpha. GitHub stars: 0. Licence: AGPL-3.0. Source code at github.com/habeas-dev/habeas. Project site: habeas.dev.

Shares
Scroll to Top