Skip to content

About

DigiLegacy 归零 — open-source, local-first digital legacy & digital inheritance manager. 150+ platform policy DB, AES-256-GCM field-level encryption, dead man's switch with three-stage chain. Tauri 2 + Rust + Vue 3. No servers, no telemetry.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DigiLegacy 归零 — Open-Source Digital Legacy & Inheritance Manager

CI License: MIT Tests Platform No servers No telemetry

Website: badhope.github.io/digilegacy · 中文说明见下方 · Screenshots

Plan your digital legacy. Leave your family a toolkit, not a puzzle.

DigiLegacy is a free, open-source, local-first desktop application for digital legacy planning and digital inheritance management. It helps you discover every online account you own, decide how each one should be handled, and produce a ready-to-execute inheritance toolkit for your family — with everything encrypted on your own device.

Open source (MIT) · No servers · No telemetry · Not even the developers can read your data.

Topics

digital-legacy · digital-inheritance · digital-assets · estate-planning · dead-mans-switch · local-first · privacy-first · zero-knowledge · aes-256-gcm · encrypted-vault · rust · tauri · vue3 · sqlite · open-source · desktop-app


Table of contents


Why this exists

When someone dies, their family usually cannot find — or access — what they left online. Three problems stack on top of each other:

  1. Nobody knows what exists. Payment balances, game assets, subscription credits, creator income — scattered across dozens of platforms. Even the owner cannot list them from memory.
  2. Nobody knows what is inheritable. A wallet balance can be inherited; the account itself often cannot. Game accounts have case law supporting property rights. Rules differ per platform and live inside terms of service.
  3. Nobody knows how to claim it. A deadlock: platforms ask for a notarized certificate; notaries need to know what the accounts contain; the family does not know. The estate simply goes dormant.

Existing tools each answer a fragment: Google and Apple cover only their own ecosystems; password managers hand over credentials, not inheritance rights; paper will services never touch the accounts themselves. The full chain — discovery, registration, planning, documents, trigger, execution — has no incumbent.

Features

# Module What it does
1 Digital asset discovery Built-in policy database of 150+ platforms across 16 categories, plus a guided self-check questionnaire that surfaces accounts you have already forgotten; already-registered entries are de-duplicated automatically
2 Classification & registration Every asset is classified as property, personality or mixed. Platform passwords are never stored — the app records where an account exists, not how to break into it
3 Disposal planning Per asset: inherit by a named person · liquidate and distribute · memorialize · authorize viewing · delete permanently · donate · take no action
4 Inheritance report & toolkit One-click HTML report plus a ZIP toolkit (report, asset list, summary, instructions). Open formats — readable without this application
5 Dead man's switch Periodic check-in with a three-stage confirmation chain (remind you → notify your emergency contact → send the key envelope to your executor). Runs in the system tray, re-evaluating every 30 minutes; optional zero-content cloud heartbeat
6 Heir guidance wizard Walks family members through each platform's procedure, required documents and transfer path
7 Legal template library Six categories of legal document templates (will clause, inheritance declaration, authorization, affidavit, application, agreement)
8 Encrypted vault & recovery key Field-level AES-256-GCM encryption, master password lock with idle auto-lock, one-time recovery key, encrypted backup export/import
9 Onboarding & help centre First-run guided tour; built-in help explaining the encryption model and the real capability boundaries of reminders
10 Credential vault Optional encrypted storage of account credentials — deliberately excluded from every export

Screenshots

Dashboard Asset discovery
Dashboard — overview & planning progress Guided discovery questionnaire
Assets Profile
Registered assets with disposal status Profile, encryption & backup
Dead man's switch Inheritance report
Dead man's switch & local reminders Generated inheritance report
Heir guidance Legal templates
Heir guidance wizard Legal template library

The interface is currently in Simplified Chinese (the primary target locale); an English UI is on the roadmap. All screens are also viewable on the website.

Security model

Digital legacy data is the most private data a person owns — it contains both property information and wishes about who may see what. The architecture removes the question rather than promising an answer:

