Inspiration
People store their most important memories and documents digitally, yet there is no reliable, privacy-preserving way to pass them on intentionally.
Most existing systems rely on passwords, centralized platforms, or legal processes that are slow, opaque, and often fail. We wanted to build a system where intent, identity, and timing are enforced by design — not by trust or human judgment.
EternaVault was inspired by the gap between how emotionally important digital legacy is and how poorly current systems handle it.
What it does
EternaVault is a digital inheritance protocol that allows users to:
- Encrypt files client-side so no server can ever read them
- Assign a verified heir in advance
- Require validator confirmation before inheritance is triggered
- Release access only when on-chain conditions are met
The system ensures:
- No premature access
- No impersonation
- No platform-level override
If conditions aren’t met, access is cryptographically impossible.
How we built it
Frontend
- React + Vite
- Role-based dashboards (Owner, Heir, Validator)
- Local encryption and decryption in the browser
Security
- Client-side AES-GCM encryption
- Encryption keys never leave the user’s device
Backend
- Node.js + Express
- Stores encrypted blobs and metadata only
- Zero plaintext handling
Storage
- Supabase Storage (ciphertext only)
- Supabase Postgres for metadata
Blockchain
- Solidity smart contract deployed on QIE Mainnet
- Enforces heir registration, validator approval, and access checks
Optional AI
- Generates legacy summaries only after authorized decryption
Architecture Client encrypts → backend stores ciphertext → smart contract governs access → heir decrypts locally
Design & The Vibe (UI/UX)
The UI was designed to be:
- Minimal and calm
- Free of technical jargon
- Clear about roles and system state
Key UX decisions:
- Strong separation of responsibilities (Owner / Heir / Validator)
- Simple state indicators instead of complex workflows
- No urgency-driven alerts or notifications
The goal was to make a sensitive system feel composed, predictable, and trustworthy.
Challenges we ran into
- Making strong cryptographic guarantees without exposing complexity to users
- Designing strict access control that remains understandable
- Ensuring the backend had zero authority over permissions
- Balancing mainnet blockchain logic with smooth UX
Accomplishments we’re proud of
- Built a fully working end-to-end product (not a mock or concept)
- Achieved zero plaintext exposure across all layers
- Deployed and interacted with a live mainnet smart contract
- Implemented identity-based inheritance without passwords
- Delivered a UX focused on clarity rather than novelty
What we learned
- UX clarity directly impacts perceived trust
- Security systems should feel quiet, not aggressive
- On-chain logic can simplify user flows when designed well
- Emotionally sensitive use cases require restrained design
What’s next for EternaVault
- Multi-validator quorum approval
- Expanded inheritance conditions
- Accessibility improvements
- Zero-knowledge identity proofs
Built With
- aes-gcm
- blockchain
- ether.js
- express.js
- node.js
- qie
- react
- smartcontracts
- solidity
- supabase
- tailwind
- vite
Log in or sign up for Devpost to join the conversation.