Lead Enrichment Workflows That Don't Break GDPR
Enrich leads with Apollo, Hunter, and Clearbit without drifting into dark GDPR territory. The consent flow, the data minimisation rule, and the right-to-be-forgotten delete endpoint that actually...
Most founders encounter GDPR as a cookie banner and assume that is the whole compliance story. Then they wire Apollo into their CRM, flip on automatic enrichment for every inbound lead, and push the enriched records into a Mailchimp sequence. Somewhere in that pipeline they have quietly stacked up three separate violations, none of which will be noticed until a French data subject files a complaint or a Berlin data protection authority decides to make an example of somebody. The Bavarian regulator's ruling against ZoomInfo in 2025 made the shape of the risk clear, and the shape is not that enrichment is banned. The shape is that most founders are doing enrichment as if the lawful basis question will sort itself out later, and it will not.
This article is the workflow we install for clients who want enrichment to keep working without the founder losing sleep every time a Substack post about European privacy enforcement lands in their feed. It covers the lawful basis at capture, the minimisation rule that Clearbit's default field set quietly violates, the Article 14 notice that nobody sends, and the deletion endpoint that actually propagates a right-to-be-forgotten request upstream to the enrichment provider. None of it is legal advice. All of it is the set of defaults we ship so that the compliance gap is narrow enough for a founder to sleep.
Why Apollo, Hunter, And Clearbit Are Already In Dark Territory
The first thing to understand is that the major enrichment providers sit on shaky GDPR ground before you even touch them. Apollo's database is assembled by scraping LinkedIn, crawling the public web, and ingesting data from partners who themselves have mixed consent stories. The data subjects in that database, the millions of European employees whose names, titles, and work emails sit in Apollo's index, did not consent to being there. Apollo's legal basis is legitimate interest under Article 6(1)(f), and that basis survives an LIA at the holding stage, but it gets thinner the moment the data is used to enable cold outreach to people who never asked to hear from you.
Clearbit, now folded into HubSpot as Breeze Intelligence, has a similar shape. Firmographic data on companies is mostly defensible because legal persons have thinner privacy rights. Personal data tied to named employees is where the friction sits, and Clearbit's enriched profiles routinely include named individuals. Hunter is the softest case of the three because Hunter often returns pattern-based guesses at corporate email addresses rather than verified personal data, but Hunter is still a controller and still has obligations under GDPR when the guess happens to match a real human.
The Bavarian DPA's ZoomInfo decision is the one to read if you want to understand how regulators view this. The DPA held that providing personal data about EU residents to customers who then contact those residents was itself unlawful, and the controller liability ran up the chain. You do not get to hide behind the provider's terms of service. If you pull Apollo data and email a German marketing manager who never heard of you, the DPA's theory is that both Apollo and you are in the frame.
The Lawful Basis Has To Exist Before Enrichment, Not After
The most common mistake we see is founders treating enrichment as a pre-sales step that runs before the lawful basis conversation happens. The shape of the workflow is usually this. Someone downloads a lead list, imports it to the CRM, Apollo enrichment fires automatically on every new record, and then the founder drafts outreach emails off the enriched profiles. The enrichment ran before anyone established a reason to process that person's data, and under GDPR that is the problem.
The rule is that every processing activity needs a lawful basis before it starts. Enrichment is a processing activity. Holding an enriched profile is a processing activity. Sending a cold email off that profile is a separate processing activity with its own basis requirement. Legitimate interest can cover the chain if you have done the LIA honestly and documented it, but the LIA has to show that your interest genuinely outweighs the data subject's reasonable expectations, and for a person who has never heard of your company that balance is tight.
The better shape is consent-at-capture for inbound leads and a narrow, documented legitimate interest for cold outbound, with the LIA written down before the first email goes out. For inbound, the form checkbox asks for permission to enrich and contact, and the checkbox is unticked by default with clear copy about what happens next. For cold outbound you are relying on legitimate interest, you have the LIA in a folder somewhere, you are contacting professional roles at companies that plausibly care about your product, and you are not blasting generic sequences at everyone with a LinkedIn URL.
Data Minimisation, Or Why You Should Not Pull Every Field Clearbit Offers
Article 5(1)(c) of GDPR is the minimisation principle. You process personal data that is adequate, relevant, and limited to what is necessary for the purpose. Clearbit, Apollo, and every other enrichment provider will happily sell you forty fields per lead. Most of those fields are not necessary for outreach. Pulling them anyway is a minimisation violation even if you never use them, because possession itself is processing.
The workflow we install enriches the minimum viable set. For a standard B2B outreach use case that is company name, company size, industry, country, job title, and seniority. Six fields. That is enough to score a lead, route it to the right sequence, and write a reasonably personalised first line. We do not pull home addresses, personal phone numbers, social handles beyond LinkedIn, interest graphs, or any of the psychographic inferences some providers attach to records. Those fields are not necessary for outreach. Pulling them exposes the founder to a minimisation complaint for zero marginal benefit.
The practical step is to configure the enrichment call to request a named field list rather than accepting the provider's default bundle. In Apollo's API that means setting the reveal_personal_emails parameter to false unless you have a reason, requesting only the firmographic and basic role fields, and stripping the response to that shortlist before it touches your database. In Clearbit's API it means using the person and company endpoints with explicit field masks rather than the kitchen-sink enrichment call. Hunter is naturally narrow because it mostly returns email patterns, but even there you disable the verification webhook's extended payload if you do not need it.
The Article 14 Notice Nobody Sends
This is the provision that most founders have never read and that the Bavarian DPA specifically called out. Article 14 requires that when you obtain personal data from a source other than the data subject, which is exactly what enrichment is, you must inform the data subject about the processing within a reasonable period and no later than one month, or at the first communication with them, whichever is sooner. The notice has to cover the controller's identity, the purposes, the categories of data, the source, the retention period, and the data subject's rights.
Virtually nobody sends this notice. Founders assume the privacy policy link in the email footer covers it. It does not. Article 14 is a proactive obligation. The regulator's position is that the data subject must be told, not left to go hunting for a policy.
The shape we implement is a first-contact email that opens with a plain-English paragraph explaining that the company's details came from a third-party enrichment provider, naming the provider, stating the purpose, and offering a one-click object link that removes the record from the database before any sales follow-up lands. That paragraph sits above the pitch and is written by a human rather than copied from a template. The object link is a real endpoint that honours the objection within hours, not a mailto to an address nobody reads. For inbound leads the notice is bundled into the consent copy at the form and referenced on the confirmation page. For cold outbound it is in the first email. Either way it exists, it is specific, and it predates the pitch.
The Right To Be Forgotten Endpoint That Actually Propagates
Article 17 is the erasure right, and this is where most CRMs ship a dangerous default. The operator clicks delete on a contact record, the row disappears from the main CRM view, and everyone assumes the obligation is met. It is not. The deletion has to propagate to every system that holds a copy, and GDPR expects reasonable steps to inform downstream controllers and processors.
The endpoint we build sits behind a single internal URL and a public-facing email inbox, both of which route into the same handler. When a deletion request comes in, the handler does six things in order. It soft-deletes the contact in the CRM with a tombstone record that captures the email hash, so re-enrichment cannot resurrect the same person. It fires the enrichment provider's opt-out API to mark the subject as do-not-enrich upstream. Apollo, Clearbit, and Hunter all expose this endpoint, though you have to read the docs to find it. It purges any cached enriched data in the warehouse and BI tools, which usually means a scheduled hard-delete job rather than a live API call because warehouses are not built for row-level deletes. It removes the subject from every active email sequence in the outbound tool. It writes a log entry with the timestamp, the source of the request, and the systems touched, because you will be asked to prove this if a regulator ever audits you. It replies to the data subject within seventy-two hours confirming that the request has been actioned, and it names every system the data was removed from.
The propagation to the enrichment provider is the step founders miss. Deleting in your own CRM without calling Apollo's opt-out endpoint means that the next time you re-enrich a fresh lead list, the same person can come back in, and the deletion has not held. The opt-out call makes the erasure durable.
The Suppression List That Survives Deletion
The corollary to the RTBF endpoint is a suppression list that holds after a record is deleted. This sounds paradoxical. Did the data subject not ask to be forgotten? The resolution is that the only field retained is a one-way hash of the email address and a flag that means do-not-contact-or-enrich. The hash is not reversible to the email, so you cannot use it to find the person again, but any future enrichment attempt or import will check the hash of its incoming emails against the suppression list and silently drop matches before any processing begins.
This pattern is actually encouraged by regulators because it prevents the absurd loop where a data subject asks to be deleted, the deletion is honoured, a year later the sales team buys a fresh list, and the same person ends up in the CRM again. The suppression list means the deletion is permanent without retaining personal data beyond what is strictly necessary to honour the request itself. Document this in the privacy policy so the lawful basis for holding the hash is transparent.
The implementation is small. A single table with two columns, email_hash and reason. Every import, enrichment job, and form submission runs its incoming emails through a hash function and checks for a match before the record ever touches the main contact table. A match means the record is dropped and the log is written. No row, no enrichment, no outreach.
The WitsCode GDPR-Aware Outreach Stack
If you have read this far and are looking at your current Apollo-to-HubSpot-to-Instantly pipeline with some unease, that is the correct reaction, and it is the conversation we have with most clients in the first week. The stack we install wraps the enrichment providers in a small proxy service that enforces the minimisation field list, logs the lawful basis per lead, sends the Article 14 notice automatically on first contact, exposes the RTBF endpoint publicly, and keeps the suppression list in sync with the enrichment provider's opt-out API. It sits alongside the CRM rather than replacing it, and it turns enrichment from a compliance liability into a workflow you can defend in an audit.
We do this as a fixed-scope engagement that takes about a week. You keep using Apollo or Clearbit or Hunter, you keep your existing CRM, and you leave with a pipeline that a Bavarian DPA letter would not break. If that is the version of lead enrichment you want to be running, the arrow on this page points at the conversation where we scope it for your stack.
Get weekly field notes.
Practical writing on shipping products, straight to your inbox. No spam.
Need help with this?
Custom Web Applications
We design and build web apps, MVPs, and SaaS products. Talk to us about what you are working on.
Talk to usWant to discuss non-tech founders for your business?
Start a project and we'll talk through where you are, what's working, and the highest-leverage moves for the next 90 days.