PairOnce

PAIRONCE · SECURITY

How PairOnce protects what you send

Everything you send is encrypted on your device and decrypted on the other one, with keys only those two devices hold. PairOnce keeps no copy of your files, and there is no account to break into.

Encryption

  • Files, file names, text and links are encrypted with AES-256-GCM before they leave your device.
  • The keys come from a P-256 ECDH exchange between the two devices. They stay on those devices.
  • A direct or relayed connection adds its own DTLS layer on top, with keys of its own for each connection.

The safety code

When you pair two devices, both screens show the same 13-digit safety code. It is computed from the keys each device actually holds, so someone sitting between them would make the two codes differ.

  • With a QR code or link, the host’s public key travels in the part of the address that browsers never send to a server.
  • With a six-digit code, comparing the safety code is what confirms you reached the right device.
  • After the first pairing, each device remembers the other’s key and refuses a different one.

What the service can and cannot see

The PairOnce service introduces the two devices, and the relay passes data along when a network blocks a direct connection.

  • Cannot see: file contents, file names, messages, links, clipboard items, scans and live pictures. It holds no key that opens them.
  • Can see: IP addresses, when devices connect, which rooms they use, device names, and how much data goes through the relay.

The full list is in the data and privacy notice.

Where your files go

A file goes from one browser to the other, directly when the network allows it and through an encrypted relay when it does not. Nothing is stored on a server. On the receiving device it waits in the page or in the browser’s private storage until you save it.

Your part

  • Compare the safety code when you pair a new device.
  • Pair only devices you trust, and keep them free of malware and extensions you do not trust: the encryption ends inside the browser on each device.
  • Use PairOnce at paironce.com. The page comes from our server each time, as with every web app; each release names the open core version it runs, and a strict content security policy limits what a page can load.

The threat model lists each attacker we considered and what each one can and cannot do.

Check it yourself

Outside reviewers have read the code, and the fixes ship in those numbered releases.

Report a problem

Write to security@paironce.com. Our contact details are also in security.txt.

Last updated: November 7, 2026.