Layer Implementation
Field-level encryption Sensitive fields are encrypted with AES-256-GCM before they reach the database (enc:v1: prefixed ciphertext). The key is derived with PBKDF2-SHA256, 100,000 iterations
Key lifetime The derived key lives only in memory. Locking the app (manually or after 10 minutes idle) zeroes and drops it; credential reads are refused at the decryption layer while locked
Recovery A one-time 24-character recovery key seals the master key, so forgetting the password is recoverable; the recovery key rotates automatically on every password change
No server, no telemetry There is no backend. The app makes no network requests of its own — "open platform website" hands a URL to your system browser (http/https only)
Zero-content heartbeat (optional) If you want reminders while the machine is off, the heartbeat sends only a token. The server learns "this token is alive" and nothing else — never an asset, a credential, a name or an address
Exports Reports and toolkits are open HTML/JSON/ZIP and contain no credentials, stated explicitly in the generated toolkit instructions

Honest limitations. Local encryption protects data at rest; it cannot stop malware running as your user or someone who knows your master password. Credentials you choose to save live on the same machine — the same trade-off every password manager makes. Reports and toolkits are plain files: treat them like paper documents.

Comparison

Tool Scope What it leaves out
DigiLegacy Discovery · registration · planning · documents · trigger · execution —
Google Inactive Account Manager Google accounts only Any non-Google platform; no inventory; no planning workflow
Apple Digital Legacy Apple ID access for a legacy contact No inventory; no per-platform procedures
Meta memorialization Facebook / Instagram Passive marking only
1Password / Bitwarden emergency access Credential handover Answers "who gets the password", not "can it be inherited, and how"
Offline will services / notary offices Paper wills No digital asset discovery; no platform guidance

Get started

Use the app (Windows 10/11, ~3 MB)

Download the installer or the portable executable from Releases. No account, no sign-up, no network connection required.

Installer  : DigiLegacy_*_x64-setup.exe
Portable   : digilegacy.exe
Database   : %APPDATA%\com.digilegacy.app\digilegacy.db

On first launch a short guided tour explains each screen. The built-in help centre documents the encryption model and the true boundaries of the reminder chain.

Build from source

git clone https://github.com/badhope/digilegacy.git
cd digilegacy

npm install
npm run tauri:dev        # desktop development mode
npm run tauri:build      # produce installers

npm run dev              # frontend only — browser preview at http://localhost:1420
cd src-tauri && cargo test

Optional: self-hosted heartbeat server

cd digilegacy/server
node heartbeat-server.mjs            # default port 8080

# Client environment variables:
#   DMS_HEARTBEAT_ENABLED=1
#   DMS_HEARTBEAT_TOKEN=<your token>
#   DMS_HEARTBEAT_ENDPOINT=http://<host>:8080

The reference server does three things: record the last heartbeat time per token, emit an alert payload when a token goes silent (default 21 days), and hand that payload to your scheduled job for delivery. It never receives or stores user content.

Architecture

Vue 3 + TypeScript + Pinia + Vue Router        frontend
        │  Tauri invoke (29 commands)
Tauri 2 (Rust)                                 desktop shell
        │
rusqlite (SQLite, bundled)                     local storage
aes-gcm · pbkdf2-sha2 · rand · base64          crypto layer
.
├── docs/                                  # project website (GitHub Pages)
├── digilegacy/
│   ├── src/                               # Vue frontend
│   │   ├── views/                         # 9 screens
│   │   ├── stores/                        # Pinia state
│   │   ├── api/                           # invoke wrapper + browser-preview mock
│   │   ├── components/                    # onboarding tour, help drawer
│   │   └── assets/main.css                # design tokens
│   ├── src-tauri/                         # Rust backend
│   │   ├── src/
│   │   │   ├── platform_data.rs           # 150+ platform policy database
│   │   │   ├── db.rs                      # schema, queries, migrations
│   │   │   ├── commands.rs                # 29 Tauri commands
│   │   │   ├── vault.rs                   # master password & field encryption
│   │   │   ├── recovery.rs                # one-time recovery key
│   │   │   ├── heartbeat.rs               # zero-content cloud heartbeat
│   │   │   ├── crypto.rs                  # AES-256-GCM primitives
│   │   │   └── notify.rs                  # dead man's switch chain
│   │   └── capabilities/                  # permission allowlist
│   └── server/heartbeat-server.mjs        # reference heartbeat server
└── LICENSE

Development & verification

Check Command Status
Rust unit + integration tests cargo test (in src-tauri/) 39 / 39 passing
Frontend type check npx vue-tsc --noEmit passing
Production build npm run build passing
Heartbeat server syntax node --check heartbeat-server.mjs passing
CI GitHub Actions (3 jobs) green on every push

CI runs the frontend type check and build, the full Rust test suite, and a syntax check of the reference server on every push to main.

Data storage

