Is Safha Safe? Security and Your Files
How Safha protects your files: where each file is processed, when it is erased, who can see it, the standards we follow and what is still to come.
We know your files can hold contracts, IDs and personal papers. So we built Safha to keep as much of your work as possible on your device, and when a file has to leave it, we tell you when, where and why. Everything on this page comes from the service's real configuration, its code and the live server's responses. What we haven't done yet is clearly marked "On the way".
Last updated:
At a glance
- 0 bytesof your file reach us with tools that run on your device
- Right awayserver-tool files are erased once your result is sent
- TLS 1.3encrypts the connection, with HSTS for two years
- bcryptstores passwords, at cost 12
On this page
Privacy principles
Three principles behind every Safha feature:
We don't sell your data
We don't sell your personal data, we don't show targeted ads, and we use no advertising cookies or third-party tracking cookies. The site's Content Security Policy only lets our pages connect to our own domain (
connect-src 'self').We collect only what's needed
You don't need an account to use the tools. Our analytics are our own: we never store your raw IP address, we turn it into a hashed token using a secret that changes every day. Tool logs never contain your file names or contents, only the tool, where it ran, whether it worked, how long it took and an approximate size range.
You're in control
You see where your file will be processed before you choose it. You can delete signature requests and workflows at any time, and delete your account yourself from the "My account" page. Details are in our privacy policy.
Where your file is processed
Every tool carries a badge that shows where your file is processed, before you choose it. These are the cases:
On your device
The file is read and processed inside your browser, and you download the result from the browser itself. The file is not sent to any server. This covers most PDF and image tools, such as merging, splitting, rotating, signing your own file and compressing images.
On our server
Some tools need software that doesn't run well in a browser, such as Office conversions and OCR. Here your file is sent over an encrypted connection to our conversion service, which processes it and erases it as soon as your result is sent.
Through an AI provider
Summarize PDF, Translate PDF and Ask your PDF extract the text from your file and send that text, not the file, to Anthropic over an encrypted connection. Details are in the AI section. We recommend not using these tools for highly sensitive documents.
Request signatures
When you ask other people to sign a document, we keep it until everyone has signed: the document, the signers' names and emails, and an audit trail of every step. This feature is for account holders only. How long we keep it is under Retention and deletion.
Workflows
If you chain several tools into a saved workflow, each step follows its own tool's rule. We save the workflow settings in your account, not the files that pass through it.
Standards we follow
We don't hold third-party security certifications today, such as ISO/IEC 27001 or SOC 2, and we don't show their logos. These are the standards we actually apply, and what we're working on:
GDPR principles
There is no official "GDPR certificate", and we don't claim one. We do apply its principles: we collect as little data as we can, set a time limit on everything we keep, and explain where every file is processed. Your rights include:
- Erasure: delete your account yourself from the "My account" page.
- Rectification: change your name and language on the "My account" page; for anything else, email us.
- Access and portability: ask for a copy of your account data at [email protected].
OWASP practices
We apply practices from OWASP's web application security guidance, including:
- Content Security Policy (CSP): scripts and connections are limited to our domain, and the site can't be embedded in other sites.
- SSRF protection: HTML to PDF and HTML to image accept only public http and https links, and we check the IP address on every connection and every redirect, so no request can reach our internal network.
- Isolated rendering: the browser that renders web pages has no direct internet access; each of its requests goes through that same check, and scripts are off by default in uploaded HTML files. Macros in Office files never run, and each conversion runs in its own process with a time limit and a cap on what it can write.
Iraq's Electronic Signature Law
Iraq has the Electronic Signature and Electronic Transactions Law No. 78 of 2012. Signatures in Safha are simple electronic signatures: we keep an audit trail with the time of every step, and a SHA-256 fingerprint of the original and the final document. They are not signatures certified by a certification authority, and we don't give legal advice on their validity. If your document needs a signature with a specific legal standing, consult a legal professional.
What we're working on
On the way- ISO/IEC 27001: building an information security management system to this standard, ahead of an independent assessment.
- An independent penetration test by an outside firm.
- Two-factor authentication for administrator accounts.
- Encryption at rest for signature-request files.
Product security
Hosting
Safha runs on a server rented from Contabo GmbH, whose address range is registered in Germany according to the RIPE NCC registry. Each service runs in its own Docker container managed with Coolify: the website app, the conversion service and a PostgreSQL database.
Network and DDoS protection
The site's traffic goes through Cloudflare's network, whose service includes automatic protection against distributed denial-of-service (DDoS) attacks. Inside the server, the database sits on an internal network cut off from the internet, and the conversion service accepts no connections from outside: only the website app can reach it, with a shared secret token.
Encryption in transit
- The whole site runs over HTTPS, and HTTP requests are redirected to HTTPS.
- Connections support TLS 1.3.
- We send an HSTS header for two years (
max-age=63072000; includeSubDomains), so your browser only opens the site over an encrypted connection. - The connection between Cloudflare and our server is encrypted too, with a valid TLS certificate.
Storage
We keep little on the server: accounts, workflows, saved CVs and analytics in the database, and signature-request files on the server's disk. Passwords and signing-link tokens are stored only as hashes (bcrypt and SHA-256). To be clear: today we don't encrypt the database or signature-request files at rest with a key of our own; they are protected by network isolation and server permissions.
Retention and deletion
These numbers come from the service's actual settings:
| Data | How long |
|---|---|
| Files for tools that run on your device | Never reach us |
| Server-tool files and results | Erased as soon as your result is sent, or as soon as processing fails |
| A stuck job file (e.g. if your connection drops) | An automatic cleaner runs every 5 minutes and erases any job file older than 42 minutes |
| Where temporary files live | A temporary in-memory file system (tmpfs), not a permanent disk, wiped entirely when the service restarts |
| AI tool text on our side | Not kept after processing |
| Ask your PDF text | Kept in server memory for 30 minutes at most, never written to disk |
| Text at Anthropic | Deleted within 30 days under its published policy, with the exceptions it lists |
| Signing link sent to signers | Valid for 30 days from sending |
| Downloading the signed copy with a signer's link | 30 days after the request is completed |
| Signature-request document and audit trail | Until you delete the request yourself |
| Sign-in session | 30 days |
| Detailed analytics records | 400 days, after which only daily totals remain |
| Your account | Until you delete it on the "My account" page |
When you delete your account, we erase from the database your account, workflows, saved CVs, signature requests and their audit trails; tool-usage counts remain without any link to you. Signature-request files are erased from the server's disk too.
Accounts and passwords
- Passwords are stored as bcrypt hashes at cost 12, which can't be turned back into the password. We don't accept passwords shorter than 8 characters.
- Your session lives in a signed cookie with the
HttpOnly,SecureandSameSite=Laxattributes, and expires after 30 days. For every sensitive request we re-check the account's status in the database. - Changing your password ends all your other sessions immediately.
- Sign-in attempts are limited: 5 wrong attempts per account and 20 per IP address, within 15 minutes.
- We will never ask for your password, by email or any other way.
AI
Summarize PDF, Translate PDF and Ask your PDF use Anthropic's API, and work only when we turn them on on the server.
- What is sent: the text extracted from your file, not the file itself, with a size cap on each request.
- What we keep: nothing after processing. Only Ask your PDF keeps the text in server memory for up to 30 minutes, to answer your follow-up questions.
- What Anthropic says: under its published privacy policy (last updated 1 July 2026), it deletes API inputs and outputs from its systems within 30 days, except in cases it lists, including enforcing its Usage Policy and complying with the law. Its Commercial Terms state that it may not train models on customer content from its services.
- Our advice: don't use these tools for highly sensitive documents.
Payments
Every Safha tool and feature is free in the current version. We don't ask for a payment card, and the site has no payment system. So we don't collect or store any payment data.
"My Documents" vault
A vault for your official documents, such as IDs and passports, in the Safha phone app:
- Stays on your phone only: nothing in it is ever sent over the internet.
- Encrypted with AES-256-GCM: every document, its preview and the vault's index.
- Its key is protected by the phone's system: Android Keystore or iOS Keychain, unlocked with biometrics or the device passcode, or with a 6-digit PIN for the vault.
- Excluded from backups and from transfers to another device.
Internal security
Access management
Safha has only two roles: member and administrator. The admin dashboard opens only for an account with the administrator role, and we check that role on the server twice: when the dashboard is reached, then on every page and action inside it. Changing an account's role or suspending it ends its sessions immediately.
Least privilege
- The conversion service runs as a non-root user on a read-only file system, and writes only to a temporary in-memory folder.
- It reads its secrets once at start-up, then gives up root privileges; those secrets never reach the conversion processes.
- The Anthropic key lives only in the conversion service; it never reaches the website app or the browser.
- The database password and the session-signing key are generated by the deployment platform; nobody types them by hand.
Two-factor authentication for administrators
On the wayWe don't offer two-factor authentication for administrator accounts today, and we won't claim we do. Until we add it, the first administrator password is generated at random by the deployment platform, and sign-in attempts are limited as for every account.
Admin action log
Actions that reach users' devices, such as sending notifications and publishing app releases, are logged with the administrator's identity and the time.
Check for yourself that your file wasn't uploaded
You don't have to take our word for it. For tools that run on your device, you can check on a computer:
- Open the tool page in Chrome, Edge or Firefox.
- Press F12 (or right-click and choose "Inspect"), then open the Network tab.
- Choose your file and run the tool.
- Watch the list: you won't see any request carrying your file or matching its size.
There's an even simpler way: open the tool page, disconnect from the internet, and the tool keeps working.
Reporting a security vulnerability
If you find a security vulnerability in Safha, email [email protected]. We publish this address in a security.txt file following RFC 9116. Please:
- Describe the issue, the steps to reproduce it and the page or tool affected.
- Don't access, change or delete other people's data, and don't disrupt the service while testing.
- Give us reasonable time to fix it before you publish any details.
We read and reply to every report. We don't currently offer a paid bug bounty, but we're grateful to everyone who helps us protect our users. For any other question about privacy or your account: [email protected].
What we promise
No protection on the internet is perfect. What we promise is what's written here: that as much of your work as possible stays on your device, and that we tell you clearly when your file leaves it, where it goes and why. When anything here changes, we update this page and its date.