Send the link directly to the intended recipient instead of posting it in a public or broadly shared space.
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 component | Normal HTTP request | Browser application |
|---|---|---|
| Origin and path | Sent | Available |
| Query string | Sent | Available |
| Fragment after # | Not sent | Available 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.
A separately communicated password adds an authorization check if the link is forwarded or discovered.
Use temporary retention or delete-after-first-download when the recipient needs only one successful retrieval.