Skip to content

A stealth whistleblowing pipeline hidden in a calculator UI. zkTLS for role verification, EVVM for integrity anchoring, GGWave for ultrasonic offline signaling, and an encrypted knowledge graph linking reports by actors, topics, and regions. — Built at ETHGlobal Buenos Aires 2025

Notifications You must be signed in to change notification settings

ValenteCreativo/Sigilo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sigilo

Sigilo

Privacy-first whistleblowing platform for high-risk environments

FeaturesTech StackArchitectureGetting StartedSecurity


Overview

Sigilo combines stealth interfaces, zero-knowledge proofs, blockchain anchoring, and ultrasonic communication to protect journalists, officials, and citizens reporting sensitive information.

The app disguises itself as a calculator. Unlock with + = = to reveal the secure dashboard.


Features

Stealth Calculator Interface

Sequence Action
+ = = Unlock dashboard
9 1 1 = Emergency protocol (geolocation broadcast)

Secure Dashboard

  • Role selection — Journalist, Public Official, Citizen
  • Evidence attachment → Filecoin storage
  • Real-time encryption → AES-256-GCM + ZK progress visualization
  • EVVM anchoring → Immutable on-chain proof

Anonymous Role Verification

  • vLayer zkTLS proves role without revealing identity
  • TLSNotary proofs via https://web-prover.vlayer.xyz

Encrypted Signal Forum

  • Obsidian-style network graph — visualize signal connections
  • Filter by role, status, or full-text search
  • Anonymized reports with encryption method badges

Ultrasonic Signal Transmission

  • ggwave FSK encoding — transmit/receive via sound
  • Works offline, no network required
  • Use cases: covert key exchange, emergency alerts, proximity auth

Node Integration

Role Purpose
Signal Receiver NGOs, newsrooms
Relay Node Community infrastructure
Storage Witness Filecoin pinning

Safety & OPSEC Guide

  • What Sigilo protects vs. what it doesn't
  • 9-point operational security checklist
  • Emergency resources (CPJ, RSF, EFF)

Tech Stack

Layer Technology
Framework Next.js 15 (App Router) • React 19 • TypeScript
Styling TailwindCSS
Web3 wagmi • viem • Reown AppKit
Wallets MetaMask • Coinbase • WalletConnect
ZK Proofs vLayer Web Prover (zkTLS)
Blockchain EVVM on Sepolia
Storage Filecoin (IPFS)
Signals ggwave (ultrasonic FSK)
State TanStack Query • Zod

Architecture

┌─────────────────────────────────────────────────────────────┐
│                         CLIENT                              │
├─────────────────────────────────────────────────────────────┤
│  Calculator UI ─────► Dashboard ─────► Forum                │
│        │                  │               │                 │
│        ▼                  ▼               ▼                 │
│  Stealth Mode      Report Creation   Network Graph          │
│                          │                                  │
│         ┌────────────────┼────────────────┐                 │
│         ▼                ▼                ▼                 │
│    AES-256-GCM      vLayer zkTLS     ggwave FSK             │
│    Encryption       Role Proof       Ultrasonic             │
└─────────┬────────────────┬────────────────┬─────────────────┘
          │                │                │
          ▼                ▼                ▼
┌─────────────────┐ ┌─────────────┐ ┌──────────────┐
│    Filecoin     │ │    EVVM     │ │   Offline    │
│  (Evidence CID) │ │  (Sepolia)  │ │   Devices    │
└─────────────────┘ └─────────────┘ └──────────────┘

Directory Structure

sigilo-app/
├── src/
│   ├── app/                 # Pages
│   │   ├── page.tsx         # Landing
│   │   ├── app/             # Dashboard
│   │   ├── forum/           # Signal Forum
│   │   ├── ultrasound/      # Ultrasonic TX/RX
│   │   ├── integrate/       # Node docs
│   │   ├── safety/          # OPSEC guide
│   │   └── api/vlayer/      # ZK endpoints
│   ├── components/          # UI components
│   ├── hooks/               # useEVVM, useGgwave
│   ├── lib/                 # crypto, evvm, ggwave
│   └── config/              # wagmi setup
├── EVVM/                    # Smart contracts
└── VLayer/                  # ZK integration

Getting Started

Prerequisites

  • Node.js 18+
  • Wallet with Sepolia ETH

Installation

cd sigilo-app
npm install

Environment

# .env.local
VLAYER_WEB_PROVER_URL=https://web-prover.vlayer.xyz
VLAYER_CLIENT_ID=your_client_id
VLAYER_API_KEY=your_api_key

Development

npm run dev

Production Build

npm run build
npm start

API Routes

Endpoint Method Purpose
/api/vlayer/prove POST Generate zkTLS proof
/api/vlayer/verify POST Verify proof

Planned Network API

POST /nodes/register        # Register node
GET  /signals/stream        # SSE signal stream
POST /signals/request-access # Request decryption

Security Model

Protected

Layer Protection
Encryption AES-256-GCM client-side
Identity Zero-knowledge role proofs
Storage Decentralized Filecoin
Proof EVVM on-chain anchoring
Interface Stealth calculator disguise

Not Protected

  • Physical surveillance
  • Compromised devices
  • Self-identification in content
  • Activity pattern analysis

EVVM Contract

Parameter Value
Chain Sepolia (11155111)
Proxy 0x389dC8fb09211bbDA841D59f4a51160dA2377832
RPC https://ethereum-sepolia-rpc.publicnode.com

Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/enhancement)
  3. Commit changes (git commit -m 'Add enhancement')
  4. Push branch (git push origin feature/enhancement)
  5. Open Pull Request

Resources


Built for those who speak truth to power.

About

A stealth whistleblowing pipeline hidden in a calculator UI. zkTLS for role verification, EVVM for integrity anchoring, GGWave for ultrasonic offline signaling, and an encrypted knowledge graph linking reports by actors, topics, and regions. — Built at ETHGlobal Buenos Aires 2025

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6