Friend System

Connect with other Patchwork systems to share encrypted fronting updates. The server only ever sees ciphertext — only the intended friend can read what you send.

How It Works

When you become friends with another system on Patchwork, you exchange public keys. From that point, any fronting update you share is encrypted with their public key before leaving your device. Only they can decrypt it with their private key — the server cannot read the content of any message.

This is a dumb postbox model: the server holds and routes sealed envelopes. It knows who sent what to whom (the routing metadata) but has zero visibility into the contents.

Adding Friends

01

Find the other system

Ask your friend for their Patchwork username (their Discord display name as it appears in the app). Search for them in the Friends screen.

02

Send a friend request

Tap their name in the search results and select Send Friend Request. They’ll receive a notification the next time they open Patchwork.

03

Wait for acceptance

Until they accept, the request appears as Pending in your Friends list. You can cancel a pending request at any time.

04

Keys are exchanged

When they accept, both sides exchange public keys automatically. No manual setup is required. From this point, fronting updates are encrypted end-to-end.

Accepting Requests

Incoming friend requests appear at the top of the Friends screen with Accept and Decline buttons. Declining a request removes it without notifying the sender of the reason.

No pressure: You can leave a request pending indefinitely. Senders are not told how long it has been waiting, only whether it is pending or accepted.

What Friends See

When you switch fronters (and notifications are enabled), your friends see:

Fronting notification

The name and avatar (if set) of the member now fronting. The time of the switch. Nothing else.

Friends do not see:

Each friend gets their own encrypted copy. If you have three friends, three separately encrypted messages are sent. Friend A cannot read Friend B’s notification even if they intercept it.

Removing Friends

Open a friend’s entry in the Friends list and select Remove Friend. This immediately stops all future updates being sent to them. Their copy of your public key becomes useless as your future updates will no longer be addressed to them.

The other person is not notified that you removed them. They will simply stop receiving updates and their Patchwork will show your status as unavailable.

Encryption Details

Each fronting notification goes through two encryption layers:

Your device
Generates a random AES-GCM session key. Encrypts the fronting payload with it.
Key wrap
Encrypts the AES session key with the recipient’s RSA-2048 public key. Only they can unwrap it.
Server
Stores and routes the sealed blob. Cannot read the AES key or the payload.
Recipient
Unwraps the AES key with their RSA private key. Decrypts the payload locally.

For the complete privacy model, see Privacy & Security.