How our secure upload works
Our secure upload protects confidential documents from your device to the moment we open them, under our pre-signed Client NDA. Here is what happens to your documents, in plain words first, then the full technical specifications.
In short
- Encrypted on your device. Each document is encrypted in your browser, with AES-256, before it is sent.
- Only we can open them. The key travels only in the links that go to our work email, and every link also asks for a one-time code sent to that email.
- You see every opening. The private link on your receipt shows each time we open one of your documents.
- Delete anytime. Your private link deletes your documents at once. Otherwise they are deleted automatically 14 days after you upload them.
- Proof nothing changed. Your receipt shows a fingerprint of each document, and we check the same fingerprint when we open it.
- Covered by our NDA from the moment you send them.
Last reviewed: 13 November 2026.
What happens, step by step
- You choose your documents and accept our pre-signed Client NDA. Cloudflare Turnstile checks that a person, not a bot, is sending.
- Your browser creates a new random 256-bit key for this upload. For each document it calculates a SHA-256 fingerprint, then encrypts the document with AES-256-GCM. A progress bar shows the upload.
- The encrypted documents travel over HTTPS to our website on Cloudflare, which stores them in Cloudflare Workers KV. Our server writes the key into the links it emails to our work email, and keeps no copy of the key with your documents.
- Your receipt shows your reference, each document's fingerprint, the deletion date and your private link.
- When we open a link, it asks for a one-time code sent to our work email. Our browser then downloads the encrypted document, decrypts it with the key in the link, and checks that its fingerprint matches the one on your receipt.
- Each opening is recorded and shown on your private link.
- Your documents are deleted 14 days after upload, or as soon as you press Delete on your private link. We get an email when you delete them.
Technical specifications
| Encryption on your device | AES-256-GCM through the browser's Web Crypto API. A new random 256-bit key for each upload and a new random 12-byte IV for each document. GCM is authenticated encryption: a document altered after encryption fails to decrypt. |
|---|---|
| The key | Created in your browser and sent once, with the upload, so our server can add it to the links emailed to our work email. It is not stored with your documents. In those links the key sits after the #, the part of a web address that browsers do not send to the server, so your documents are decrypted in our browser, not on the server. |
| Fingerprints | SHA-256 of each original document, calculated in your browser before encryption. Shown on your receipt, on your private link and in our email. Our viewer calculates it again after decryption and shows whether it matches. |
| In transit | HTTPS (TLS) for every request. Inside Cloudflare's network, traffic to Workers KV also uses TLS. |
| Storage | Cloudflare Workers KV, which also encrypts everything it stores at rest with AES-256, with keys managed by Cloudflare. KV keeps data in a small number of central data centres and caches it in Cloudflare's data centres after it is read. Your documents are stored only in the form your browser encrypted them; with each one we keep its name, size, type and fingerprint so we can show them to you. |
| Opening a document | A six-digit one-time code emailed to our work email, valid for 10 minutes and 5 tries, with at most 6 codes an hour. A correct code opens a 12-hour session in that one browser (an HttpOnly, Secure cookie). |
| Our email | Sent by Cloudflare's email service, which is set up to deliver to our one verified work address and no other. |
| Spam protection | Cloudflare Turnstile, a CAPTCHA-free, privacy-preserving check that processes only the data the check needs. |
| Access record | Each time a document is opened we record the time, the document and the country the request came from. Your private link shows the time and the document. |
| Your private link | Holds a random 256-bit token after the #; our server keeps only its SHA-256 hash. It shows your documents, their fingerprints, the access record and the deletion date, and has a Delete button. |
| Deletion | Automatic 14 days after upload. Delete on your private link removes every document at once and emails us. Cloudflare's other locations can take 60 seconds or more to see a deletion, and any cached copy stays encrypted. After deletion your private link still shows your reference and when the documents were deleted, for up to 15 days. |
| NDA record | Your name, email, WhatsApp number, the service, where the documents will be used, the document names, the NDA version, the time you accepted it and your IP address. No document content. Kept 180 days as the record of your acceptance. |
| Page protections | Our viewer and your private link are never cached (no-store), never indexed by search engines, and run under a strict Content Security Policy; documents are served with nosniff. |
| No tracking | No Google Analytics, advertising or session-recording scripts. Cloudflare Web Analytics counts visits to the upload page and this page without cookies and without tracking individual visitors; our viewer and your private link allow no outside scripts at all. Our site also counts taps on its WhatsApp buttons, as plain numbers: no name, number, email or IP address is stored. |
| Limits | Up to 10 documents, 20 MB each, 60 MB in all. |
Who can read your documents
MYLegalTrans, through our work email and a one-time code. We use them only to prepare your quotation and handle your order (clause 3 of the NDA), and share them only as the NDA allows (clause 4): with the translators, reviewers and notaries we engage, who are bound by confidentiality, and with the authorities your documents must go to, such as Wisma Putra or an embassy. Cloudflare stores your documents only in the encrypted form your browser created.
Upload documents securelyRelated: Client NDA · Privacy Policy · Guarantees
Sources
- Cloudflare Workers KV: Data security
- Cloudflare Workers KV: How KV works
- Cloudflare Turnstile
- Cloudflare Email Routing: Send emails from Workers
- Cloudflare blog: The RUM Diaries, enabling Web Analytics by default
- MDN: SubtleCrypto encrypt() (AES-GCM)
- MDN: URI fragment
- NIST FIPS 180-4: Secure Hash Standard (SHA-256)