MeshtrikeWHITEPAPER · BUILD V11 · OCTOBER 2026

Meshtrike: a voice that can’t be switched off

An offline, end-to-end encrypted messenger for the moments when networks fail or are shut down. Phones talk directly to each other and carry sealed messages for one another, so people can keep speaking, and be heard, when it matters most.

WHY WE BUILT THIS

Meshtrike began as an act of solidarity with the people of India, built by one of them: a young citizen of India.

When citizens come together peacefully around a common cause, switching off the internet and silencing their voices is not an answer. We stand united in India’s unity and diversity, and we will not accept silence imposed from above. People’s voices, their photos, and the truth of what they witness deserve to reach the public.

The voices of young people cannot be ignored or brushed aside. We are the future of India, and our concerns matter as much as anyone else’s. We stand firmly with the democratic values and fundamental rights that belong to every one of our people.

We built Meshtrike so that everyone can still be heard when those in power cut the lines people depend on. It was born in India, but it belongs to anyone, anywhere, who faces oppression or the loss of their right to communicate.

Use it wisely and with good intentions. It exists to protect people and the truth, never to harm them.

1. The problem

Almost every messenger people rely on depends on two things they don’t control: cell towers and company servers. Both can be overloaded, damaged or ordered offline. When that happens during a protest, a disaster or a crackdown, people lose the ability to coordinate, check on each other and document what is happening, at exactly the moment they need it most.

Existing offline tools each solve part of this. Some need special radio hardware for every person. Some only sync between people who are already contacts. Some have had serious, publicly reported security flaws. Meshtrike aims to work on the phone people already carry, reach beyond their immediate contacts, and stay honest about what it can and cannot protect.

2. Design principles

3. How it works

Identity and trust

Keys are generated on the phone and never leave it. The local database is sealed with a 6-digit PIN, which is deliberately stretched so guessing is slow. An optional duress PIN silently wipes everything and shows a fresh install.

Contacts are added in person by scanning each other’s QR code, which expires after two minutes. Every contact carries a trust state shown with an icon and words, never color alone:

StateMeaning
VerifiedMet in person and scanned each other’s code.
Not verifiedMet through a public channel. Photos are hidden until tapped.
Key changedA new key appeared under a known name. Sending pauses until you re-pair in person.

Each conversation also has a 30-digit safety number, shown in groups of five so two people can read it aloud and confirm nobody sits between them.

Routes

Under every contact’s name, a live “route pill” shows how the next message will travel. When several routes work, the higher row wins.

RouteRange and speedWhen it’s used
Nearby · Bluetooth10–30 m · text instant, photos in secondsYou are close to each other
Nearby · Wi-Fi Direct50–100 m · 10–50× BluetoothLarge photos and files between nearby phones
Long range · LoRaKilometres · short text onlyA small LoRa radio is paired to the phone
Internet · private routeWorldwide · text in seconds, files in minutesBoth people have the route on, through the Nym mixnet
Carried by the meshGrows as people move · minutes to hoursOther phones are nearby, but not theirs
Camera handoffArm’s length · about 1 MB in 2–3 minutesRadio is jammed; phones exchange moving QR codes

Store and forward

When the recipient isn’t in range, nearby Meshtrike phones carry the message for them. Relays hold only sealed data they can’t read and can’t attribute. Carried messages expire after 24 hours (72 at most) or when delivered, and each phone carries at most 2,000 messages or 50 MB for others.

Delivery states

A clock means the message is still on your phone. One tick means it left. Two ticks mean the other phone confirmed it, and a stronger double tick means it was read, if they share read receipts. Messages that expire before arriving are marked “Not delivered” with a Retry option. A delivery timeline shows each step.

The internet route and MeshGRID

Meshtrike itself never connects to the internet. The optional MeshGRID add-on provides Wi-Fi Direct and a route through the Nym mixnet, which hides who talks to whom and when. Anyone watching the network can see that the mixnet is in use, but not who is talking. Bridges can disguise the connection as ordinary web traffic. MeshGRID only ever receives messages that Meshtrike has already sealed.

4. What people can do with it

5. Security model