A single local file: digilegacy.db in the app data directory (%APPDATA%\com.digilegacy.app on Windows), holding six tables:

platforms · digital_assets · user_profile · check_in_log · dms_config · security_config

On first launch the database is created and seeded with the platform policy database; the platform table is synchronised idempotently on every start, so policy and URL corrections reach existing installations without touching user data. Older databases are migrated automatically (credential_enc, recovery_seal columns).

Privacy model

  1. Field-level encryption. Account identifiers, credentials, profile fields and heir contact details are encrypted with AES-256-GCM before storage; the master key is derived with PBKDF2-SHA256 and held in memory only.
  2. Master-password lock. Manual lock, or automatic after 10 minutes idle. While locked, credential decryption is refused at the Rust layer — the UI overlay is only the visible half.
  3. Credential vault. Optional encrypted storage with copy-to-clipboard (clipboard cleared after 30 seconds when possible). Credentials never enter reports, toolkits or backups of reports.
  4. No server, no telemetry, no cloud sync. External links are restricted to http/https.
  5. Application permissions are narrowed to an allowlist in src-tauri/capabilities/default.json.

FAQ

Is it really free?

Yes. The desktop application is MIT-licensed and permanently free — the entire source is open. Optional cloud conveniences (encrypted backup, assisted setup) are planned as paid services; the local app stays free.

What happens to my data if the project stops being maintained?

Nothing breaks. There is no server to switch off: your data is a local SQLite file, exports are open formats, and the code is public — anyone can fork and continue. That is precisely why the architecture was chosen this way.

Does it store my passwords?

It never stores platform passwords in plaintext. If you choose to save credentials, they are encrypted with your master password on your machine and are deliberately excluded from every export.

Can it automatically detect all my accounts?

No — and any tool claiming that would either be lying or require your credentials. DigiLegacy performs guided discovery: it knows 150+ mainstream platforms and asks questions that help you remember, then you confirm. The final list is always yours.

Do reminders work when the app is closed?

With the tray resident (default) the app re-evaluates every 30 minutes while running and can start with Windows. For reminders while the machine is off, enable the optional zero-content cloud heartbeat — the server only ever sees a token.

Why a policy database for Chinese platforms?

Because that is where platform inheritance rules are most opaque and least documented — the database covers 150+ platforms used in mainland China (WeChat, Alipay, Taobao, Bilibili, Steam and more), each entry carrying its source. The architecture itself is not region-bound.

How can I contribute?

Issues and pull requests are welcome — especially policy corrections (every entry carries a source) and translations. The database is plain Rust data and easy to extend.

Mirrors

Platform Repository Website
GitHub · badhope github.com/badhope/digilegacy badhope.github.io/digilegacy
GitHub · x33834 github.com/x33834/digilegacy x33834.github.io/digilegacy
GitHub · Morningstar202604 github.com/Morningstar202604/digilegacy morningstar202604.github.io/digilegacy
Gitee · badhope gitee.com/badhope/digilegacy —
GitCode · badhope gitcode.com/badhope/digilegacy —

License

MIT — see LICENSE.


中文说明

归零 DigiLegacy 是一款开源(MIT)、本地优先的桌面应用,用于数字遗产规划与数字资产继承管理:帮你在生前理清所有网络账号、为每一项安排好身后的处置方式,并给家人留下一份可以直接照做的继承工具包。

开源 · 无服务器 · 无遥测 · 连开发者也无法读取你的数据。

  • 官网:badhope.github.io/digilegacy
  • 六大模块:资产发现(150+ 平台政策库)→ 分类登记 → 处置意愿 → 继承报告与工具包 → 安心传承(三级确认链 + 托盘常驻 + 可选零内容心跳)→ 继承人向导
  • 安全:主密码 + AES-256-GCM 字段级加密、一次性恢复密钥、闲置自动锁定、凭据加密保管(绝不进入导出物)
  • 诚实的边界:本地加密无法防止以你的身份运行的恶意软件,也无法阻止知道主密码的人;报告与工具包是明文文件,请像对待纸质文件一样对待它
  • 测试:cargo test 39/39 通过;CI 在每次推送时运行

数字有数,归处有路。

About

DigiLegacy 归零 — open-source, local-first digital legacy & digital inheritance manager. 150+ platform policy DB, AES-256-GCM field-level encryption, dead man's switch with three-stage chain. Tauri 2 + Rust + Vue 3. No servers, no telemetry.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages