What it does
Immutable Voice is a decentralized web application that enables whistleblowers, journalists, and activists to permanently, securely, and anonymously share sensitive documents — free from censorship, tampering, or deletion. By leveraging Arweave’s permanent storage and client-side encryption (AES-256-GCM), it ensures that once a voice is shared, it can never be silenced.
Users can:
- Upload documents that are encrypted entirely in the browser
- Permanently store them on Arweave
- Pay for storage plus a small service fee
- Monitor transaction status
- Retain full control over their encryption keys (never leaves the device)
How we built it
Immutable Voice was built as a modern, secure, decentralized web app focused on user experience and data permanence.
Technologies & stack:
- Frontend: React + Tailwind CSS for responsive and professional design
- Icons: Lucide React
- Encryption: AES-256-GCM via the Web Crypto API (crypto.subtle)
- Storage: arweave-js for blockchain interaction
- Wallet Support: Wander extension and wallet JSON import
- State Management: React Context API
Core functionalities:
- Full client-side encryption
- Metadata (original filename & MIME type) saved as Arweave tags
- Multi-step upload: encrypt → upload → pay → confirm, with UI feedback
- Service fee system to support maintenance
- Wallet management and session handling
Challenges we ran into
- True client-side encryption: Ensuring encryption keys are never exposed or transmitted required precise use of the Web Crypto API and extensive testing.
- Arweave transaction handling: Due to Arweave’s asynchronous confirmations and “pay once, store forever” model, we built a robust system for upload state tracking, fee calculation, and progress display.
- Metadata retention: Ensuring original filenames and MIME types persist required tagging files properly on upload and decoding them after decryption.
- User education: Simplifying complex blockchain and cryptographic concepts for non-technical users was a major design challenge. We addressed this through inline tooltips, alerts, and a clear help section.
Accomplishments that we're proud of
- Built a fully decentralized, censorship-resistant platform
- Achieved secure, end-to-end encryption without any backend involvement
- Created a smooth user experience for uploading and managing immutable documents
- Enabled permanent, anonymous publishing of sensitive data with no single point of failure
What we learned
- Arweave’s architecture: From transaction tagging to asynchronous confirmation and fee calculation
- Browser-based cryptography: Mastering the Web Crypto API for secure AES-GCM encryption
- UX for Web3 apps: Making wallet interactions, upload steps, and key management intuitive
- Handling async workflows: Managing multiple states with React and custom hooks to guide the user clearly through encryption, upload, and confirmation
What’s next for Immutable Voice
- Decentralized Identity (DID) support for anonymous yet verifiable publishing
- Batch uploads and folder support for improved user convenience
- Advanced sharing: Time-limited access, multi-party decryption, or revocable links
- Community features: Collaborative channels, secure messaging, and document discussion
Built With
- arweave
- css
- html
- javascript
- typescript



Log in or sign up for Devpost to join the conversation.