Protection is layered so that one failure doesn’t expose everything: on the phone (sealed database, duress PIN, panic wipe, blocked screenshots), in the message (sealed end to end, fresh call keys, disappearing timers), on the network (opaque relays, no stored paths, optional mixnet) and in identity (in-person verification, safety numbers, key-change blocking).

It is built to protect against

Network shutdowns and overloaded towers · relays and strangers reading messages · a server being hacked or subpoenaed, because none exists · impersonation of a contact verified in person · being forced to unlock, through the duress PIN.

What it cannot do

It cannot stop malware already on a phone, someone photographing an unlocked screen with another camera, or contacts who choose to share what they receive. Above all, a phone that is transmitting can be located by someone nearby with the right radio equipment. In high-risk situations, plan with that in mind.

High-Risk mode tightens everything with one switch: constant cover traffic, text only, LoRa and Wi-Fi off, no internet route, 24-hour disappearing messages and an instant lock. Calls are disabled in this mode, because a call keeps the radio transmitting the whole time.

6. Getting the real app

Meshtrike is meant to spread from phone to phone, often when there is no internet to check anything. That makes fake copies a real risk, so every release can be verified the way Tor Browser’s can, with several independent checks:

Official fingerprints

APK signing certificate (SHA-256): AB:09:7B:F4:3C:9B:63:0F:06:67:02:E0:61:9A:60:43:05:13:6A:D2:D6:4B:AA:38:E7:62:2F:AF:17:09:AD:3E
OpenPGP release key: 79E2 783E D581 74B7 3393 FE0F 79A5 F1F0 4F2D EA99
minisign public key: RWSC18AkPYb7l9TWSVy8CzBHwL/ZqkM7aXeAqeLlLHhsKDeoAaiZ463t

To check a copy, open meshtrike0.github.io/verify.html and pick the APK; it answers REAL or NOT REAL. On a computer, sh verify.sh meshtrike.apk does the same in one command. If anything does not match, do not install the app, and do not pass it on.

7. RESPONSIBLE USE

Meshtrike is a tool for protecting people and the truth.

Because there are no servers and no accounts, no one, including us, can read, moderate or remove what people send. That freedom comes with responsibility. Use Meshtrike to stay safe, to stay together and to bear witness.

Do not use it to harm, harass, deceive or incite violence against anyone.

8. Status and roadmap

StageIncludes
Shipped · v1.0.0Mesh messaging, routes and route pill, delivery states, groups, public channels, photos and files, photo viewer, QR handoff, internet route via MeshGRID, High-Risk mode
Built, in field testingSwipe to reply, voice notes, nearby voice calls over Bluetooth and Wi-Fi Direct
NextFirst signed public release, verification in the browser, reproducible builds, F-Droid
ThenCommunity servers run by volunteers (below); offline maps with satellite positioning (below); independent security audit
LateriPhone app, group calls, disguise bridges

Roadmap: community servers run by volunteers

Meshtrike needs no servers, and it always will. But when any phone in a mesh reaches the internet, servers run by volunteers, the way Tor relies on relays run by its community, can carry sealed messages much further: as mailboxes that hold messages for phones that are offline, as bridges between separate meshes in different towns or countries, and later as disguise bridges where the private internet route is blocked. They only ever handle sealed envelopes, so they learn no contents, no contacts and nothing about who talks to whom, and no phone depends on any one server. Running one will take a single small program, with a public list of servers signed by the team.

Roadmap: maps that keep working through a shutdown

When the internet is cut, online maps stop working with it: Google Maps and similar apps need servers to draw the map, search places and plan routes. People are left without a way to find each other, a meeting point, a hospital or a safe way out. Meshtrike plans a map that needs none of that.

Honest limits

Satellite signals can be jammed or faked in some conflict areas. Meshtrike will compare constellations and show how certain a position is, and warn when signals look wrong. Without internet assistance, the first fix can take a few minutes, and maps must be on the phone before they are needed. A position is also only as private as what you choose to send: sharing it hands it to the people you send it to.

9. Closing

A shutdown can switch off a network. It cannot switch off people standing next to each other. Meshtrike turns that simple fact into a way to keep talking, keep each other safe and keep the record of what happened, wherever voices are being silenced.

From India, for everyone.