P¬P Legal
Data Processing Addendum
Effective Date: June 16, 2026 · Last updated: November 3, 2026
This Data Processing Addendum (“DPA”) forms part of the agreement between PnotP Inc. (“PnotP”, “we”, “us”, “our”) and the customer (“Customer”, “you”) that references or incorporates it (the “Agreement”, including our Terms of Service and Privacy Policy). It governs our processing of Personal Data on your behalf when you use the Services. Where there is any conflict between this DPA and the Agreement on the subject of data protection, this DPA controls.
1. Roles of the Parties
- For Personal Data you submit to the Services, you act as the Controller (or as a processor acting on behalf of a third-party controller), and PnotP acts as your Processor (or sub-processor).
- Each party will comply with its obligations under the Data Protection Laws applicable to it in that role.
- PnotP processes Customer Personal Data only to provide the Services and only on your documented instructions (including as set out in the Agreement and this DPA), unless required to act otherwise by law, in which case we will inform you before processing unless that law prohibits it.
2. Definitions
- “Data Protection Laws” means all laws applicable to the processing of Personal Data under the Agreement, including the EU General Data Protection Regulation 2016/679 (“GDPR”), the UK GDPR and Data Protection Act 2018, the Swiss Federal Act on Data Protection, and U.S. state privacy laws including the California Consumer Privacy Act as amended by the CPRA (“CCPA”).
- “Personal Data”, “Controller”, “Processor”, “Data Subject”, “Processing”, and “Personal Data Breach” have the meanings given in the GDPR; “Sell”, “Share”, “Service Provider”, and “Business Purpose” have the meanings given in the CCPA.
- “Customer Personal Data” means Personal Data contained in the inputs, content, and data that you or your users submit to the Services for processing.
- “Sub-processor” means any third party engaged by PnotP to process Customer Personal Data.
- “Standard Contractual Clauses” or “SCCs” means the clauses approved by the European Commission for the transfer of Personal Data to third countries.
3. Scope and Details of Processing
The subject matter, duration, nature and purpose of the processing, the types of Personal Data, and the categories of Data Subjects are set out in Schedule 1.
4. Zero Retention and No Training
Consistent with how the Services are built, and in addition to our other obligations in this DPA:
- Inputs you submit for inference are processed for the single request and are not retained by PnotP after the result is returned. They are not written to a database or persisted in the clear as part of normal operation. Inference is served by the Sub-processors listed in Schedule 3, each of which processes the content to serve the request under the retention basis stated for it in that Schedule. Those bases are not identical, so we state them per Sub-processor rather than making one claim for all of them. Google Cloud and Fireworks AI are under a zero-retention agreement with no abuse-monitoring retention: your inputs and outputs are not stored by them at all, for any purpose. Google Cloud moved to that basis on September 15, 2026, when Google approved our exception to the prompt-logging policy described in its Abuse Monitoring documentation; before that date it retained content for a limited period for abuse detection, and receipts issued before that date say so. Amazon Web Services, which serves the Claude models on Amazon Bedrock, does not store or log your inputs or outputs either, but its automated abuse detection keeps one exception, described in Schedule 3. Its basis is therefore zero retention, subject to abuse monitoring, and its receipts say so. The Sub-processor that served each request is named on its receipt, so the basis that applied to any given request is verifiable from the receipt rather than inferred from this document.
- Prompt caching. Where a model supports it, the Sub-processor serving it may keep the beginning of a prompt, such as a long system prompt, for a short time, so that a request repeating it costs less and returns sooner. The cache is scoped to your account and expires on its own: on Google Cloud it is held in volatile memory only, and on the Claude models it lasts five minutes after its last use, on the server that processed the request. Caching is on by default. You can turn it off for any request by sending
"prompt_cache": false. Each receipt reports the tokens read from or written to the cache. - We do not use Customer Personal Data to train, fine-tune, or evaluate any model, and your inputs do not enter any model that serves another customer.
- We do not Sell or Share Customer Personal Data, and we do not retain, use, or disclose it for any purpose other than performing the Services or as otherwise permitted by Data Protection Laws.
- What we do keep is metadata, and we list it. So that abuse can be attributed and stopped without holding what anyone said, we retain, per request: the API key that made it (as a one-way hash), the time, the endpoint, the model requested and the model that served it, the Sub-processor that served it, input and output token counts, latency, the response status, and — where a request was declined — the reason code. Requests declined by the screening in Section 5 are recorded on the same basis, because a blocked request is the one an abuse report is about. None of these fields can hold your content: the record has no column able to store a prompt, a completion, a tool argument, or an error message, and an automated check fails our build if one is ever added. This is a deliberate design constraint rather than a policy we could quietly relax.
- A consequence worth stating plainly. Because we do not hold your inputs or outputs, we cannot produce them — not for a Sub-processor responding to an abuse report, not for a commercial counterparty, and not for ourselves. Where we are asked to account for misuse we can identify the API key, the volume, the model and the timing, and we can revoke that key immediately. We cannot supply the content, because there is none to supply.
- The technical measures supporting these commitments are described in Schedule 2.
5. Abuse Prevention and Enforcement
The Sub-processors that serve your requests require us to prevent misuse of their models, and we are contractually bound to them for use that originates from our platform. The controls below are how we meet that obligation. We describe them here because two of them involve processing your content or your metadata, and you are entitled to know which, and how far each one goes.
- Content screening, and the one place it applies. Requests routed to a Sub-processor whose retention basis in Schedule 3 is not zero retention may be classified in transit before they are sent, and declined if the classifier flags them. No Sub-processor in Schedule 3 has that basis today, so no request is screened. If one is added, screening will apply only to its models, which you will reach only by naming them. It does not apply to any model served under a zero-retention basis, with or without abuse monitoring, and it will not be extended to them: inspecting content on those rails would contradict the agreement that makes them zero-retention in the first place.
- What screening leaves behind. The classification outcome only — whether the request was flagged, and the category names the classifier returned, such as “violence”. A category name describes a classification; it is not, and cannot contain, the text that was classified. The content itself is not stored at any point in this process.
- Automated enforcement. We evaluate the metadata described in Section 4 against thresholds — rate of flagged requests, repeated flags in one category, and request volume — and may suspend an individual API key automatically when one is crossed. Suspension is per key rather than per account, so that if you issue a separate key per downstream customer, one customer’s breach does not interrupt the others. We record which rule was crossed, the value observed and the action taken; that record contains no content either.
- Reinstatement and recourse. An automated suspension is reviewed by a person and can be reversed. We will tell you that it happened and why. If you believe a suspension was wrong, contact us at the address in the Contact section and we will review it.
Where a Sub-processor reports suspected misuse to us, we respond using the metadata in Section 4 and the enforcement record above. As stated there, we cannot provide the content of any request, because we do not retain it.
6. Confidentiality
PnotP ensures that personnel authorized to process Customer Personal Data are bound by appropriate obligations of confidentiality and are made aware of the confidential nature of the data.
7. Security
PnotP implements and maintains appropriate technical and organizational measures designed to protect Customer Personal Data against accidental or unlawful destruction, loss, alteration, unauthorized disclosure, or access, taking into account the state of the art, the costs of implementation, and the nature, scope, context, and purposes of processing. A summary of these measures is set out in Schedule 2.
8. Sub-processors
- You provide general authorization for PnotP to engage Sub-processors to process Customer Personal Data, subject to this Section.
- PnotP imposes data protection terms on each Sub-processor that are no less protective than those in this DPA, and remains responsible for each Sub-processor’s performance of its obligations.
- The current Sub-processors are listed in Schedule 3. PnotP will give notice of any intended addition or replacement of a Sub-processor and a reasonable opportunity to object on legitimate data-protection grounds.
9. International Data Transfers
Where the provision of the Services involves transferring Customer Personal Data outside the EEA, the UK, or Switzerland to a country without an adequacy decision, such transfers are governed by the applicable Standard Contractual Clauses (including the UK International Data Transfer Addendum and the Swiss amendments, as relevant), which are incorporated into this DPA by reference and completed using the details in the Schedules.
10. Assistance to the Controller
Taking into account the nature of the processing and the information available to us, PnotP will:
- Assist you, by appropriate technical and organizational measures, in responding to requests from Data Subjects to exercise their rights;
- Assist you in ensuring compliance with your obligations relating to security, breach notification, data protection impact assessments, and prior consultation with supervisory authorities.
11. Personal Data Breach
PnotP will notify you without undue delay after becoming aware of a Personal Data Breach affecting Customer Personal Data, and will provide information reasonably available to us to assist you in meeting your obligations to notify supervisory authorities and affected Data Subjects.
12. Deletion or Return
Given the zero-retention design described in Section 4, inputs processed for inference are not retained. For any other Customer Personal Data stored to provide the Services (for example, account data), upon termination of the Services PnotP will, at your choice, delete or return such data and delete existing copies, unless retention is required by law.
The request metadata and enforcement records described in Sections 4 and 5 are retained for twelve months and then deleted. That period is set by what it is for: a Sub-processor investigating misuse may reach us well after the requests in question, and an enforcement decision we cannot explain is one we cannot fairly reverse. It is not a period we need for any other purpose, and we do not keep these records longer in order to analyse them.
13. Audits
PnotP will make available to you the information reasonably necessary to demonstrate compliance with this DPA and will allow for and contribute to audits, including inspections, conducted by you or an auditor you mandate, subject to reasonable notice, confidentiality obligations, and PnotP’s security and operational requirements.
14. CCPA Terms
- To the extent the CCPA applies, PnotP acts as a Service Provider with respect to Customer Personal Data.
- PnotP will not Sell or Share Customer Personal Data, will not retain, use, or disclose it outside the direct business relationship or for any purpose other than the Business Purposes specified in the Agreement, and will not combine it with personal information from other sources except as permitted by the CCPA.
- PnotP certifies that it understands and will comply with these restrictions.
15. Liability
Each party’s liability arising out of or related to this DPA is subject to the limitations and exclusions of liability set out in the Agreement.
16. General
- This DPA is incorporated into and forms part of the Agreement. Except as amended by this DPA, the Agreement remains in full force.
- This DPA is governed by the laws of the State of Delaware, United States, without regard to its conflict-of-laws rules.
- We may update this DPA from time to time to reflect changes in law or our processing; material changes will be communicated in accordance with the Agreement.
Schedule 1 — Details of Processing
- Subject matter: provision of the PnotP inference platform (model design, training, deployment, and inference, including agent and compliant-inference features).
- Duration: the term of the Agreement; inference inputs are processed only for the duration of each request (see Section 4).
- Nature and purpose: hosting, computation, and serving of models and inference requests on the Customer’s behalf.
- Types of Personal Data: any Personal Data the Customer chooses to include in inputs, datasets, or account information. The Customer controls what it submits.
- Categories of Data Subjects: determined by the Customer (for example, the Customer’s users, customers, or other individuals whose data the Customer submits).
Schedule 2 — Technical and Organizational Measures
- Encryption of data in transit (TLS) and of stored account data at rest.
- Zero-retention processing of inference inputs: inputs are held only for the single request and are not persisted in the clear or logged as cleartext in normal operation.
- No use of Customer inputs for model training, fine-tuning, or evaluation.
- Per-call disclosure: each inference response carries a signed receipt naming the Sub-processor that served it.
- Access controls and least-privilege access to systems handling Customer Personal Data; authentication for administrative access.
- Tenant isolation so that one customer’s inputs are not exposed to, or used by, another customer’s workloads.
- Schema-level exclusion of content from operational records: the tables holding request metadata and enforcement records have no field capable of storing a prompt, a completion, a tool argument, or an error message, and an automated check in our build pipeline fails if such a field is introduced. The guarantee is enforced by the data model rather than by operational discipline.
- Per-key identity and immediate revocation: each API key is stored only as a one-way hash, is the unit of attribution in our records, and can be revoked individually and without delay.
- Logging and monitoring of system access and security-relevant events.
- Personnel confidentiality obligations and security awareness.
Schedule 3 — Approved Sub-processors
The following Sub-processors are engaged as of the Effective Date. This list may be updated in accordance with Section 8.
The final column states, for each Sub-processor that performs inference, the basis on which it handles your inputs. We state it per Sub-processor rather than making one claim for all of them because the bases genuinely differ, and the differences are the kind a customer choosing a model should be able to see. Amazon Web Services sits at the middle value, for the reason in the note below, and receipts issued before September 15, 2026 carry it for Google Cloud. The three values are:
- Zero retention — the Sub-processor is contractually bound not to store your inputs or outputs at all. Nothing is retained for any purpose, including abuse monitoring, and nothing is available to it for human review.
- Zero retention, subject to abuse monitoring — the Sub-processor is bound not to retain your content for training or service improvement, but its abuse-monitoring processes still apply, under which content may be retained for a limited period for abuse detection in accordance with the provider’s terms.
- Not zero retention — the Sub-processor’s current terms do not provide zero retention and its abuse monitoring applies. We do not use any such Sub-processor to serve the data-compliant inference tier.
| Sub-processor | Purpose | Location | Inference retention basis |
|---|---|---|---|
| Supabase | Database and authentication | United States / EU | Not an inference Sub-processor |
| Render | Application hosting and compute | United States | Not an inference Sub-processor |
| Cloudflare | CDN, edge network, and static hosting | Global | Not an inference Sub-processor |
| Google Cloud | LLM inference (Vertex AI) and GPU training compute (Compute Engine) | United States | Zero retention |
| Fireworks AI | LLM inference | United States | Zero retention |
| Amazon Web Services | LLM inference (Amazon Bedrock): the Claude models, and Gemma when Google Cloud cannot serve a request | United States; Claude requests may be processed in other AWS commercial Regions (see note below) | Zero retention, subject to abuse monitoring — see note below |
| Stripe | Payment processing | United States | Not an inference Sub-processor |
| PostHog | Product analytics | United States / EU | Not an inference Sub-processor |
| Brevo | Transactional email | European Union | Not an inference Sub-processor |
About the Google Cloud basis. Until September 15, 2026 this row read “zero retention, subject to abuse monitoring”: Google retained prompts for a limited period for abuse detection, never for training. On that date Google approved our application for an exception to the prompt-logging policy set out in its Abuse Monitoring documentation, and that retention stopped. This is a change to an existing Sub-processor’s retention basis in your favour, not the addition or replacement of a Sub-processor, so no Section 8 objection period applies. Receipts issued before that date carry the earlier basis and remain accurate for the requests they describe.
About Amazon Web Services. Since October 14, 2026 the Claude models have been served on Amazon Bedrock, and Gemma 4 26B is answered there when Google Cloud is out of capacity for a request. Our AWS account’s data-retention mode is none, and a request is served on Bedrock only while a reading of that mode taken in the last fifteen minutes says so; otherwise the request is declined. Amazon Bedrock does not store or log your inputs or outputs, and the model’s developer (Anthropic for Claude, Google for Gemma) has no access to them. Bedrock’s abuse detection runs automatically while the request is served. The one exception AWS keeps under every setting: if it detects apparent child sexual abuse material in an image input or output, it may block the request, store and review the flagged item only to determine whether it is CSAM, and report it to the National Center for Missing and Exploited Children or another relevant authority. That exception is why this row reads “subject to abuse monitoring” rather than plain zero retention.
The Claude models use Bedrock’s global inference profile. Requests are sent from the AWS us-east-1 Region and may be processed in any supported commercial AWS Region worldwide; Section 9 governs those transfers. Gemma requests on Bedrock are processed in us-east-1.
Amazon Web Services was added to this Schedule on November 3, 2026. It has served requests since October 14, 2026, before this Schedule listed it. Customers are being notified under Section 8, and an objection on legitimate data-protection grounds can be sent to [email protected].
OpenAI is no longer a Sub-processor. The OpenAI models were removed from the catalog on November 3, 2026, and no request reaches OpenAI. Their terms did not provide zero retention, and our application for an organisation-level zero-retention agreement has not been granted. If they return, we will add OpenAI to this Schedule under Section 8 first.
Contact
Questions about this DPA or to exercise data-protection rights: [email protected]. To request a countersigned copy of this DPA, contact us at the same address.