Last updated: 4 June 2026
This Data Processing Agreement ("DPA") forms part of the Terms of Service between MarkupGo ("MarkupGo", "we", "us", the "Processor") and the customer ("you", the "Controller") and reflects the parties’ agreement with regard to the processing of personal data in connection with the MarkupGo services (the "Services"). It is designed to comply with Article 28 of the EU General Data Protection Regulation ("GDPR") and the UK GDPR.
Terms such as "personal data", "processing", "data subject", "controller", "processor" and "supervisory authority" have the meanings given to them in the GDPR. "Subprocessor" means any third party engaged by MarkupGo to process personal data on the Controller’s behalf. "Applicable Data Protection Law" means the EU GDPR, the UK GDPR, and any other data protection law applicable to the processing.
For the personal data processed under the Services, you act as the Controller and MarkupGo acts as the Processor. Where you are yourself acting as a processor on behalf of a third-party controller, you warrant that you have the necessary authority to instruct MarkupGo as a subprocessor.
MarkupGo processes personal data only to provide the Services, that is, to convert HTML, templates, and related inputs into documents and images (PDF, image, and similar outputs), to store the generated outputs, to operate user accounts, and to provide support. The details of the processing — subject matter, duration, nature and purpose, types of personal data, and categories of data subjects — are set out in Appendix A.
MarkupGo shall:
MarkupGo treats all personal data as confidential. Document inputs (the HTML, URL, Markdown, or template content submitted for rendering) are processed only in memory to produce the requested output and are not persisted to storage. We do not retain, analyse, sell, or manually review document inputs or compiled outputs for any purpose beyond providing the core Service functionality requested by the user. Outputs are not used for advertising or AI model training.
Taking into account the state of the art, the costs of implementation, and the nature, scope, context and purposes of processing, MarkupGo implements appropriate technical and organisational measures to ensure a level of security appropriate to the risk, as further described in Appendix C.
The Controller provides general authorisation for MarkupGo to engage the subprocessors listed in Appendix B. MarkupGo imposes data protection obligations on each subprocessor that are no less protective than those set out in this DPA and remains liable for the performance of each subprocessor’s obligations.
MarkupGo will inform the Controller of any intended addition or replacement of a subprocessor, giving the Controller the opportunity to object on reasonable data-protection grounds.
Taking into account the nature of the processing, MarkupGo assists the Controller by appropriate technical and organisational measures, insofar as this is possible, in fulfilling the Controller’s obligation to respond to requests to exercise data subject rights (access, rectification, erasure, restriction, portability, and objection). If a data subject contacts MarkupGo directly, we will, where lawful, refer the request to the Controller.
MarkupGo notifies the Controller without undue delay after becoming aware of a personal data breach affecting the Controller’s personal data, and provides the Controller with information reasonably required to meet the Controller’s obligations to report the breach to a supervisory authority and, where applicable, to data subjects.
Where the provision of the Services involves the transfer of personal data outside the United Kingdom or the European Economic Area, such transfers are carried out on the basis of an adequacy decision or appropriate safeguards, including the European Commission’s Standard Contractual Clauses (and the UK International Data Transfer Addendum, where applicable). The subprocessors in Appendix B operate under such safeguards.
Document inputs. The content submitted for rendering (HTML, URL, Markdown, or template input) is not stored. It is processed in memory to generate the requested output and discarded once rendering completes.
Generated outputs. Only the generated document or image is retained, so that the Controller can retrieve it. The Controller has direct, self-service control over this data and may delete it at any time, without contacting us, through the dashboard or the API — individually or in bulk (including deletion by date range). The Controller may also set an expiration at render time (from 60 seconds up to 90 days), after which the output is automatically and permanently deleted by a scheduled process; deletion removes the file from object storage and purges it from the cache.
Upon termination of the Services, or upon the Controller’s written request, MarkupGo deletes or returns the personal data processed on the Controller’s behalf and deletes existing copies, unless storage is required by law. Account data may be deleted by contacting [email protected]. Error logs and system events that may incidentally contain technical data are automatically purged on a rolling basis and do not include document content.
MarkupGo makes available to the Controller information reasonably necessary to demonstrate compliance with this DPA and allows for and contributes to audits, including inspections, conducted by the Controller or an auditor mandated by the Controller, subject to reasonable notice, confidentiality obligations, and the protection of the security and confidentiality of other customers’ data.
This DPA is effective for as long as MarkupGo processes personal data on the Controller’s behalf. The liability of each party under this DPA is subject to the limitations and exclusions of liability set out in the Terms of Service. In the event of a conflict between this DPA and the Terms of Service regarding the processing of personal data, this DPA prevails.
For any matter relating to this DPA, or to request a countersigned copy, contact us at [email protected].
| Subprocessor | Purpose | Primary location |
|---|---|---|
| Cloudflare, Inc. | Object storage (R2), CDN, and edge network | USA / Global (EU SCCs) |
| Google LLC (Google Cloud) | Document rendering compute (Cloud Run) | EU / USA |
| MongoDB, Inc. (Atlas) | Database hosting (accounts, metadata) | EU / USA |
| Upstash, Inc. | Rate limiting and caching (Redis) | EU / USA |
| Stripe, Inc. | Payment processing | USA / Ireland |
| Postmark (Wildbit / ActiveCampaign) | Transactional email delivery | USA |
| Microsoft Corporation (Clarity) | Website product analytics (no access to document content) | USA |