Data Processing Agreement
Last updated: 7 May 2026
CraftCert (Crocker Digital Ltd) — customer-facing DPA for the customer-uploads-formulation-data flow.
This Data Processing Agreement (“DPA”) is entered into between:
(1) Crocker Digital Ltd, a company incorporated in England and Wales with company number 17008789, registered office at 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ (“Processor”, also “CraftCert”, “we”); and
(2) the legal entity identified in the Customer's CraftCert account, acting as controller of the personal data it uploads or causes to be processed through the service (“Controller”, “Customer”, “you”).
This DPA forms part of and is incorporated into the CraftCert Terms of Service at https://craftcert.co.uk/terms/ (the “Agreement”). In the event of conflict between this DPA and the Agreement in relation to the processing of Customer Personal Data, this DPA prevails.
This DPA is offered to any business Customer — typically a cosmetic, soap, candle or wax-melt maker, or a Responsible Person uploading data on behalf of multiple cosmetic makers — that processes personal data through the service. It takes effect automatically: this DPA is incorporated into the Agreement as a matter of contract when the Customer creates an account, and applies whenever the Customer uploads or causes to be processed personal data relating to people who are not users of the service (for example, named Responsible Persons in SCPN filings, ingredient-supplier contacts, named cosmetic chemists / safety assessors, batch handlers, customer testimonial submissions). The Customer does not need to sign or tick a box separately for this DPA to apply — automatic incorporation into the Agreement is how we meet UK GDPR Article 28 for every business Customer. If a Customer's internal procurement process requires a bilateral signed copy, contact us at support@craftcert.co.uk.
1. Interpretation
1.1 In this DPA, the following expressions have the meanings set out below. Terms not defined here have the meaning given in the Agreement, and capitalised terms not defined in either have the meaning given in UK Data Protection Law.
“Affiliate” — any entity controlling, controlled by, or under common control with a party.
“Applicable Data Protection Law” or “UK Data Protection Law” — the UK General Data Protection Regulation (as retained and amended by The Data Protection, Privacy and Electronic Communications (Amendments etc) (EU Exit) Regulations 2019), the Data Protection Act 2018, the Privacy and Electronic Communications (EC Directive) Regulations 2003, and any successor legislation, together with any guidance or code of practice issued by the Information Commissioner.
“Customer Personal Data” — personal data provided by or on behalf of the Customer to the Processor for processing under the Agreement. This includes data the Customer uploads or enters, data entered by individuals to whom the Customer has granted access, and metadata generated by the service in the course of processing that data.
“Data Subject”, “Personal Data”, “Personal Data Breach”, “Processing”, “Controller”, “Processor”, and “Special Category Data” — as defined in UK Data Protection Law.
“Restricted Transfer” — a transfer of Personal Data from the UK to a country which is not the subject of UK adequacy regulations.
“Schedule 1” — the processing description set out at the end of this DPA.
“Schedule 2” — the technical and organisational measures set out at the end of this DPA.
“Schedule 3” — the list of approved sub-processors referred to in clause 5.
“Standard Contractual Clauses” — the International Data Transfer Agreement issued by the Information Commissioner under section 119A of the Data Protection Act 2018 on 2 February 2022, or the International Data Transfer Addendum to the EU Standard Contractual Clauses issued on the same date, in each case as they may be updated from time to time.
1.2 In this DPA, references to “writing” include email.
2. Subject matter, nature, purpose, duration
2.1 The Processor processes Customer Personal Data only to provide the CraftCert service in accordance with the Agreement and this DPA, and only on the Customer's documented instructions.
2.2 The full description of processing — subject matter, duration, nature, purpose, categories of Data Subjects, and types of Personal Data — is set out in Schedule 1.
2.3 This DPA takes effect on the day the Customer first uses the service and continues until the later of (a) termination of the Agreement, and (b) the Processor completing the deletion or return of Customer Personal Data in accordance with clause 9.
3. Roles of the parties
3.1 In respect of Customer Personal Data uploaded or caused to be processed by the Customer, the Customer is the Controller and the Processor is the Processor. This captures, for example, named Responsible Persons in SCPN filings (Submit Cosmetic Product Notifications via the Office for Product Safety and Standards), ingredient-supplier contacts, named cosmetic chemists or safety assessors, batch-handler names appearing in batch records, and customer testimonial submissions referencing identifiable individuals.
3.2 In respect of the account data of the Customer's own users (names, email addresses, roles, passwords, audit-log entries, billing contact details, and the email-notification preference), the Processor is an independent Controller. Processing of that data is described in the Processor's Privacy Policy at https://craftcert.co.uk/privacy/.
3.3 Nothing in this DPA creates a joint-controllership arrangement under Article 26 of the UK GDPR in respect of Customer Personal Data.
4. Processor obligations (UK GDPR Article 28(3))
The Processor shall:
4.1 Instructions. Process Customer Personal Data only on the documented instructions of the Customer, including with regard to Restricted Transfers. The Customer's instructions are those contained in (a) the Agreement, (b) this DPA, (c) the configuration options the Customer sets in-product, and (d) any further written instruction notified to support@craftcert.co.uk. If the Processor considers that an instruction would infringe Applicable Data Protection Law, it shall notify the Customer without undue delay.
4.2 Confidentiality. Ensure that persons authorised to process Customer Personal Data have committed themselves to confidentiality or are under an appropriate statutory duty of confidentiality.
4.3 Security (Article 32). Implement appropriate technical and organisational measures to ensure a level of security appropriate to the risk. The measures in force at the date of this DPA are set out in Schedule 2. The Processor may update Schedule 2 from time to time provided the level of protection is not materially diminished.
4.4 Sub-processors. Engage sub-processors only in accordance with clause 5.
4.5 Data-subject rights assistance (Articles 12–23). Taking into account the nature of the processing, assist the Customer by appropriate technical and organisational measures, insofar as possible, to respond to requests from Data Subjects exercising their rights. In particular:
- The service provides Customer-operated data export and deletion at the account level, and in-product correction of profile fields.
- For Data Subject requests that cannot be fulfilled through the self-serve tooling (e.g. requests made by named Responsible Persons, ingredient suppliers, or third parties whose names appear in customer-uploaded documents), the Customer is responsible for responding to the Data Subject. The Processor will supply reasonably-necessary data or information on request to enable that response.
4.6 Article 32–36 assistance. Assist the Customer, taking into account the nature of the processing and the information available to the Processor, in ensuring compliance with the Customer's obligations under Articles 32 to 36 of the UK GDPR (security, breach notification, data protection impact assessments, prior consultation).
4.7 Return or deletion (clause 9). At the end of the provision of services, return or delete Customer Personal Data in accordance with clause 9.
4.8 Audit information (clause 10). Make available to the Customer all information necessary to demonstrate compliance with this clause 4, and allow for and contribute to audits in accordance with clause 10.
4.9 Records. Maintain records of all categories of processing activities carried out on behalf of the Customer as required by Article 30(2) of the UK GDPR.
5. Sub-processors
5.1 The Customer grants the Processor a general authorisation to engage the sub-processors listed in Schedule 3 (and those currently listed at https://craftcert.co.uk/subprocessors/, which forms part of Schedule 3 by reference), for the purposes set out against each entry.
5.2 The Processor shall:
(a) impose on each sub-processor, by written contract, data-protection obligations substantially equivalent to those imposed on the Processor under this DPA;
(b) remain liable to the Customer for the performance of each sub-processor's obligations;
(c) give at least 30 days' prior notice of the addition or replacement of a sub-processor, by email to the Customer's registered billing contact and by updating the public subprocessor list.
5.3 If the Customer has a reasonable, data-protection-based objection to a new sub-processor, it shall notify the Processor within 14 days of the notice. The parties shall work in good faith to resolve the objection. If no resolution is agreed within a further 30 days, the Customer may terminate the Agreement without penalty and the Processor shall refund any pre-paid but unused portion of the subscription.
6. International transfers
6.1 The Processor shall not transfer Customer Personal Data to a country outside the UK unless one of the following applies:
- (a) the country is the subject of UK adequacy regulations;
- (b) the transfer is governed by the Standard Contractual Clauses;
- (c) another transfer mechanism permitted by Applicable Data Protection Law is in place.
6.2 Where the Processor relies on the Standard Contractual Clauses for a Restricted Transfer to a sub-processor, the Processor is authorised by the Customer to enter into those clauses on the Customer's behalf as exporter. The Customer acknowledges that the current Restricted Transfers supporting the service are set out in Schedule 3.
6.3 The Processor has completed a Transfer Risk Assessment for each Restricted Transfer it relies upon. A summary of those TRAs is available to the Customer on reasonable request.
7. Personal data breach
7.1 The Processor shall notify the Customer in writing without undue delay, and in any event within 48 hours, after becoming aware of a Personal Data Breach affecting Customer Personal Data.
7.2 The notification shall include, to the extent known at the time:
- (a) the nature of the Personal Data Breach, including the categories and approximate number of Data Subjects and Personal Data records concerned;
- (b) the likely consequences of the Personal Data Breach;
- (c) the measures taken or proposed to be taken to address the Personal Data Breach and to mitigate its possible adverse effects;
- (d) the name and contact details of the Processor's point of contact for further information.
7.3 The Processor shall cooperate with the Customer in investigating, mitigating, and remediating the Personal Data Breach, including providing reasonable assistance with any notification to the Information Commissioner (Article 33) and to affected Data Subjects (Article 34).
7.4 For the avoidance of doubt, notification of a Personal Data Breach is not an admission of fault or liability by the Processor.
8. Data subject requests
8.1 If the Processor receives a request directly from a Data Subject to exercise any right under UK Data Protection Law in respect of Customer Personal Data, the Processor shall, without undue delay, forward the request to the Customer and shall not respond to the Data Subject directly except (a) to confirm receipt and forward, or (b) as instructed by the Customer or required by law.
8.2 Where the request is made by a Data Subject whose personal data is processed by the Processor as Controller under clause 3.2 (e.g. the Customer's own account holder exercising rights in relation to their account record), the Processor shall handle the request directly as Controller.
9. Return and deletion
9.1 On termination or expiry of the Agreement, the Processor shall, at the Customer's choice expressed in writing within 30 days of termination, delete or return to the Customer all Customer Personal Data, and delete existing copies, except to the extent that the Processor is required to retain a copy by applicable law.
9.2 If the Customer does not make a choice within the 30-day window, the Processor shall default to deletion in accordance with the Data Retention and Deletion policy.
9.3 Deletion is deemed complete when the data is no longer accessible in the Processor's production environment and ordinary backup rotation has expired that copy: primary data deleted within 90 days; backup expiry within a further 7 days per Schedule 2 §7, in each case from the date of the deletion instruction (or the default date under 9.2).
9.4 The Processor may retain de-identified, aggregated, or anonymised data for product-analytics purposes where such data no longer constitutes Personal Data.
9.5 Audit-log carve-out. Notwithstanding clauses 9.1 to 9.3, the in-product audit log (Schedule 2 §8) is retained for 6 years from the date of last activity to evidence continuity of compliance for cosmetics-enforcement investigations by Trading Standards / the Office for Product Safety and Standards under the Cosmetic Products Enforcement Regulations 2013, and to meet the floor set by section 5 of the UK Limitation Act 1980 (general breach-of-statutory-duty limitation period). On account hard-delete, the actor_id reference is nulled so the trail remains without the user reference. The audit log holds only timestamps, action types, and affected-row identifiers — no formulation content, ingredient data, label content, or evidence-pack bodies. The Customer may request earlier deletion of the audit log by writing to privacy@craftcert.co.uk; the Processor will honour the request unless a regulatory or contractual hold applies.
10. Audit
10.1 The Processor shall make available to the Customer, on reasonable request and not more than once per 12-month period, the following information in order to demonstrate compliance with this DPA:
- (a) the Processor's current Technical and Organisational Measures (Schedule 2);
- (b) the Processor's Records of Processing Activities to the extent relevant to the Customer;
- (c) the most recent independent audit reports or security certifications held by the Processor or any of its sub-processors (for example, SOC 2 reports, ISO 27001 certifications — as held by Supabase, Stripe, and Netlify);
- (d) a summary of any material Personal Data Breach affecting Customer Personal Data in the preceding 12 months.
10.2 If the information provided under 10.1 does not reasonably address the Customer's concern, the Customer may, on 30 days' written notice and at the Customer's cost, conduct an on-site audit of the Processor's facilities and processing operations relevant to this DPA. The Customer shall appoint an independent auditor who is not a competitor of the Processor, and the auditor shall enter into reasonable confidentiality undertakings.
10.3 The parties shall agree the audit scope, timing, and methodology in good faith. Audits shall be conducted during business hours and shall not unreasonably interfere with the Processor's operations.
10.4 If the Processor is required to investigate or respond to an audit that does not identify a material compliance failure, the Customer shall reimburse the Processor's reasonable costs at the Processor's then-current professional-services rate.
11. Liability
11.1 The liability of each party arising from or in connection with this DPA is governed by the limitation of liability provisions of the Agreement. For the avoidance of doubt, the limitation-of-liability cap in the Agreement is a single cap that applies to the Agreement and this DPA together, and the Processor's total aggregate liability shall not exceed that cap.
11.2 Nothing in this DPA excludes or limits either party's liability for (a) death or personal injury caused by negligence, (b) fraud or fraudulent misrepresentation, or (c) any other liability that cannot be limited or excluded under applicable law.
11.3 As between the parties, the Customer shall remain responsible for ensuring that it has a lawful basis for the processing it instructs the Processor to carry out, including collecting any consents or providing any notices required of the Customer as Controller. The Customer shall indemnify the Processor against any claim, loss, or regulatory action arising from the Customer's failure to do so, except to the extent caused or materially contributed to by the Processor.
12. General
12.1 Order of precedence. This DPA prevails over any conflicting term of the Agreement in respect of processing of Customer Personal Data.
12.2 Variations. The Processor may amend this DPA on at least 30 days' notice to reflect changes in Applicable Data Protection Law or to the service. If the amendment materially reduces the Customer's protections, the Customer may terminate the Agreement for convenience on notice given within the 30-day window, and the Processor shall refund any pre-paid but unused subscription fees.
12.3 Governing law and jurisdiction. This DPA is governed by the laws of England and Wales. The parties submit to the exclusive jurisdiction of the courts of England and Wales.
12.4 Severability. If any provision of this DPA is held to be invalid or unenforceable, the remaining provisions continue in full force and effect.
12.5 Notices. Notices to the Processor shall be sent to privacy@craftcert.co.uk and (for notices of a legal nature) copied to the Processor's registered office. Notices to the Customer shall be sent to the registered billing contact on the Customer's account.
12.6 Entire agreement. This DPA, together with the Agreement, constitutes the entire agreement between the parties in respect of processing of Customer Personal Data.
Schedule 1 — Processing description (UK GDPR Art 28(3))
| Element | Detail |
|---|---|
| Subject matter | Provision of the CraftCert compliance service to the Customer, covering (i) cosmetic products (soaps, balms, lotions, etc.) under the Cosmetic Products Enforcement Regulations 2013 — including SCPN notification support, Responsible Person record-keeping and PIF evidence; and (ii) chemical products including candles and wax-melts under the GHS / CLP regime — CLP classification, formulation editor, label PDF generation, evidence pack management. |
| Duration | From the date this DPA takes effect until the return or deletion of Customer Personal Data under clause 9. |
| Nature of processing | Storing, organising, retrieving, adapting, structuring, analysing (deterministic CLP classification rule engine, allergen cross-reference, label-layout calculation), transmitting, erasing personal data. |
| Purpose | (a) generating CLP-classified product records and labels for chemical products including candles and wax-melts; (b) storing formulation data and supporting evidence; (c) supporting the Customer's SCPN filings and Responsible Person / PIF obligations for cosmetic products; (d) enabling the Customer to export and present this information to the Office for Product Safety and Standards, to local Trading Standards officers, and to its own Responsible Persons or advisors. |
| Categories of Data Subjects | (a) named Responsible Persons identified in SCPN filings or product files; (b) ingredient-supplier contacts (sales reps, technical contacts, regulatory affairs); (c) cosmetic chemists / safety assessors / formulators named on PIF documents; (d) batch handlers and production staff named in batch records; (e) customers leaving testimonials referencing identifiable individuals. |
| Types of Personal Data | Names, contact details (postal, email, telephone), Responsible Person designations, ingredient-supplier contact details, batch records, allergen declarations, formulation data with named contributors, SCPN filing contents, customer testimonial submissions. |
| Special Category Data | Not actively solicited. Customers are instructed in the Acceptable Use Policy not to upload special-category data beyond what is strictly necessary as compliance evidence. Where special-category data appears incidentally in uploaded correspondence, the Customer must identify its lawful basis under Article 9 of the UK GDPR. |
| Children's data | Not expected. CraftCert is a B2B compliance service; no consumer / child-facing flows. |
| Frequency of processing | Continuous for the duration of the subscription. |
Schedule 2 — Technical and organisational measures
The Processor implements, at minimum, the following measures as at the date of this DPA:
- Encryption in transit. HTTPS enforced on all public endpoints. HSTS preload. TLS 1.2 minimum.
- Encryption at rest. Postgres volumes encrypted at rest (AES-256) by the Supabase-managed infrastructure. Storage objects encrypted at rest by the same.
- Access control. Row-level security policies on every table that stores Customer Personal Data. Client calls pass through the authenticated session; service-role calls are confined to the server runtime and never exposed to the browser.
- Authentication. Supabase Auth with email + password. Password reset requires a signed link. Session cookies are first-party.
- Personnel. The Processor's personnel with production access are bound by written confidentiality obligations. Access is granted on the principle of least privilege and reviewed quarterly.
- Sub-processor management. Sub-processors are selected and engaged in accordance with clause 5. Material infrastructure providers (Stripe, Supabase, AWS) hold SOC 2 Type II reports or equivalent independent assurance. Other providers' assurance documentation is referenced in their respective DPAs linked from /subprocessors/.
- Backups. Supabase's automated daily backups with point-in-time recovery (minimum 7 days on paid tiers). Backup media is encrypted.
- Logging. An in-product audit log captures security-relevant events (sign-in, data export, deletion). The audit log is append-only — a database trigger blocks UPDATE and DELETE so a compromised admin cannot rewrite history. The audit log is retained for 6 years from the date of last activity, in line with the Data Retention and Deletion policy at /retention/; this period is the carve-out described in clause 9.5 below and meets the floor set by section 5 of the Limitation Act 1980 for breach-of-statutory-duty claims relevant to Trading Standards / cosmetics-enforcement investigations under the Cosmetic Products Enforcement Regulations 2013. On account hard-delete the actor reference is nulled so the trail remains without the user reference. PII is stripped from audit-log entries themselves; only identifiers and action metadata are retained.
- Vulnerability management. Dependencies are tracked; security patches applied within 30 days of vendor release for high-severity CVEs, or sooner if actively exploited. Error monitoring via Sentry with request-body stripping.
- Incident response. The Processor operates a written incident-response runbook and notifies affected Customers under clause 7. A post-incident review is conducted for every P0/P1 incident.
- Deletion. Account deletion follows the published Data Retention and Deletion policy — soft-delete window, then hard-delete by a scheduled sweep.
- Physical security. Delegated to the hosting sub-processors (Supabase, Netlify). The Processor does not operate its own data-centre.
Schedule 3 — Approved sub-processors
The current sub-processor list is maintained at https://craftcert.co.uk/subprocessors/ — single source of truth. The Processor's commitment to 30-day change notice is set out in clause 5.2(c).
As at the date of this DPA the sub-processors are:
| Sub-processor | Legal entity | Purpose | Region | Transfer mechanism |
|---|---|---|---|---|
| Supabase | Supabase Inc. (US) / Supabase Ltd (UK) | Database, auth, file storage (formulations, labels, evidence) | UK — AWS eu-west-2 (London). Management-plane access by Supabase Inc. (US). | UK/EU adequacy applies to data at rest. Management-plane access is governed by the Supabase DPA, which incorporates the EU SCCs (2021, Module 2) and the UK Addendum. |
| Stripe | Stripe Payments UK Ltd (UK contracting entity) | Payments, subscription billing | UK + EU + US for group support | UK Addendum to EU SCCs in the Stripe DPA. |
| Resend | Plus Five Five, Inc. (US — 2261 Market Street #5039, San Francisco, CA 94114) | Transactional email | US (Delaware), with optional EU sending region for UK / EU recipients | Resend DPA, incorporating the EU SCCs (2021, Module 2) and the UK Addendum. Where Resend is self-certified under the UK-US Data Bridge, that mechanism is relied on in parallel. |
| Netlify | Netlify, Inc. (US) | Hosting, edge functions, CDN | US with EU edge | UK IDTA / UK Addendum. |
| Sentry | Functional Software, Inc. (US) | Error monitoring. Request bodies stripped before reporting; no formulation or ingredient data. | US region (primary), EU region available | Sentry DPA incorporating the EU SCCs (2021, Module 2) with the UK Addendum. Functional Software Inc. is self-certified under the EU-US Data Privacy Framework and its UK Extension (Data Bridge), which serves as the primary transfer mechanism where applicable. |
| Upstash | Upstash, Inc. (US) | Rate-limiting cache (Redis) — hashed-identifier counters for abuse prevention. No application data passes through Upstash. | EU | UK IDTA / UK Addendum in the Upstash DPA. |
| GoatCounter | Martin Tournoij (sole trader) | Cookieless analytics — does not ordinarily process Customer Personal Data (aggregated only) | EU | Not a Restricted Transfer. |
Acceptance by the Customer. This DPA is incorporated into the Agreement automatically and applies to every business Customer without a separate acceptance step. For the avoidance of doubt, the Customer is deemed to have accepted this DPA by (a) creating a CraftCert account (the Agreement at https://craftcert.co.uk/terms/ incorporates this DPA by reference), or (b) continuing to use the CraftCert service after the date shown above. No separate countersignature is required for the DPA to be enforceable. If your procurement process requires a bilateral signed copy, contact us at support@craftcert.co.uk.