Create a secure one-time link to a password

The password is encrypted in your browser. It can only be decrypted using the generated link.
Read more about our features.

You must be logged in to use these features.

Invalid description.

Password description. Cannot be seen by the password viewer.

Invalid message.

Message for the password viewer. Will be shown along the password.

Invalid email.

Email this address when the password has been viewed.

Invalid URL.

Send a POST request to this address when the password has been viewed.

Do you know who reads your passwords when you send them over email? We have a solution.

Our service encrypts the password and seals it behind a link that can be opened just once. If the link recipient is unable to open the password then someone else has already seen it and proper actions should be taken. Different kind of notifications can also be configured to be sent right away when the password has been viewed. Encrypting and decrypting the password always happens in the browser and the actual password cannot be seen by us.

We also have an API which can be used to easily integrate the service into any application or service. In addition we also offer licenses to the full source code of the service so companies can run it in their internal networks or other private services, modify it to suit their needs and be sure that they are in full control of all data passed through the service.

Password.link is being used by all kinds of technology companies all around the world.

How it works

Technical details

When you submit the password for secure delivery first two 18 characters long random strings are generated - let's call them public and private encryption key parts. We use seedrandom.js for strong random number generation. The password is then encrypted right in your browser using the Stanford Javascript Crypto Library (SJCL) using AES 256 bit in GCM mode. The actual encryption key used in the password encryption is a concatenation of the public and private encryption key parts. The public encryption key part is stored in the unique password link that your browser generates and is never seen by us. The private encryption key part is sent to our servers along with the ciphertext returned by SJCL.

Once the unique password link is accessed, our servers send the private encryption key part with the ciphertext and then the actual password is decrypted in the viewer's browser using the public encryption key part in the link and the private encryption key part from our database. After this our servers wipe the private encryption key part and the ciphertext from our database making the accessed password link completely void. Our servers will never see the public encryption key part because it is stored in the URL as a fragment identifier (#...). A browser does not send the fragment identifier to a server.

As the whole service uses HTTPS only, you can be sure that the password can not be seen by anyone else than those who have access to the original, unique password link. If, however, someone accesses the password link before the actual recipient, the link will show a message that the password has already been seen and actions should be taken. Notifications can also be sent when a password is viewed (read more about the additional features).

We deliberately have strict limits for the service usage for unregistered users. If you need raised usage limits or more features, consider creating a free account or subscribing to one of our paid plans.