byhand · security

Your pages

What byhand protects, from whom, and what it does not. Plainly, including the limits.

No server keeps your pages, except a guardian you chose, and it cannot read them.

How a page is protected

Who sees what

WhoSeesNever sees
The gateway (https://byhand.page, or yours)Page ids, when they are opened, readers' IP addresses, sizes (when the page comes directly, only that a reader asked); the public preview if you turned it on (--preview)Pages, comments, messages, keys
Your device, for a reader served directlyThe reader's IP address, and the reader sees yours (that is what a direct connection is)—
STUN servers (Cloudflare, Google)The public IP addresses of readers and of your device, when they look for a direct pathPages, ids, keys, who talks to whom
A guardianEncrypted versions and messages, when they change, which ids it keeps Pages, messages, the link's key, your private page's key
Anyone with the linkThe page, its versions, comments, shared state and files Private messages of others, your other pages
Your devices, co-authorsEverything of the pages they share with you, and the right to publish them—
Peer to peer services (DHT, pkarr relays, iroh relays)That an id exists, which devices serve it and their IP addresses (unless --hide-ip), encrypted traffic between devicesPages, keys
The chat app or email where you paste a linkThe whole link, key included—
Your AI provider (if you make pages with AI)Your request, and the page when you change one Your other pages, your links

Who sees your IP address

Nobody but your readers can read a page, whatever the setting. What the settings change is who sees your IP address and who learns that a page exists. With the defaults:

WhoSeesWhen
The readerYour IP addressEach time a page opens: your device's WebRTC answer carries it, even when the direct path then fails
STUN servers (Cloudflare, Google)Both public addressesEach direct attempt
The gatewayYour IP and the reader's, page ids, sizes and timing Always (it introduces you, and carries the page when direct fails)
DHT nodes and pkarr relaysYour page ids and your device's IP address For your devices and guardians to find each other

Less of it: byhand install --server (no DHT), your own pkarr relay, --hide-ip (your IP published nowhere, and no WebRTC with readers: they go through the gateway). Every option, with diagrams and side-by-side tables: network.

What byhand does not protect

If something leaks

A page's link
Stop sharing it (byhand share stop page.html, or "Stop sharing" on your private page). To share it again with a new link, delete its page.html.byhand.json first.
Your private page's link
byhand me --new: the old link stops working, your other devices get the new one.
A lost or stolen device
byhand me remove <device> from another one: the private link is replaced. Stop the shares it held, and revoke its AI key at your provider.
Your AI key
Revoke it at your provider, then byhand me ai with a new one. Set a spending limit there.

Going further