Publish a list of every third party that processes customer personal data for your product, with what each does, where, and when it was last updated. For AI products that usually includes the model provider, hosting, any vector database and logging tools. Offer a way to subscribe to changes and keep it current.
Why the list matters
If you are a processor for your customers, GDPR Article 28 says you need the controller's authorization before using another processor, either specific or general. Under a general authorization you must inform the customer of planned additions or replacements and give them the chance to object. Customers usually meet this through a published list and a notice process in your data processing addendum.
The article also says the same data protection obligations must pass down to each sub-processor by contract, and that you remain fully liable to the customer if the sub-processor fails.
What AI products tend to forget
Sub-processors accumulate in places teams do not think of as vendors:
- The model API provider, and any second provider used as a fallback
- Embedding or reranking services
- Vector database hosting
- Error tracking and application performance tools that capture request bodies
- Prompt and trace logging tools
- Evaluation or annotation services where staff paste real conversations
- Speech to text and text to speech services
- Customer support chat that receives pasted prompts
A tool counts if it can see customer personal data, even if you only meant it for debugging.
What each entry should say
- Company name
- What it does for you, in one line
- Which customer data it processes, in categories
- Processing location or region
- Date added
Do not list products you do not use. A bloated list invites questions you cannot answer, and an incomplete one breaks your contract.
Notice of changes
Pick a notice period and write it into your terms. Many companies commit to a number of days before adding a new sub-processor, and offer an email list or a feed. Whatever you choose, be able to meet it. Decide in advance how a customer can object, and what you will do if they do.
Keep the list true
Make it part of procurement. No new vendor that touches customer data goes live until the list and the data processing record are updated. See the Article 30 records template for the internal record that should match.
Run a quarterly check: compare the public list with the real vendor list from finance and with the network calls your app makes. Safeguard's asset discovery and dependency scanning can help you see which services your code actually talks to.
Model provider changes count
Switching models within a provider is usually not a new sub-processor. Adding a different provider for failover is. If you plan the latter, see degrade, queue or fail over and update the list before traffic flows.
Quick check
Do I list the cloud host under the model provider too?
List what you contract with directly. If your model provider's own sub-processors matter to a customer, link to the provider's published list rather than copying it, since it changes on their schedule.
Sources
Last reviewed: 19 October 2026.