DRAFT — not legal advice. Written on 17 Oct 2026 as a starting point. Have a lawyer review it before publishing. Placeholders are in [BRACKETS].
Data Processing Agreement: agentprose Cloud
Between the customer ("Controller") and [BUSINESS NAME, ENK/AS], org. no. [ORG NO] ("Processor"). It forms part of the Terms of Service and applies when the Controller uses agentprose Cloud features that send agent-activity data from the Controller's websites to the Processor.
1. Subject, duration, nature and purpose (Art. 28(3))
- Subject: analytics of AI-agent tool calls on the Controller's websites, and a hosted search index of the Controller's published content.
- Duration: for the term of the subscription, plus the deletion period in §9.
- Nature: collection, storage, aggregation, display, search and deletion.
- Purpose: to give the Controller agent analytics and hosted search for its sites. No other purpose.
2. Types of personal data and data subjects
- Data subjects: people whose AI agents use the Controller's websites; people named in the Controller's published content.
- Data: see Privacy Policy §2.2: page path without query string; agent search text (max 200 characters, can be switched off); tool name, result, latency, timestamps; agent family derived from User-Agent (the User-Agent string is not stored); a daily-rotating salted hash of IP + User-Agent + site (the raw IP is not stored; the salt is deleted daily); published content of the Controller's sites.
- No special categories of data are intended. The Controller must not configure agentprose to send them.
3. Processor obligations (Art. 28(3)(a)–(h))
The Processor shall:
- (a) process personal data only on the Controller's documented instructions (this DPA, the Terms, and the Controller's settings), including for transfers to third countries, unless EU/EEA or Norwegian law requires otherwise; in that case it tells the Controller first unless the law forbids it;
- (b) ensure that people authorised to process the data are bound by confidentiality;
- (c) take the measures required by Art. 32 (Annex 1);
- (d) engage sub-processors only under §4;
- (e) help the Controller, as far as possible, to respond to data subject requests (Art. 12–23);
- (f) help the Controller meet Art. 32–36 (security, breach notification, DPIA, prior consultation), taking into account the information available to the Processor;
- (g) at the end of the service, delete (or return, if the Controller asks before termination) all personal data, unless the law requires storage (§9);
- (h) make available the information needed to show compliance with Art. 28, and allow for and contribute to audits (§8). The Processor will tell the Controller immediately if, in its opinion, an instruction infringes data protection law.
4. Sub-processors (Art. 28(2) and (4))
- The Controller gives general written authorisation for the sub-processors listed in SUBPROCESSORS.md.
- The Processor will notify the Controller of any intended addition or replacement at least [30] days in advance, by email or by updating that list with notice. The Controller may object on reasonable grounds; if no solution is found, the Controller may terminate the affected service.
- The Processor imposes the same data protection obligations on each sub-processor by contract and remains liable for them.
5. Personal data breaches (Art. 33)
The Processor notifies the Controller without undue delay, and within [48] hours, after becoming aware of a breach affecting the Controller's data, with the information required by Art. 33(3) as it becomes available.
6. International transfers (Chapter V)
Agent-activity data and the search index are stored in the EEA (Azure Norway East). Any transfer outside the EEA by a sub-processor relies on an adequacy decision or the EU Standard Contractual Clauses: https://commission.europa.eu/law/law-topic/data-protection/international-dimension-data-protection/standard-contractual-clauses-scc_en
7. Controller obligations
The Controller is responsible for having a legal basis for the processing, for informing its visitors (e.g. in its own privacy policy), and for choosing whether search-text capture is on.
8. Audits
On request, the Processor provides a written description of its measures and the sub-processors' certifications (e.g. Microsoft Azure ISO 27001 / SOC 2 reports via the Microsoft Service Trust Portal). On-site audits: once a year with [30] days' notice, at the Controller's cost, under confidentiality.
9. Deletion
Agent-activity records are deleted automatically when the plan's retention period ends (30 / 365 / 730 days). When the account is closed, all of the Controller's data is deleted within [30] days, and from backups within [BACKUP RETENTION] days.
10. Liability and precedence
Liability follows the Terms. If this DPA conflicts with the Terms, this DPA prevails for data protection matters.
Annex 1: Technical and organisational measures (Art. 32)
- Hosting on Microsoft Azure, Norway East; encryption at rest (Azure-managed keys) and TLS 1.2+ in transit.
- No raw IP addresses or User-Agent strings stored; daily-rotated, discarded salt for unique-agent hashes; query strings stripped from page paths; search text capped at 200 characters and optional.
- Secret API keys, session tokens and passwords stored only as hashes (SHA-256 / scrypt).
- Secrets in Azure Key Vault, accessed by managed identity; no shared credentials.
- Per-account data isolation enforced in every query; origin-locked public site keys; rate limits.
- Automatic retention deletion; database backups with limited retention.
- Logs and traces kept [30] days, without raw IPs [verify the deployment's logging settings].
- Access limited to [the operator]; MFA on Azure, GitHub and Stripe accounts.
- Dependency updates and CI tests on every change.