Legacy logistics, privately coordinated.
Private-first digital legacy coordination for secure self-recovery, beneficiary delivery, and partner-ready continuity workflows.
Digital Legacy Weaver is a private-first technical companion for digital continuity.
It helps owners prepare secure legacy routes without forcing early disclosure, and it helps intended recipients move through sensitive handoff moments with more clarity, structure, and restraint.
The product is built around three ideas:
Owner-first controlwhile the owner is alive.Policy-driven releasethrough PTN as the canonical control plane.Careful beneficiary handoffafter qualified trigger conditions are met.
In practice, Digital Legacy Weaver coordinates:
Self-recoveryfor the owner.Legacy deliveryfor intended recipients.Private-firstrelease posture, where secrets stay local whenever possible.Partner-readyverification routes for institutions, legal offices, and trusted service providers.
This project is:
- A technical coordination layer.
- A private-first runtime and policy foundation.
- A partner-ready workflow core.
This project is not:
- A legal will replacement.
- A legal decision authority.
- A plaintext secret-sharing tool.
- A guarantee of success under every device or network condition.
See docs/legal-companion-mode.md, docs/legal-evidence-gate.md, and docs/provider-handoff-template.md for the legal boundary and handoff posture.
- See
docs/three-layer-architecture.mdfor the core system model. - See
docs/high-assurance-architecture.mdfor the runtime architecture. - See
docs/pr-roadmap.mdfor the current build sequence. - See
docs/testing-strategy.mdfor validation coverage. - See
docs/release-readiness-checklist.mdfor stable-release gates. - Run
python tools/release_gate_preflight.py --max-age-days 30before creating a release tag.
- See
docs/ecosystem-strategy.mdfor the long-term ecosystem model. - See
docs/ecosystem-execution-roadmap.mdfor phased execution. - See
docs/positioning-audience-guide.mdfor audience language. - See
docs/first-launch-execution.mdfor launch sequencing. - See
docs/closed-beta-checklist.mdfor beta discipline.
- See
specs/ptn-format.mdfor the baseline PTN format. - See
specs/ptn-v2.mdfor PTN v2 semantics. - See
specs/intent-compiler-contract.mdfor the shared compiler contract. - See
docs/ptn-intent-schema.mdfor the intent schema before compilation. - See
docs/intent-builder-model.mdfor the app-facing intent model. - See
docs/intent-to-ptn-compiler.mdfor compiler rules. - See
docs/pdpa-policy-mapping.mdfor PDPA mappings. - See
docs/ptn-licensing-boundary.mdfor PTN open/proprietary boundaries.
The working architecture has three main layers:
User layer: UX/UI captures intent in normal language.PTN core layer: PTN governs policy, security, runtime, and controls.Output layer: approved results are delivered to configured recipients or routes.
See docs/three-layer-architecture.md for the full layer map.
Current line is v0.1.x.
That means:
- The foundation is strong enough for controlled beta testing.
- The app, PTN compiler flow, artifact history, and runtime-readiness flow are real.
- The project should still be described as a technical companion, not a full production-stable legal or custodial platform.
The Flutter app currently covers:
- Onboarding and safety settings.
- Intent Builder with local encrypted draft persistence.
- Canonical PTN artifact export.
- Artifact review, compare, promote, and history flows.
- Runtime readiness summary and detail views.
- Demo / setup-backend landing for builds without live Supabase configuration.
- See
docs/production-deploy-runbook.mdfor deployment operations. - See
docs/incident-response.mdfor incident handling. - See
docs/threat-model.mdfor threat assumptions. - See
docs/e2e-test-pack.mdfor runtime checks. - See
docs/github-test-secrets-setup.mdfor CI secret setup. - See
docs/beta-gate-ops.md,docs/beta-status-ops.md, anddocs/beta-feedback-ops.mdfor beta operations. - See SECURITY.md for the security policy.
- See
docs/app-release-pack.mdfor release packaging. - See
docs/releases/v0.1.0-release-notes-template.mdfor the release-note template. - See
docs/releases/v0.1.0.mdfor the baseline release notes. - See
docs/releases/v0.1.0-beta.4.mdfor the current beta note. - The app release workflow lives at
.github/workflows/app-release.yml.
Environment setup (PowerShell, current session):
$env:SUPABASE_URL="https://<your-project-ref>.supabase.co"
$env:SUPABASE_ANON_KEY="<sb_publishable_key>"
$env:SUPABASE_SERVICE_ROLE_KEY="<sb_secret_key>"
$env:SUPABASE_ACCESS_TOKEN="<sbp_personal_access_token>"Where each value comes from:
SUPABASE_URL: Supabase Dashboard -> Project Settings -> Data API -> Project URL.SUPABASE_ANON_KEY: Supabase Dashboard -> Project Settings -> API Keys -> Publishable key.SUPABASE_SERVICE_ROLE_KEY: Supabase Dashboard -> Project Settings -> API Keys -> Secret keys.SUPABASE_ACCESS_TOKEN: Supabase Dashboard -> Account Settings -> Access Tokens.
Important:
- Never put
SUPABASE_SERVICE_ROLE_KEYin Flutter--dart-define. - Client app should only use
SUPABASE_URLandSUPABASE_ANON_KEY. - Keep real values out of git. Use
.env.exampleas the template.
Flutter run with live backend:
flutter run --dart-define=SUPABASE_URL=$env:SUPABASE_URL --dart-define=SUPABASE_ANON_KEY=$env:SUPABASE_ANON_KEYLocal closed beta (no production backend required):
flutter run --dart-define=LOCAL_CLOSED_BETA_MODE=true --dart-define=CLOSED_BETA_MANUAL_CODE=true
# or use helper script:
.\scripts\run_local_closed_beta.ps1First-time Android setup for local APK build (free, one-time):
.\scripts\setup_local_android_toolchain.ps1Build APK for team trial (local closed beta):
flutter build apk --release --dart-define=LOCAL_CLOSED_BETA_MODE=true --dart-define=CLOSED_BETA_MANUAL_CODE=true
# or use helper script:
.\scripts\build_local_closed_beta_apk.ps1APK output path:
apps/flutter_app/build/app/outputs/flutter-apk/app-release.apk
Local quality gate:
python -m pip install -r requirements-dev.txt
.\scripts\run_local_quality_gate.ps1Backend deploy:
.\scripts\deploy_production.ps1 -ProjectRef <your_project_ref>
.\scripts\post_deploy_smoke.ps1 -ProjectRef <your_project_ref>
.\scripts\security_gate_preflight.ps1Runtime checks:
.\scripts\run_integration_unlock_flow.ps1 -ProjectRef <project_ref>
.\scripts\run_adversarial_unlock_checks.ps1 -ProjectRef <project_ref>Main implementation areas:
- App:
apps/flutter_app - PTN and contracts:
specs - Architecture and runbooks:
docs - Backend schema and functions:
supabase/migrationsandsupabase/functions - Release and operations scripts:
scripts - Beta SQL packs:
ops/sql
Useful file groups:
- Intent Builder:
apps/flutter_app/lib/features/intent_builder - Dispatch runtime:
supabase/functions/dispatch-trigger - Partner API surface:
specs/partner-api.openapi.yaml - Proprietary PTN legacy boundary:
ptn/legacy
- See CONTRIBUTING.md for contribution guidance.
- See
.github/CODEOWNERSfor ownership rules. - Open-core repository code and public examples are under LICENSE.
- PTN legacy proprietary modules and premium policy assets are governed by LICENSE-PTN.
- Sensitive payload is intended to remain on user-controlled devices.
- Intent drafts can be cached locally with device-side encryption before PTN activation.
- Canonical PTN artifacts can be exported into encrypted local history instead of overwriting a single latest draft.
- Runtime traces are minimized to policy-control metadata.
- CI blocks known secret-bearing logging patterns before merge.
