Delivery kit

Article 30 register

Last changed 2026-09-14 · all documents · security & deployment

My own GDPR Article 30 record of processing, published in full: each data category, purpose, location, retention, legal basis, subprocessor and transfer.

data_categorypurposelocationretentionlegal_basisclient_controllersubprocessorstransfers_outside_eeasecurity_measureslast_reviewed
Client contact name, email and phone (my own records)Run the engagement - scheduling, delivery, invoicingEU-hosted email (Google Workspace, EU region) and accounting recordsDuration of engagement plus the statutory accounting retention periodContract performance / legal obligation - I am controller for this rowN/A - I am controllerGoogle (Workspace, email); Vercel (website hosting); Calendly (booking); accountantNo - EU regions selected; Google and Calendly are US-headquartered and operate under the EU-US Data Privacy FrameworkMFA on every account; EU regions; least-privilege sharing; no client extracts in email2026-08-18
Name, email and timezone of anyone who books a callSchedule an introductory callCalendly, synced to Google CalendarDeleted with the calendar entry; Calendly record removed on requestConsent - the person chose to bookN/A - I am controllerCalendly; GoogleNo - EU-US Data Privacy FrameworkMFA; no notes field used for anything sensitive2026-08-18
Website visitor requests (IP and user agent, in hosting logs)Serve the site and diagnose faultsVercel, cdg1 (Paris)Short-lived platform logs; I do not export or retain themLegitimate interests - operating a websiteN/A - I am controllerVercelNo - EU regionNo cookies, no third-party requests; CSP with connect-src none on the demos and self on the site pages2026-09-14
Website page views (aggregate counts; device identifier derived by Vercel, never exposed to me)Know which pages are read, so the site can be edited rather than guessed atVercel Web AnalyticsVercel platform retention; I hold no copy and cannot export an individual recordLegitimate interests - understanding use of my own websiteN/A - I am controllerVercelNo - EU regionCookieless; script and beacon served same-origin from /_vercel/insights/; no counter on the demo dashboards2026-09-14
EXAMPLE ROW - operator name and employee ID (client source extract)Join production records to shift data so defect rates can be reported by lineClient tenant, EU region; client-owned storageDropped at the minimization step; source extract deleted 90 days after ingestDetermined by the client as controller - I process only on documented instructions[Client legal entity]None - runs in the client tenantNoEncryption in transit and at rest; read-only scoped app registration; access register maintained2026-08-18
EXAMPLE ROW - pseudonymised employee ID (hashed)Count distinct operators per line without identifying individualsClient tenant, EU region90 days, then deleted with the datasetDetermined by the client as controller[Client legal entity]NoneNoHashed before storage; no lookup table retained2026-08-18