Data Processing Agreement (Art. 28 GDPR)

Between ExploitClock LLC ("processor", "we") and the customer named on the account ("controller", "you") · Last updated: 17 October 2026

Privacy · Terms · DPA · Security · Imprint

This DPA applies to every plan and forms part of the Terms; you do not need to request it. It takes effect when you create an account and lasts as long as we process personal data for you. Signature copies for procurement: email support@exploitclock.com. We will return a countersigned PDF of this text. The text below is the agreement; a signature does not change it.

1. Subject matter, duration, nature and purpose

The subject matter is our provision of ExploitClock: monitoring the software bills of materials you upload against public vulnerability and exploitation feeds, opening assessment cases, running the reporting clocks of Article 14 of Regulation (EU) 2024/2847, producing draft notifications for the ENISA Single Reporting Platform, sending alerts, receiving vulnerability reports through your public reporting page if you switch it on and acknowledging them on your instruction, publishing the security advisories you write on your public advisories page if you switch it on and emailing them to the customer contacts you list, and keeping a hash-chained evidence log. The nature of the processing is storage, organisation, retrieval, consultation, use, transmission to the recipients listed in Annex 1, and erasure. The purpose is to provide that service to you and nothing else. The duration is the term of your account, plus the deletion window in section 9.

2. Categories of data subjects and personal data

SBOM documents and component lists are your commercial data. They are not usually personal data, but they can contain the names or email addresses of maintainers. We treat them under this DPA either way.

3. Roles

You are the controller for the personal data described in section 2 and we are your processor. We are an independent controller only for our own business records: your billing and accounting data, the contract itself, and our own security logs. Our processing as controller is described in the Privacy notice.

4. Documented instructions

We process personal data only on your documented instructions, including as to transfers to a third country. Your instructions are: this DPA, the Terms, the configuration you set in the product, and any further written instruction you send to support@exploitclock.com that is within the scope of the service. We may process where Union or Member State law requires it; in that case we inform you before processing unless that law forbids it. If we believe an instruction infringes the GDPR we will tell you without delay and may suspend that instruction.

5. Confidentiality

Every person authorised to process your personal data is bound by a written confidentiality obligation that survives the end of their engagement, or is under an appropriate statutory obligation of confidentiality. Access is granted on a need-to-know basis and is removed when the need ends.

6. Security of processing (Art. 32)

We implement appropriate technical and organisational measures and describe them in full, and honestly, on the Security page, which forms Annex 2 to this DPA. In summary: encryption in transit everywhere (TLS 1.2 or higher, HSTS with preload) and encryption at rest by the managed database provider; authentication delegated to Auth0 with no passwords held by us; signed HTTP-only session cookies with idle and absolute timeouts; API keys stored as bcrypt hashes; CSRF protection on state-changing requests; a strict Content-Security-Policy; account-scoped authorisation on every domain query; validated outbound fetching for any URL you supply; an append-only, hash-chained evidence log with an independent RFC 3161 timestamp of the chain head; a weekly logical database backup uploaded over TLS to EU object storage with a SHA-256 checksum, held under the provider's server-side encryption with credentials limited to that one bucket, and a documented restore script; least-privilege operational access. We review these measures when the service changes materially and at least once a year.

7. Sub-processors

You give general written authorisation for us to engage the sub-processors listed in Annex 1. We impose data protection obligations on each of them that are no less protective than this DPA, and we remain fully liable to you for their performance.

We will give you at least 30 days' notice before a new sub-processor starts processing your personal data, or before an existing one takes on a new role, by email to the account owner and by updating Annex 1 on this page. You may object on reasonable data protection grounds within those 30 days by writing to support@exploitclock.com. We will then work with you to find a solution. If we cannot, you may terminate the affected part of the service without penalty and receive a pro-rata refund for the unused period.

8. Assistance

Data subject requests (Art. 12 to 23). If a data subject contacts us directly about data we process for you, we forward the request to you and do not answer it ourselves, except to say that we have forwarded it. Much of the assistance is self-serve: Settings gives you a complete JSON export of the account (Art. 15 and 20) and an immediate account deletion (Art. 17), and you can correct or remove individual records, contacts and members yourself at any time. Where the product cannot do it, we help you within a reasonable time and at no charge for requests of ordinary volume.

