How Partage’s encryption works

What “end-to-end encrypted” means here, and what the server can still see.

Open Partage

What is encrypted, and where the key lives

Every group has its own key: a random 256-bit AES-GCM key, generated on your device by the browser’s built-in cryptography. There is no account the key is attached to and no password it is derived from. The key itself is the membership.

Everything a group contains, such as expenses, transfers, members, categories, and every edit in the history, is encrypted on your device before it syncs. What leaves the device is ciphertext, and what the server stores and forwards is ciphertext.

The key travels only when you invite someone, and only inside the invite link, as described below. It never reaches the server.

What the relay can see, and what it cannot

The sync relay sees:

It can’t see amounts, titles, categories, currencies, member names, balances, or who owes whom. The relay never receives the key: a device proves its access with a hash of the key, and the server stores only a hash of that hash. A full copy of the server’s database reveals no expense to anyone.

The relay also keeps nothing forever: a group untouched by any member for twelve months is deleted from the server, while each member’s device keeps its own full copy.

Invitations: the key travels in the fragment

An invite link carries the group key after the #. Browsers never send that part of a URL to any server, so the link opens the join page without the relay ever learning the key. A QR code invitation is the same link.

One thing to keep in mind: anyone who has the link has the key. Share it responsibly, directly with the people you mean to let in. Prefer direct QR code scans, or end-to-end encrypted messaging groups.

The honest limits