PsiDrive
SECURE SHARING GUIDE

Why the encryption key lives after the hash.

In a URL such as https://example.com/transfer#key, the part after # is the fragment. The browser uses it for client-side navigation and state, but omits it from the normal HTTP request sent to the origin.

What the server sees.

When a recipient opens a PsiDrive link, the server receives the origin, path, and transfer request needed to return the web app. JavaScript running in the page can then read the fragment locally. The backend does not receive that fragment through the ordinary URL request, so it can deliver encrypted objects without learning the key from the link.

Link componentNormal HTTP requestBrowser application
Origin and pathSentAvailable
Query stringSentAvailable
Fragment after #Not sentAvailable locally

Why this is separation, not magic.

The fragment prevents the normal network request from carrying the key, but the complete link still contains a powerful secret. It may be exposed if the sender pastes it into the wrong conversation, a recipient shares it onward, a device records the screen, or malicious software can read browser content.

That is why PsiDrive avoids adding analytics parameters to transfer links and why users should never paste a complete active link into public issue trackers, screenshots, or tester feedback.

Safer handling for a complete link.

Use a private channel

Send the link directly to the intended recipient instead of posting it in a public or broadly shared space.

Add a password when useful

A separately communicated password adds an authorization check if the link is forwarded or discovered.

Limit the lifetime

Use temporary retention or delete-after-first-download when the recipient needs only one successful retrieval.