Personal data breach (Art. 33 and 34). We notify you without undue delay and in any event within 48 hours of becoming aware of a personal data breach affecting personal data we process for you, with the information we hold at that time and updates as we learn more. We do not notify a supervisory authority on your behalf. Do not confuse this with the CRA Article 14 clock, which is yours to run.

Articles 32, 35 and 36. We assist you, taking into account the nature of processing and the information available to us, with the security of processing, with data protection impact assessments and with prior consultation. The Security page, this DPA and Annex 1 are written to be usable directly as DPIA input.

9. Deletion and return

You can export the complete account at any time from Settings, in a documented JSON format that includes the evidence log and its verification data. On termination of the service, at your choice, we return or delete the personal data we process for you.

10. Audit and information rights

We make available all information necessary to demonstrate compliance with Article 28 and allow for and contribute to audits, including inspections, by you or an auditor you mandate.

In the first instance this is documentation-based: this DPA, the Security page, Annex 1, our architecture and data-flow description, our incident and access-control procedures, and written answers to your security questionnaire. We answer questionnaires from customers on any plan. An on-site or live inspection is available by prior arrangement, during business hours, no more than once in twelve months unless a breach or a supervisory authority requires otherwise, subject to confidentiality, and without access to other customers' data. We do not hold a SOC 2 report or an ISO 27001 certificate today, and we do not claim one. See What we do not do.

11. International transfers

Your account, product, SBOM, case and evidence data is stored and processed in the EU (Frankfurt, Germany (EU)).

Because we are established in the United States of America, our own staff access that data from outside the EU/EEA to operate and support the service, and some sub-processors have parent companies or support functions outside the EU. For those transfers, the Standard Contractual Clauses approved by Commission Implementing Decision (EU) 2021/914, Module Two (controller to processor), are incorporated into this DPA by reference and are hereby entered into between you as data exporter and us as data importer. Docking clause: applies. Clause 9: Option 2, general written authorisation, with the 30 day notice period in section 7. Clause 11: the optional independent dispute resolution body is not used. Clause 17: the Clauses are governed by the law of Ireland. Clause 18(b): the courts of Ireland. Annex I.A is the parties as identified on the account and on the Imprint; Annex I.B is sections 1 and 2 above; Annex I.C is the lead supervisory authority of your place of establishment; Annex II is section 6 and the Security page; Annex III is Annex 1 below. Where a Member State's law or a UK or Swiss addendum applies, the corresponding approved clauses apply in the same way.

Transfer impact. The data at issue is business contact data and product security data, not special categories. It stays in the EU at rest; the transfer is remote access for support and operations, which is limited, logged and role-based. We have received no government request for customer data to date and will tell you of any request unless legally prohibited. We challenge requests that appear unlawful, and we would give you the chance to seek protective relief where we lawfully can. Supplementary measures: encryption in transit and at rest with keys held by the EU sub-processor, no direct database access from public networks, and the option for you to hold the evidence trail yourself through export and the RFC 3161 timestamps. If you assess that these measures are insufficient for your data, tell us before you upload it.

12. Liability

Liability under this DPA is governed by the limitations and exclusions in section 6 of the Terms, to the extent permitted by law. Nothing here limits the rights of data subjects under the GDPR, the liability of either party under Article 82 GDPR, or liability that cannot be limited by law. Where the Standard Contractual Clauses conflict with this DPA or the Terms, the Clauses prevail.

13. Order of precedence and changes

If this DPA conflicts with the Terms, this DPA prevails for the processing of personal data. We may update this DPA to reflect a change in the service, in the law, or in Annex 1. We announce material changes to the account owner by email at least 30 days in advance, and we do not use a change to lower the protection you have.

Annex 1: Sub-processors

This is the current list. It is the same list shown on the Security and Privacy pages. Changes are notified 30 days in advance under section 7.

