Ghost Ledger

When someone dies, their money doesn't tell the family where it is.

Ghost Ledger reads a loved one's mailbox on your own computer and writes down every deposit, policy, folio and pension it finds, with the email that proves each one. Then it helps you claim them, one approved letter at a time.

₹2.2 lakh crore is waiting to be claimed in India.

That is the total sitting unclaimed in bank deposits, shares, insurance, provident fund and mutual funds, according to a 1 Finance analysis reported in December 2025. Some of it belonged to people who died before anyone in the family knew it existed.

Nobody keeps a list. Statements go to one person's inbox for years: an FD renewal notice here, a policy premium receipt there, a dividend email from a company he bought shares in before the internet. When that person dies, the inbox is the only map.

“Our records show that the maturity amount for policy no. XXXXX3958 is still unpaid as the discharge requirements have not been received.”Nilgiri Life Insurance, May 2023. One of two emails about this policy in four years.

Raghavendra Rao is fictional. His mailbox is 75 synthetic emails written to look like a real Indian retiree's, including six scam emails pretending to be his bank, four promotions that name funds he never held, and one account he closed years before he died. Every number on this site comes from running Ghost Ledger on it.

How it works

  1. Load the mailbox

    A Google Takeout export or a folder of emails. A quick filter keeps only mail that mentions accounts or money, and code-level checks set aside scams.

    Runs offline
  2. Gemma reads each email

    Gemma 4 on your laptop lists what each email shows he held, owed or paid for, and copies the sentence that says so.

    Gemma 4 E4B via Ollama, no cloud
  3. Every line is checked

    The quote must really be in the email, the institution must be named, the account number must appear. Anything that fails gets one retry, then it is dropped. It never guesses.

    Plain code, after the model
  4. Claims are followed up for months

    Each claim letter waits for your approval on your phone, goes out from your Gmail, and is chased after 15 days of silence. After two reminders, it drafts the complaint to the regulator.

    Temporal + Auth0

Measured on the synthetic estate

Same mailbox, same filters and the same checks, so the only difference is who reads the email: Gemma, or a regex baseline written the usual way.

On 75 emailsregex baseline
Holdings found (of 15)11
Subscriptions and bills found (of 5)3
Holdings invented0
Filed under the wrong institution3
Filed as the wrong kind3
Matured / at-risk / inoperative caught (of 5)4
Closed account put on the claim list0
Scam emails used as evidence0
Full account numbers leaked in the report0

Gemma 4's run on the synthetic estate is in progress on a laptop CPU; its column is added here when it finishes. The baseline column is real. Reproduce both with: python -m ghostledger eval.

Built for a family on its worst week

The mailbox never leaves the laptop

A dead parent's email holds their whole life. Gemma is an open model that runs on an ordinary laptop CPU, so no email is uploaded anywhere. That is why this has to be open: you can read every line of what touches it.

Nothing is sent without you

Every letter triggers an Auth0 Guardian push naming the bank and the account. Gmail access lives in Auth0 Token Vault, not on disk, and is used for minutes at a time.

It keeps going when you can't

Claims take months. Each one is a Temporal workflow that survives reboots and closed lids, waits out 15-day silences on a durable timer, and remembers exactly where it stopped.