PsiDrive
SECURITY MODEL

What PsiDrive protects—and where your choices still matter.

PsiDrive encrypts file content in the browser, keeps the transfer key out of backend storage, and applies short retention to guest transfers. This page explains those controls without treating any system as absolutely secure.

AES-256-GCMAuthenticated chunksPrivate R2 storageShort-lived upload URLs

The transfer boundary.

The sender's browser generates a random AES-256-GCM key, encrypts the filename and file chunks, and uploads ciphertext. The complete share link places the key after the # character. Browsers do not include that fragment in normal HTTP requests, so the API receives the transfer token but not the key from the link.

Encrypt locally

Web Crypto creates the key and authenticated encrypted chunks before upload.

Store ciphertext

The service stores encrypted objects and the metadata required to deliver and expire them.

Decrypt locally

The recipient browser reads the complete link, verifies each chunk, and reconstructs the file.

Assets, actors, and trust boundaries.

The primary assets are the plaintext file, encrypted filename, transfer key, optional password, complete share link, account credentials, and encrypted R2 objects. The design assumes Cloudflare can serve the application code and ciphertext correctly, while the sender and recipient devices are trusted to handle plaintext.

Actor or systemCan normally observeShould not receive
Sender devicePlaintext, generated key, complete linkNothing beyond what the sender selects
PsiDrive API and storageTransfer metadata, ciphertext, quotas, expiry stateThe URL-fragment encryption key
Recipient deviceComplete link and decrypted fileOther users' transfers
Person given the complete linkEverything necessary to attempt that transferAccess after expiry or deletion
Important: the complete transfer URL is a bearer secret. Key separation protects against the backend storing the key; it does not protect a link that is copied to the wrong person, captured by malware, or exposed through an unsafe communication channel.

Application and infrastructure safeguards.

Restricted browser policy

Production responses use a Content Security Policy, frame denial, MIME-sniffing protection, referrer controls, and restricted browser permissions.

Abuse controls

Turnstile validation, request-size limits, method restrictions, quotas, and Cloudflare rate controls reduce automated abuse and unexpected cost.

Credential protection

Passwords use salted PBKDF2-SHA256 hashes with an upgraded work factor. OTP and session flows are handled by the API rather than exposed in file links.

Threats the design does not remove.

PsiDrive has not claimed an independent security audit or a regulated-data certification. Do not use the current service for information that requires a specific contractual or compliance framework.

Security reporting.

Review the responsible-disclosure policy, then use the dedicated security report form or email security@psidrive.com. The public security.txt lists both monitored intake paths.

Do not submit passwords, OTPs, encryption keys, complete transfer URLs, private file content, or destructive proof-of-concept payloads. Start with a minimal description and an email address if follow-up is required.