secure-docs

Security

secure-docs stops the people you share with from taking a document away, and makes any leak traceable back to them. It doesn't make a leak impossible. This page says exactly what is protected and what isn't.

We don't hold any security certification (ISO 27001, SOC 2 or similar). If your work requires one, check this before trusting us with documents.

Threat model

For each risk: what we do, and where it stops.

  • The recipient downloads the document

    Protection
    They never receive the file, only page images rendered for them. Original uploads can't be downloaded at all, not even through the API.
    Limit
    Only files you upload as deliverables can be downloaded.
  • The recipient prints, copies the text or saves the page

    Protection
    Printing, selecting, copying and right-clicking are blocked in the viewer.
    Limit
    A technical user can still pull the page images out of the browser. They carry the same watermark as a screenshot.
  • The recipient takes a screenshot or photographs the screen

    Protection
    Every page carries their name, email, the date, the time and their IP address, repeated diagonally across the page and in a band at the foot. The page blurs when the window loses focus.
    Limit
    No website can prevent a screenshot. The protection is traceability: the copy names the person who made it.
  • The link is forwarded to someone else

    Protection
    The watermark shows the intended reader's name, not the new person's. Every opening is logged with its IP address. Links expire, and you can revoke them.
    Limit
    While a link is valid, anyone holding it can open it. Treat it like a password.
  • The database leaks

    Protection
    Files and their names are encrypted with AES-256-GCM, one key per file. The master key is not stored in the database.
    Limit
    A copy of the database alone isn't enough to read any document.
  • Someone gets root access to the server

    Protection
    The master key is kept apart from the data, in the service's environment rather than the database.
    Limit
    Someone with root on the server can read the master key and decrypt documents. This risk is not covered.
  • An API key is stolen

    Protection
    Keys belong to one account and can be revoked from the dashboard at any time. Original uploads still can't be downloaded with a key.
    Limit
    With a valid key, an attacker can upload files and create view links. Keep keys on your server.

Encryption

  • Each file is encrypted with AES-256-GCM under its own key, generated at upload.
  • File names are encrypted the same way.
  • Each file key is itself encrypted by a master key that lives only in the service's environment, never in the database. A copy of the database holds nothing but ciphertext.
  • GCM authenticates the content: a tampered file is refused when decrypted.
  • Every encryption is bound to the file's id, so ciphertext moved to another record won't decrypt.
  • Decryption happens on the server, at the moment a page image is rendered.

What gets logged

Upload
The document and the time it arrived.
Link opened
The intended reader, the date, the time and the IP address.
Page shown
Every page displayed, with the reader, the time and the IP address.
Download
Every download of a deliverable.
Revocation
The revoked link, the reader it was for, and the time.
Deletion
The deleted document and the time.

Every plan can read the log in the dashboard. Business can export it as CSV.

Hosting

Documents, the database and the service run in Germany, in the European Union, on Hetzner servers.

Deletion

When you delete a document, its ciphertext is erased and every view link to it stops working. Its entries stay in the activity log, so you keep the record of who read it.

Two limits you should know about

Screenshots

No website can block a screenshot, a screen recording or a photo taken with a phone, and secure-docs doesn't claim to. What we guarantee is that every image shown carries the reader's identity, so a copy that circulates points at them. The protection is traceability, and the deterrence that comes with it.

Root access to the server

The server needs the master key to render pages, so someone with root access to it could read the key and decrypt documents. This is not end-to-end encryption.

Found a vulnerability, or have a question this page doesn't answer? Write to [email protected]. For integration details, see the documentation.