We invented as little as possible. On purpose.
Stiq invents no cryptography and no routing. It is a careful assembly of open, public work — Nostr's event layer carried over Tor v3 onion services, membership by RFC 9474 blind signatures — and every line of the assembly is MIT-licensed at olightening/stiq-source. This page is the part where you come in: run it, read it, break it, improve it.
Every load-bearing wall is public.
Each hard problem in Stiq is carried by an open standard or an open project with its own community behind it. What Stiq adds is the assembly — small, readable, and honest about its debts. Every tile links to the project.
Posts, comments, DMs, channels, groups and events are plain Nostr events under standard NIPs — a public wire format, not a private dialect. Leave, and your data is still readable.
nostr.com ↗ TorThe only roadThe relay exists as a v3 onion service — no clearnet address, no inbound ports. Members reach it through Tor circuits, with obfs4 and snowflake bridges for networks that block Tor outright.
torproject.org ↗ ArtiTor, in RustThe app embeds the Tor Project's next-generation Rust client; a classic C-tor build ships beside it. Same app, two engines, chosen at build time.
arti ↗ RFC 9474Blind signaturesMembership is an RSA blind signature: the issuer approves a request it cannot read. An IETF standard, served with Cloudflare's CIRCL library — not homemade cryptography.
rfc-editor.org ↗ khatruThe relay frameworkThe membership-gated relay is a small Go program built on fiatjaf's khatru and eventstore, keeping events in BadgerDB on hardware you control.
github.com/fiatjaf/khatru ↗ React NativeThe clientOne TypeScript codebase on Hermes, with iOS in the tree — and every on-device store encrypted under SQLCipher.
reactnative.dev ↗ One shell scriptThe installerdeploy/stiq-up.sh provisions Tor, the relay and the dashboard on a stock Debian box under systemd — readable top to bottom before you run it as root. Which you should.
read it first ↗ MITThe licenseThe client, the relay, the issuer, the dashboard and the installer — one license across all of it, no open-core split. Fork it, rebrand it, run your own network.
LICENSE ↗Exact versions are pinned in the repo — go.mod and package-lock.json are the authoritative list, not this page.
This is the ask: help us build it.
Stiq is maintained in the open, with no company behind it — and no telemetry to tell us what's breaking. It learns the way honest software learns: from people who run it, read it, and push back.
Run a real community
The most valuable contribution is a deployment that matters: stand up a relay for a group you actually care about, and tell us where it creaks. Field reports shape this project more than feature ideas do.
Audit the code — we're looking for security eyes
Stiq needs people auditing the codebase, not just the spec: security eyes that take the source apart the way an attacker would — the blind-signature flow, the relay's gates, the on-device stores — with PLAN.md as the map, not the territory. A hole found in the code and reported quietly to evergreenmarble@proton.me is worth more than a hundred stars.
Ship iOS — we need an Apple membership
The app compiles for iOS and runs on the simulator, but the project holds no Apple Developer Program membership and its iOS CI job is failing. If you hold a membership — or know the signing-and-review terrain — this is the single highest-impact gap in the project.
Fork it, white-label it
The branding is deliberately separable from the wire protocol — WHITELABEL.md maps which is which. Taking the stack and running your own network isn't tolerated use; it's the intended kind.
Host it. Break it. Improve it.
Free & MIT · your hardware or a $5 VPS · no accounts, ever.
Questions first? evergreenmarble@proton.me