Legal#
Terms of service, privacy policy, compliance answers, data processing agreement and subprocessor list for media0 (https://media0.eu). This file governs all legal and compliance questions about the service.
Terms of service#
THESE TERMS ARE A BINDING AGREEMENT AND GOVERN ACCESS TO AND USE OF THE SERVICE BY CUSTOMER AND ITS AGENTS, WHETHER THE TENANT WAS CREATED BY A HUMAN OR PROGRAMMATICALLY.
This Agreement governs Customer's access to and use of the Service and is effective when Customer creates a Tenant or first uses the API (the "Effective Date"). Customer and the Provider will each be referred to as a "party" and collectively as the "parties" for purposes of this Agreement.
Table of contents:
- The Service and access rights
- Accounts and using the Service
- Customer Content
- Term and termination
- Warranties and liability
- General terms
- Definitions
SECTION 1. THE SERVICE AND ACCESS RIGHTS#
- 1.1 The Service. The Service lets Customer publish HTML Templates as JSON and render them to immutable webp images via URLs with query parameters, using sandboxed headless Chromium. Rendered Images are a cache with a 24-hour sliding TTL; a re-request re-renders.
- 1.2 Access Rights. The Provider grants Customer a non-exclusive, non-transferable, revocable right to access and use the Service during the Beta, subject to this Agreement.
- 1.3 Beta Service. The Service is currently a free Beta, provided as-is. The Provider may change, limit, or discontinue features — or the Service as a whole — and will give reasonable notice where it does. Nothing in this Agreement promises a particular uptime, retention period, or continuity of the free tier.
- 1.4 Provider. The Service is operated by the service provider named in the Imprint section below, which also contains the legal disclosure required by § 5 DDG (German Digital Services Act).
SECTION 2. ACCOUNTS AND USING THE SERVICE#
- 2.1 Accounts. One identity per Tenant. Customer is responsible for everything that happens under its Tenant.
- 2.2 Credentials. Customer will keep its credentials (passkeys, recovery codes, API keys) safe. The Privacy policy section describes how they are stored.
- 2.3 Agent Signups. Programmatic signup by software Agents via proof of work is explicitly allowed. The same rules apply to Agents as to humans; whoever operates the Agent is responsible for its Tenant.
- 2.4 Prohibited Uses. Customer will not (and will not permit any other party to): (i) render or distribute content that is unlawful, infringes third-party rights (including copyright and trademark), or is abusive or harassing; (ii) attempt to escape or probe the render sandbox; (iii) access other Tenants' data; (iv) interfere with the operation of the Service; (v) circumvent rate limits or quotas; or (vi) resell, redistribute, sublicense, rent, lease, or otherwise make the Service available to third parties as a service of its own, or repackage the Service in any form — including white-labeling, rebranding, or wrapping the API, console, or render URLs in a competing or derivative offering. Serving Rendered Images produced for Customer's own products and content (for example embedding render URLs in Customer's pages and emails) is normal use and not a resale.
- 2.5 Quotas. Quotas (currently 50 Templates per Tenant, 10,000 renders per month, a 1 second render budget, and a maximum canvas of 4096 px) are technical rate limits, not billing units — failed render attempts count — and may change as the Provider operates the Beta.
SECTION 3. CUSTOMER CONTENT#
- 3.1 Ownership. As between the parties, Customer retains all rights to the Templates, aliases, render parameters, and Rendered Images it creates with the Service.
- 3.2 License to Operate. Customer grants the Provider the non-exclusive license needed to operate the Service: to store Customer's Templates, fetch external images Customer references, render Customer's content, and cache the resulting images for delivery. This license ends when the content is deleted, subject to the cache TTL described in Section 1.1.
- 3.3 Responsibility for Content. Customer is responsible for having the rights to everything it uploads or references, and for any personal data it embeds — the Data processing agreement section describes the controller/processor split.
- 3.4 Data Protection. The Privacy policy and Data processing agreement sections of this file apply to the Service and are incorporated by reference.
SECTION 4. TERM AND TERMINATION#
- 4.1 Term. This Agreement runs from the Effective Date until terminated under this Section 4.
- 4.2 Termination by Customer. Customer can stop using the Service and delete its Tenant at any time.
- 4.3 Termination and Suspension by the Provider. The Provider may terminate the Service or individual Tenants with reasonable notice, and may suspend or terminate Tenants immediately where they violate this Agreement, abuse the Service, or create a security risk.
- 4.4 Effect of Termination. Upon deletion of a Tenant, Templates and render parameters are deleted and cached Rendered Images expire per the TTL in Section 1.1; the Privacy policy section describes retention in detail.
SECTION 5. WARRANTIES AND LIABILITY#
- 5.1 As-Is Service. The Service is free of charge and provided as-is. The Provider does not warrant that the Service will be uninterrupted or error-free.
- 5.2 Limitation of Liability. To the extent permitted by German law, the Provider is liable only for intent (Vorsatz) and gross negligence (grobe Fahrlaessigkeit). This limitation does not apply to injury to life, body, or health, or to the breach of cardinal obligations (essential contractual duties whose fulfilment makes proper performance possible in the first place); in the latter case liability is limited to foreseeable, typical damage. Mandatory statutory liability remains unaffected.
SECTION 6. GENERAL TERMS#
- 6.1 Amendments. The Provider may amend this Agreement; material changes are announced in this file before they take effect. The canonical version of this document lives at https://media0.eu/legal.txt.
- 6.2 Governing Law and Jurisdiction. This Agreement and any dispute arising out of or in connection with the Service are governed exclusively by the law of the Federal Republic of Germany, excluding its conflict-of-law rules and the UN Convention on Contracts for the International Sale of Goods (CISG). Where legally permissible, the exclusive place of jurisdiction is Berlin, Germany. By accessing or using the Service, Customer accepts this Agreement, including this choice of law and venue.
- 6.3 Severability. If individual provisions of this Agreement are invalid, the remainder stays in effect.
SECTION 7. DEFINITIONS#
"Agent" means a software agent that creates or operates a Tenant programmatically on behalf of its operator.
"Agreement" means these Terms of service, together with the Privacy policy, Data processing agreement, and Subprocessor list sections of this file.
"Beta" means the current free beta phase of the Service.
"Customer" means the natural or legal person using the Service under this Agreement. Customer may also be referred to as "you."
"Provider" means botBrains UG (haftungsbeschraenkt), as named in the Imprint section. The Provider may also be referred to as "we" or "us."
"Rendered Image" means a webp image produced by the Service from a Template and render parameters.
"Service" means media0 (https://media0.eu), an Open Graph image and certificate rendering API, including its console and documentation.
"Template" means an HTML template published to the Service as JSON.
"Tenant" means the account created for a Customer within the Service.
Privacy policy#
We keep this short because we keep the data short. media0 does not run advertising, does not sell personal data, does not enrich profiles with third-party sources, and sets no tracking cookies. The only cookie is an essential session cookie for the console.
Who is responsible#
The controller for personal data processed on the media0 platform is the operator named in the Terms section (botBrains UG (haftungsbeschraenkt)); contact details are there too. For personal data that a customer embeds in their own templates or render parameters, the customer is the controller and we act as processor — see the Data processing agreement section.
What we collect#
- Account data: an optional email address (used as account handle and for passkey lookup), WebAuthn passkeys stored encrypted at rest (AES-256-GCM, bound to your tenant), recovery codes stored hashed, and API keys stored hashed.
- Customer content: your HTML templates, aliases, and the query parameters you send to render URLs.
- Technical logs: server access logs (IP address, request method, path, status code, timing), kept briefly.
- Usage data: monthly aggregate counters per tenant (renders, requests, bytes served).
Why we process it#
- To provide the service you signed up for — rendering images, managing your account, serving your templates (Art. 6(1)(b) GDPR).
- To keep the service secure and prevent abuse — access logs, per-IP rate limits on render and auth endpoints, SSRF guarding of external image fetches (Art. 6(1)(f) GDPR, our legitimate interest in a safe and available service).
- To comply with legal obligations where they apply to us (Art. 6(1)(c) GDPR).
Where your data lives#
All production systems, including DNS, run on Hetzner Online GmbH servers in Germany. Data stays in the EU; there are no third-country transfers. Hetzner is our sole subprocessor. TLS certificates come from Let's Encrypt, which receives only domain names during issuance. Any operational backups remain on EU infrastructure.
How long we keep it#
- Account data: for as long as your account exists. Delete your account and it goes with it.
- Rendered images: these are a cache with a 24-hour sliding TTL — an image not accessed for 24 hours is automatically deleted. External images fetched for a render are held only transiently and discarded after the render.
- Access logs: kept briefly, only as long as needed for security and abuse prevention.
- Usage aggregates: monthly counters per tenant, without request-level detail.
Your rights#
Under the GDPR you have the right of access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20), and objection to processing based on legitimate interests (Art. 21). To exercise them, contact us at the address given in the Terms section. You also have the right to lodge a complaint with a supervisory authority (Art. 77); for us the competent authority is the Berlin data protection authority.
If your request concerns personal data inside a customer's templates or render parameters, the customer is the controller — we will forward your request or refer you to them, as the Data processing agreement section describes.
Compliance#
This section answers the questions supplier reviews and ISMS checklists usually ask. Short version: everything runs in Germany on Hetzner, we hold as little data as possible, and we do not claim certifications we do not have.
Server location#
All production systems, including DNS, run on Hetzner Online GmbH servers in Germany (EU). There is no CDN, no US cloud, no third-party analytics, and no advertising or tracking. Personal data is processed within the EU; we do not transfer it to third countries. TLS certificates come from Let's Encrypt, which receives only domain names during issuance. Hetzner is our sole subprocessor (hosting and DNS). Processing is subject to the GDPR.
Encryption#
All traffic is encrypted in transit with TLS. WebAuthn passkeys are encrypted at rest with AES-256-GCM, with the ciphertext cryptographically bound to the owning tenant. API keys and recovery codes are never stored in plain text — only their hashes are kept.
Access control#
Customer authentication uses passkeys, recovery codes, and API keys scoped to read or write. There is no password database to breach, because there are no passwords.
Sandboxing#
Each render runs in a locked-down, network-isolated headless Chromium instance. Templates have no network access. External images referenced via image_url parameters are fetched server-side with SSRF guards, used transiently for the render, and discarded.
Data retention#
The full picture is in the Privacy section; the summary: rendered images are a cache with a 24-hour sliding TTL and are then deleted automatically; server access logs are kept briefly for security, rate limiting, and abuse prevention; account data is kept for the lifetime of the account. Usage data is monthly aggregate counters per tenant.
Availability#
media0 is currently a free beta. We run it carefully, but we offer no formal SLA and do not promise continuous offsite replication or tested disaster recovery. Operational backups, where they exist, stay on EU infrastructure. Rendered images are reproducible: if one expires or is lost, the next request re-renders it.
Certifications#
We hold no ISO 27001 or SOC 2 certification and do not claim any. If your supplier review needs a security questionnaire answered, email us (see the Terms section for contact details) and we will answer it honestly.
Data processing agreement#
For personal data you embed in templates or render parameters, you are the controller and we are the processor. The Data processing agreement section of this file is our agreement under Art. 28 GDPR and applies automatically to every account; a countersigned copy is available on request via the contact address in the Terms section.
Data processing agreement#
This section is a data processing agreement under Art. 28 GDPR. It applies automatically to every account, without a separate signature. If you need a countersigned copy for your records, ask via the contact address in the Terms section and we will provide one.
Roles#
For personal data you place in your templates or render parameters, you are the controller and we (botBrains UG (haftungsbeschraenkt), the operator) are your processor. For platform account data (your email address, passkeys, API keys, usage counters), we are the controller — see the Privacy section.
Subject matter, duration, nature and purpose#
We process the data on your instructions to execute your templates into images — that is, rendering, serving and short-term caching of the resulting images. The agreement runs for as long as your account exists.
Categories of data and data subjects#
The data is whatever you place in templates and render parameters — typically names or other text on certificates or Open Graph images. Data subjects are your users. You are responsible for having a legal basis for the data you send us; we do not inspect it.
Our obligations as processor#
- We process the data only on your documented instructions. Each API call is such an instruction — we render what you request and nothing more.
- Persons with access to the data are bound to confidentiality.
- We apply the technical and organisational measures described in the Compliance section.
- We use sub-processors only as listed in the Subprocessor list section (currently only Hetzner Online GmbH, hosting and DNS in Germany/EU). We will give notice of intended changes, and you may object by closing your account.
- We assist you, to the extent reasonable for a service of this kind, in responding to data-subject requests (access, rectification, erasure) concerning data processed through media0.
- Deletion is largely automatic: rendered images are a cache and are deleted after 24 hours without access; templates and render parameters are deleted when your account is deleted. A re-request simply re-renders.
- We notify you of personal-data breaches affecting your data without undue delay after becoming aware of them.
Audit rights#
We make available the information necessary to demonstrate compliance with this agreement, primarily by answering your questionnaires and written enquiries via the contact address in the Terms section. Given the size and nature of the service, remote information requests are the standard audit form; on-site audits require prior agreement on scope and timing.
Instructions and liability#
If we believe an instruction infringes the GDPR, we will tell you. Statutory liability rules apply; see also the Terms section.
Subprocessor list#
For customer content and account data, we use exactly one subprocessor:
| Subprocessor | Purpose | Location |
|---|---|---|
| Hetzner Online GmbH | Hosting & DNS | Germany (EU) |
All production systems, including any operational backups, run on Hetzner infrastructure in the EU. There is no CDN, no third-party analytics, and no US cloud provider.
Let's Encrypt (ISRG) issues our TLS certificates and receives only domain names during issuance, so it is not listed as a personal-data subprocessor.
Change notice: material changes to this list are announced in this file before they take effect. The canonical version of this document lives at https://media0.eu/legal.txt. Roles under the GDPR are described in the Data processing agreement section.
Imprint#
Legal disclosure in accordance with § 5 DDG (German Digital Services Act).
Service provider#
botBrains UG (haftungsbeschraenkt)
Osloer Str. 83
13359 Berlin
Germany
Contact#
Email: liam@botbrains.io
Responsible for content#
Liam van der Viven, address as above.
Dispute resolution#
We are neither obliged nor willing to participate in dispute resolution proceedings before a consumer arbitration board.
Last updated: August 2026.