libp2p WebRTC over QR
Two browsers connect directly as libp2p peers — no relay, no signaling server. The WebRTC offer and answer travel out-of-band as signed QR codes: one device scans the code off the other screen.
1 Start browser peer
Creates a libp2p node with a fresh key pair. Its Peer ID signs every payload you show.
What this sends, and to whom
Your Peer ID not started
What your peer identity is, and where its key lives
2 Connect to someone
Invite someone, or scan the code they are showing you. Either one gets you to the same place.
Someone sent me a link and tapping it did not work
4 What worked here
Every attempt is recorded and closed when it connects or fails. Both are kept - a log of successes says nothing about what is broken.
Off by default. Nothing is written until this is ticked, and turning it off again keeps what is already recorded - use Clear for that. What is recorded stays on this device, and the export leaves addresses behind. One thing does leave: while this is on, a peer you connect to is told exactly what the export carries - browser, system, provider, country and region - and tells you the same. Your address, your city and the notes you typed never travel.
Two requests, two disclosures. api.ipquery.io learns this device's IP address - that is what makes its answer possible. If a position is granted, nominatim.openstreetmap.org is asked what place it is in, and learns the coordinates rounded to about a kilometre - the town, not the building. Leave this off and type the fields yourself; they are the same either way.
Review what you recorded
A verdict per row, and nothing but a person can give it. Hand-collected results are full of fumbled camera aims, codes that expired on the way to the other room and runs abandoned halfway, and no detail in a record tells those apart from a network that cannot do it. Only rows you mark sound could ever be published; the rest stay here as your own record. Your notes stay here either way - the verdict is what would travel.
Nothing has left this device and nothing has connected to anything. Until this button is pressed, the only connection this page has ever opened is the one to the device you were testing with.
Show exactly what would leave
Stays here:
Goes, exactly as written:
The log is append-only and every row is signed. It cannot be edited or taken back afterwards, which is why the review stage comes first.
No attempts recorded yet.
3 Talk and send files
Once the handshake completes, messages travel over a libp2p protocol stream on the WebRTC data channel. Files go through Helia: the sender adds the bytes and announces the CID, the receiver pulls them with bitswap over the same connection.
Nothing sent or received yet.