Data Processing Agreement
Version 1.0. Effective date: 27 October 2026
This Data Processing Agreement ("DPA") is between you, the customer who uses PDFDispatch ("you", the Client), and Šori rešitve, Daniel Arthur Hawton, s.p., Slovenska cesta 56, 1000 Ljubljana, Slovenia, registration number 7543727000, tax number 28722795 ("we", the Processor).
It sets out the terms that Article 28 of the General Data Protection Regulation (EU) 2016/679 ("GDPR") requires when we process personal data for you. It is part of the Terms of Service (the "main contract"). You agree to it when you accept the Terms of Service; you do not have to sign anything. If you need a copy for your records, download one with your company's details in the web app, under "DPA". Questions: support@pdfdispatch.com.
1. Subject matter and duration
- This DPA covers the personal data in the content that you send to the API and in what the API makes from it ("Customer Data"). Appendix 1 describes it.
- It does not cover the data about your account, your API keys, your usage and your payments. For that data we are the controller, and the Privacy Policy applies.
- You are the controller of Customer Data, or a processor acting for your own customers. You are responsible for making sure that you may send Customer Data to us and that we may process it as this DPA describes. If you are a processor, we are your sub-processor, and you confirm that your controller allows you to use us.
- This DPA lasts as long as the main contract, and after that for as long as we hold Customer Data. It ends when the main contract ends.
- Where US state privacy laws apply to Customer Data (for example the California Consumer Privacy Act), we act as your "service provider" or "contractor": we do not sell or share Customer Data, and we do not keep, use or disclose it outside our business with you.
2. Nature and purpose of the processing
We process Customer Data only to make the PDFs and other files that you ask for, to send them back to you, and to answer your support requests. Appendix 1 describes the processing, the types of data and the data subjects.
We do not:
- sell, rent or give Customer Data to anyone,
- use Customer Data for our own purposes, for analytics, advertising, profiling or product development,
- use Customer Data to train, test or evaluate any artificial-intelligence model, or send it to any AI tool,
- combine Customer Data with other data, except as the service needs.
3. Where Customer Data is processed
- We process Customer Data only on servers in Germany, in the European Union. Our support mailbox is also in Germany.
- We transfer Customer Data to a country outside the European Economic Area ("EEA") only on your instruction or with your prior written consent, and only if the conditions of Articles 44 to 49 GDPR are met. Before such a transfer, we tell you which country and which safeguard (for example an adequacy decision or the European Commission's standard contractual clauses) applies.
- Our administrator may connect to our servers for urgent maintenance while travelling outside the EEA. This is only through an encrypted connection, and Customer Data is not copied to any device outside the EEA.
- If you are outside the EEA, the files that the API sends back go to you there. This transfer is on your instruction. Where the GDPR requires a safeguard for it, the standard contractual clauses (Commission Implementing Decision (EU) 2021/914), Module 4 (from a processor to its client), are part of this DPA, with their annexes taken from the appendices of this DPA.
4. Technical and organisational measures
- We take the technical and organisational measures in Appendix 2, as Article 32 GDPR requires. They protect the confidentiality, integrity, availability and resilience of the systems that process Customer Data.
- We may change the measures as technology moves on. A change must never lower the level of protection. We record important changes and update Appendix 2.
5. Our other duties
- Contact for data protection. We are a one-person business and have not appointed a data protection officer, because the law does not require one. Contact for data protection: support@pdfdispatch.com.
- Confidentiality. Only Daniel Arthur Hawton, the owner, has access to Customer Data. Before anyone else gets access, they must sign a confidentiality agreement that lasts after their work ends, and learn the data protection rules for their work.
- Supervisory authorities. We cooperate with supervisory authorities when they ask. We tell you at once about any inspection or measure by an authority that concerns Customer Data, unless the law or a court order does not allow it.
- Claims and procedures. If a supervisory authority, a data subject or another person makes a claim against you about our processing, we help you as well as we can.
- Reviews. We regularly check our processes and the measures in Appendix 2, at least every six months.
- Requests from data subjects. We help you answer requests under Chapter III GDPR (access, deletion and the other rights). If a data subject contacts us directly about Customer Data, we tell them to contact you and forward the request to you within three working days. We do not answer it ourselves unless you tell us to.
- Data breaches. If we learn of a personal data breach that affects Customer Data, we tell you without undue delay, and at the latest within 48 hours, by e-mail to your account's address. The notice includes, as far as we know at the time:
- what happened, the types of data and the approximate number of data subjects and records concerned,
- a contact for more information,
- the likely consequences,
- what we have done or plan to do about it, and how to limit its effects.
6. Your duties
- Tell us at once if you find errors or irregularities in how we process Customer Data.
- The service treats all content the same way, with the measures in Appendix 2. You decide whether to send special categories of personal data (for example health data) and are responsible for having a legal basis for it.
7. Sub-processors
- A sub-processor is another company that processes Customer Data for us to provide the service. Companies that only give us other services (for example payment, domain names, or tools that never receive Customer Data) are not sub-processors.
- You allow us to use the sub-processors listed in Appendix 3 and on our sub-processors page.
- Before we add or replace a sub-processor, or change where Customer Data is processed, we tell you by e-mail to your account's address at least 30 days before, and update the sub-processors page. The notice says who the company is, where it processes data, what it does and which safeguards apply.
- You may object within those 30 days, for a reason based on data protection, by e-mail to support@pdfdispatch.com. We then try to find a solution with you. If we cannot, you may end the main contract before the change takes effect, and we refund the plan payment for the time after it ends and your unused credits. If you do not object, you agree to the change.
- We give each sub-processor, by written contract, data protection duties that protect Customer Data at least as well as this DPA. We remain fully responsible to you for our sub-processors.
8. Your right to check
- We give you all the information that you need to show that we keep this DPA and Article 28 GDPR. You can ask for it at any time.
- We show this first by documents: this DPA and its appendices, our records, and the certificates and audit reports of our sub-processors (for Hetzner: ISO/IEC 27001, BSI C5 and its yearly audit of technical and organisational measures).
- If these documents are not enough, you, or an auditor you choose who is bound to confidentiality, may inspect us, in person or remotely. Give us at least 30 days' notice. An inspection must take place during normal working hours, must not disturb the service, and must respect the security of other customers' data. We may refuse an auditor who works for a competitor.
- You may inspect at most once in 12 months, except after a personal data breach or when a supervisory authority asks for it.
- Each party pays its own costs of an inspection. If an inspection shows that we broke this DPA in an important way, we fix it at our own cost.
9. Other help
- We help you meet your duties under Articles 32 to 36 GDPR: the security of processing, notices of personal data breaches to authorities and data subjects, data protection impact assessments and prior consultation with a supervisory authority.
- We give this help, and the help under sections 5 and 8, free of charge to a reasonable extent. For work beyond that, we may charge our hourly rate, only after we tell you the expected cost in writing and you agree. We never charge for help with a breach that we or our sub-processors caused.
10. Your instructions
- We process Customer Data only on your documented instructions, unless EU or Member State law requires us to process it. If the law requires it, we tell you before we process it, unless the law does not allow us to tell you.
- Your instructions are this DPA, the main contract, and the requests you send to the API (including the URLs and webhook addresses in them). You can give further instructions in writing, and e-mail is enough. An instruction that changes the service is a request to change the main contract.
- If we think an instruction breaks the GDPR or other data protection law, we tell you at once. We may stop following that instruction until you confirm or change it.
11. Deletion and return
- We do not make copies of Customer Data except as the processing needs. The files you send and the files we make are deleted when the request ends. They are not stored in a database or in backups (Appendix 1).
- Support e-mails that contain Customer Data are deleted when we no longer need them for your request, and at the latest after two years. When the main contract ends, we delete them at your request, or send them to you first if you ask.
- When you ask, we confirm the deletion in writing within 10 working days.
- We keep records that show that we processed Customer Data properly for as long as the law requires.
12. Other terms
- Law and courts. This DPA is governed by the law of the Republic of Slovenia. The courts of Ljubljana have jurisdiction. Where the standard contractual clauses apply (section 3), their own rules on law and courts apply to them.
- Liability. The liability terms of the main contract (section 14 of the Terms of Service) also apply to this DPA. They do not limit the rights of data subjects under Article 82 GDPR.
- Protecting your data from third parties. If Customer Data held by us is put at risk by seizure, insolvency or other actions of third parties, we tell you at once, unless the law or a court order does not allow it. We tell everyone involved that the data belongs to you as the controller.
- Changes to this DPA. We may change this DPA, for example when the law or our sub-processors change. A change must not lower the protection of Customer Data. We update the version and the effective date at the top, and tell you by e-mail at least 30 days before an important change takes effect. If you do not agree, you can end the main contract before that.
- Contract accounts. If you have a written contract with us that includes its own data processing agreement, that agreement applies instead of this DPA.
- Order of precedence. If this DPA and the main contract say different things about data protection, this DPA applies. If the standard contractual clauses and this DPA say different things, the clauses apply.
- Severability. If a part of this DPA is not valid, the rest still applies.
Appendix 1: The processing, the data and the data subjects
| What we do | You send HTML, Markdown, a URL, Office files, images or PDFs to the API at api.pdfdispatch.com. The service turns them into a PDF (or another file, such as a screenshot, or an edited PDF) and sends it back in the answer, or to a webhook address that you give. |
| Purpose | Only to make the files you ask for, send them to you, and answer your support requests (section 2). |
| Types of data | Whatever you put in the content, for example names, addresses, contact details, invoices, reports and photographs. Support e-mails: names, e-mail addresses and the content of the request. |
| Data subjects | Anyone named or shown in the content you send: for example your customers, your staff and your customers' customers. For support: the people who write to us. |
| Special categories | Not needed by the service. If you send them, see section 6. |
| How content is handled | The content is held in memory and in a temporary folder on the server while the file is made, for at most about one minute. With a webhook, the result waits in that folder until it is delivered or the retries end (a few minutes). Then it is deleted. |
| What is not kept | The content you send and the files we make are never stored in a database, in file storage or in backups, and are never written to logs. |
| Pages the service fetches | For URL requests, and for images, fonts and other files that your content links to, the service fetches them from the internet, as a browser would. It does this on your instruction. It cannot reach private networks. |
| Records of requests | For each request we record the account, the key, the time, the sizes, how long it took and the result. This is account data, covered by the Privacy Policy, not Customer Data. The servers also log one line per request with the request id, the time, the IP address of the computer that sent it, and the result, never the content. |
| Where | Servers of Hetzner Online GmbH in Nuremberg and Falkenstein, Germany. Support e-mail: Hetzner, Nuremberg, Germany. |
| Duration | As long as the main contract. See section 11 for deletion. |
Appendix 2: Technical and organisational measures
PDFDispatch runs on our own cluster of servers in Hetzner's data centers in Germany. The servers are built from code and run by one administrator. Hetzner is responsible for the physical security of its data centers (access control, power, cooling and fire protection) under its own certified measures (ISO/IEC 27001).
| Area | Measures |
|---|---|
| Encryption in transit | HTTPS only, TLS 1.2 and TLS 1.3. Our servers talk to each other over a private network. Connections from the applications to the database use TLS. |
| Encryption at rest | Database backups are encrypted (AES-256). Passwords and API keys are stored only as hashes. Secrets are encrypted in the cluster. |
| Network protection | Firewalls at Hetzner and on each server. Application and database servers accept no traffic from the internet; only the load balancer (web traffic) and one access server (SSH and VPN) do. Inside the cluster, each application may only talk to what it needs. The PDF servers cannot reach our private network. |
| Access control | Only one person, the owner, has administrator access. Access goes through an encrypted VPN to one access server, with an SSH key and a one-time code. No password logins, no root logins. Two-factor authentication on the accounts at our providers for servers, DNS, code and secrets. The support mailbox uses a strong password only, because the mail protocols offer no second factor. |
| Separation | Each request is handled on its own, in its own temporary folder, which is deleted after the request. Content from one customer is never mixed with another's. |
| Hardening and updates | Applications run in containers without administrator rights and with read-only file systems where possible. Security updates are installed every day, and servers restart in a weekly window. Software dependencies are kept up to date automatically, with alerts for known security issues. |
| Logging | No access logs on the gateway. Logs never contain the content you send. Application logs are deleted after at most 7 days, system logs after at most 30 days (about 5 weeks for some text logs). |
| Availability and resilience | At least two copies of each application, in two data center locations. Two database servers in two locations, with automatic failover. Encrypted backups of the database (which holds no Customer Data) in the EU, restore tested. Outside monitoring every 30 seconds, with alerts to the administrator. |
| Incident response | A written plan for finding, containing and reporting incidents. You are told of a breach within 48 hours (section 5). |
| Privacy by design | We keep as little as we can: content only while the file is made, no IP address in our usage records, no tracking. |
| Deletion and disposal | Content is deleted after each request. Hetzner deletes or destroys disks under its own certified processes. |
| Reviews | Access, accounts and these measures are reviewed every six months and after any change in who has access. |
Appendix 3: Sub-processors
You allow us to use these sub-processors. The current list, and the other companies we work with, are on the sub-processors page.
| Sub-processor | What it does | Where |
|---|---|---|
| Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen, Germany | Servers, network and load balancer on which the service runs; the mailbox for support e-mail | Nuremberg and Falkenstein, Germany |