Sub-processorPurposePersonal data reachedLocation of processingTransfer basis
Render Services, Inc. Application hosting, managed PostgreSQL, managed Key Value (Redis) All account, product, SBOM, case, draft and evidence data held in the service Frankfurt, Germany (EU) Processing in the EU. US parent company; SCCs in Render's data processing addendum cover support access.
Auth0 (Okta, Inc.) Authentication and login (OpenID Connect) Email address, username, Auth0 subject id, IP address and login events EU tenant (Frankfurt, Germany) Identity data stored in the EU region. SCCs in Okta's data processing addendum cover support access.
Stripe Payments Europe, Ltd. Subscriptions, invoicing and payment Billing contact name and email, company name, VAT id, invoice records. Card data is entered on Stripe and never reaches us. Ireland, with onward processing in the United States Stripe's Standard Contractual Clauses.
Brevo (Sendinblue SAS) Transactional and alert email delivery Recipient address, and the content of the alert (product name, case title, CVE, deadline) France (EU) Processing in the EU.
Cloudflare, Inc. Authoritative DNS, reverse proxy and TLS termination, routing of inbound email sent to us IP address and request metadata; the content of email you send to our addresses EU edge locations Cloudflare's Standard Contractual Clauses and EU data localisation terms.
Cloudflare, Inc.
R2 object storage, EU jurisdiction
Weekly logical database backup, uploaded over TLS and held under the provider's server-side encryption, kept for twelve weeks A full database dump, so the same categories as the hosting row European Union (R2 EU jurisdiction bucket) Cloudflare's Standard Contractual Clauses and EU data localisation terms; the bucket is created under the EU jurisdiction, so its data is stored only in the EU.
freetsa.org RFC 3161 trusted timestamps of the evidence chain head None. Only the SHA-256 hash of the chain head is sent. No content, no identifiers, no personal data. Germany Not a transfer of personal data.
Better Stack External uptime probe of the public /healthz endpoint None. The probe reads a public health response and sends no customer data. EU Not a transfer of personal data.
Sentry not currently enabled Error monitoring. Active only when an error-monitoring endpoint is configured on the deployment; it is not configured today. If enabled: stack traces and request paths. Request bodies, cookies and headers are excluded and PII sending is switched off in code. EU ingest region Processing in the EU when enabled.
Twilio Inc. not currently used SMS alerts. SMS is not enabled on this deployment, so no data reaches Twilio today. None while SMS is disabled United States Twilio's Standard Contractual Clauses.

Lookup recipients (no personal data)

To find advisories and exploitation signals we query public vulnerability services. These receive technical identifiers only. They receive no account data, no product names and no SBOM documents. Your component list is nevertheless commercially confidential, so we send identifiers only, never the SBOM itself, and store the results ourselves. All three lookups run on every scan by default.

ServiceOperator and locationWhat we send
OSV.devGoogle LLC, United StatesComponent identifiers (purl, or ecosystem plus name and version), batched per scan
FIRST EPSSFIRST.org, Inc., United StatesCVE identifiers of the advisories found
NVD CPE matching and CVSS severityNIST (US Department of Commerce), United StatesCPE component identifiers (vendor, product and version; CPE 2.2 is converted to 2.3) of application components and the Linux kernel that carry a CPE and no package URL OSV answers for, one CPE per request. Runs on every scan, capped at 40 distinct CPEs per scan with or without an API key; without a key the lookup is limited to known-exploited results, and for the Linux kernel always.
CISA KEV, ENISA EUVDUnited States, European UnionNothing. The catalogues are downloaded in full and matched locally; neither service learns which components you ship.

Removed from this list on 11 September 2026: Google LLC (Google Fonts). The interface's web fonts are self-hosted from our own domain, so no visitor data reaches Google on page load. Removing a recipient does not require the 30 day notice that adding one does.

Your own alert endpoints (an email address, a Slack incoming webhook or an HTTPS webhook you enter in Settings) receive alert content when you configure them, and a Jira Cloud site or GitHub repository you connect under Settings › Integrations receives the tickets you create from a case. Those endpoints and services are yours, not our sub-processors.

Annex 2: Technical and organisational measures

Section 6 above and the Security page, as published on the effective date of your order, form Annex 2. We keep an archive of previous versions and will send you the version in force on any date on request.

Questions or a signature copy: support@exploitclock.com. Operator identity and postal address: Imprint.