Skip to content

Repository files navigation

Smriti

Enterprise Digital Legacy Platform. (Sanskrit: "that which is remembered")

Smriti preserves the expressed self (voice, likeness, words, and stories a person chooses to leave) inside a tamper-evident archive owned by the person and their estate. It never claims to preserve consciousness or continue the person.

Author and sole builder: Abhishek Chougule. Lineage: ACNeuralBrain (origin research) to Smriti (shipped product).

The four engines

Engine Name Meaning Function State
Likeness Darpan Mirror Photoreal 3D avatar from photos and video tiering + consent + watermark; reconstruction stub (GPU)
Voice Pratidhwani Echo Voice synthesis real self-hosted TTS (espeak-ng); cloning next
Mind Sutra Thread Grounded conversational persona real self-hosted LLM (Ollama), grounded
Integrity Crystal Bedrock Non-forgeable provenance ledger complete

Every asset and every generated utterance is SHA-256 hashed into a per-subject hash chain, signed with a per-subject Ed25519 key, rolled into daily Merkle transparency anchors, and verifiable by anyone. No runtime dependency on third-party AI APIs: all models are self-hosted and pluggable.

Surfaces (React SPA)

  • / landing
  • /studio guided Life Interview capture (300 prompts) and time-released messages
  • /build in-app consent, voice enrollment/synthesis, avatar build, archive rights
  • /sanctum grounded conversation with V/G/I provenance badges, chapter browse, replay
  • /verify public integrity check for archives, voice clips, and avatar builds
  • /review abuse-review queue (admin)
  • /pricing, /privacy, /terms

Trust, consent, compliance

  • In-app consent (living: identity + recorded statement; posthumous: estate authority + family consensus), sealed into Crystal.
  • Data-subject rights: open-format export (portability) and revocation (erasure with a cryptographic tombstone).
  • Watermarking of all synthetic media; public verification.
  • Abuse-review queue with human sign-off; family availability windows.
  • Security response headers; ISO 27001 / 42001 / DPDP / GDPR control map in docs/COMPLIANCE.md. Status matrix in docs/IMPLEMENTATION_STATUS.md.

Installation

Frappe v16 app. Node 24 or newer is required to build the frontend.

bench get-app https://github.com/Abhishek-Chougule/smriti --branch version-16
bench --site <site> install-app smriti
bench --site <site> migrate

Optional self-hosted models

  • Sutra LLM: install Ollama and pull a model (default llama3.2): ollama pull llama3.2. Configure with SMRITI_LLM_MODEL / OLLAMA_HOST. Falls back to extractive grounding if unavailable.
  • Pratidhwani voice: sudo apt-get install -y espeak-ng for real speech. Falls back to a labeled placeholder otherwise.

Development

# Crystal unit tests (no site required)
env/bin/python apps/smriti/smriti/crystal/test_crystal.py

# End-to-end smoke tests
printf "from smriti.smoke_phase0 import run\nrun()\n"    | bench --site <site> console
printf "from smriti.smoke_sutra import run\nrun()\n"     | bench --site <site> console
printf "from smriti.smoke_pratidhwani import run\nrun()\n" | bench --site <site> console
printf "from smriti.smoke_darpan import run\nrun()\n"    | bench --site <site> console
printf "from smriti.smoke_family import run\nrun()\n"    | bench --site <site> console

# Frontend
cd apps/smriti/frontend && npm install && npm run build

The frontend build regenerates the served shell (smriti/www/app.html and index.html). Routes are wired in hooks.py via website_route_rules.

Deployment

Do not run production on the dev server. See docs/DEPLOYMENT.md for the supervised stack (Gunicorn, socketio, RQ workers), TLS + security headers, model hosting, scheduler, and backups.

Documentation

  • docs/DEPLOYMENT.md production checklist
  • docs/COMPLIANCE.md ISO 27001 / 42001 / DPDP / GDPR control map
  • docs/IMPLEMENTATION_STATUS.md feature status vs the plan

Contributing

Smriti is open source and contributions are welcome. Please read CONTRIBUTING.md (setup, house style, tests, PR checklist) and CODE_OF_CONDUCT.md. The ethical Product Law is binding on every contribution: Smriti is a tribute and a tamper-evident archive, never a claim to continue a person, and consent is never bypassed.

Security

Report vulnerabilities privately per SECURITY.md. Do not open public issues for security reports.

License

MIT. See LICENSE. Copyright (c) 2026 Abhishek Chougule.

About

Smriti preserves the expressed self (voice, likeness, words, and stories) in a tamper-evident archive. It is a tribute, not a person.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages