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

Share this project:

Updates