RatedWithAI

RatedWithAI

Accessibility scanner

AI PrivacyAugust 17, 2026

CCPA DSARs and AI Vendors 2026: The 45-Day Clock Nobody Can Meet

The policy says you honor access and deletion requests. The architecture says the data is in your database, two analytics tools, a prompt log, a vector index, a fine-tuning bucket and whatever three vendors did with it downstream.

45 days
The response window, extendable once — vendor silence is not a good reason
Affirmative
You must direct service providers to delete, not merely have a clause saying they will
Derived data
Prompt logs and embeddings are linkable copies; vectors are individually deletable

The Gap Between the Policy and the Pipeline

Most privacy programs were built when the data map was tractable. Personal information entered through a form, landed in a production database, replicated to a warehouse, and synced to a handful of named SaaS tools. A deletion request meant running a script against a known list.

AI adoption broke that model quietly, because the new copies were created by engineering decisions rather than by procurement decisions. Nobody signed a contract to start storing full support transcripts in an observability platform — a developer added request logging. Nobody mapped the vector database as a personal-information store — it was described in the design doc as a search index. The fine-tuning corpus was assembled from an export that was supposed to be temporary.

The result is that the DSAR pipeline reaches the systems privacy knows about and misses the systems engineering built. That gap does not show up until a consumer asks what you hold, or a regulator asks how you proved deletion propagated.

Where Personal Information Actually Lands in an AI Stack

Prompt and completion logs

Application code logs the full request and response for debugging, evaluation and cost attribution. These typically carry a user or session identifier and land in an observability vendor, a data warehouse, and often a third-party LLM gateway or evaluation tool.

Why it complicates fulfillment: The content is frequently more sensitive than the primary record — pasted documents, support conversations, health or financial questions. Retention is usually governed by an engineering default rather than by a privacy schedule, and the store is rarely on the DSAR inventory.

Vector embeddings and retrieval indexes

Documents, tickets, messages and profile text are chunked, embedded, and stored with metadata. Retrieval systems keep the source text alongside the vector so results can be displayed, which means the index holds a second full copy of the content.

Why it complicates fulfillment: Individually addressable, so there is no technical excuse for exclusion — but only if the subject identifier was captured at ingestion. Indexes built without a subject key cannot be selectively deleted and force a full rebuild under time pressure.

Fine-tuning and evaluation corpora

Historic conversations or records are exported into a training set, cleaned, and used to fine-tune a model or build an evaluation suite. The export lives in object storage; the derived checkpoint lives in a model registry.

Why it complicates fulfillment: The corpus is deletable, the checkpoint is not selectively deletable, and the evaluation suite is often forgotten entirely because it is treated as test infrastructure rather than as data.

Vendor-side caches and safety pipelines

AI providers may retain inputs for abuse monitoring, caching or trust-and-safety review under their standard terms, with their own retention periods and their own subprocessors.

Why it complicates fulfillment: This is a data flow you did not design and may not have inventoried. Your deletion instruction has to reach it, and your privacy notice has to describe it accurately — including any retention the vendor performs notwithstanding your instruction.

Building a Pipeline That Reaches the AI Layer

Fulfillment fails in predictable places. These five controls address each of them, and all five are engineering work rather than policy work.

§

Carry a subject key into every derived store

Every embedding row, log record, corpus line and cache entry should carry the identifier that resolves to the consumer. This is the single highest-leverage change in the whole program: with a subject key, deletion is a query; without one, deletion is a rebuild. Adding the key costs an afternoon at ingestion time and cannot be retrofitted onto data already written.

§

Maintain a machine-readable vendor register with a deletion path

For each vendor receiving personal information: what categories, through which integration, retention period, deletion mechanism (API, portal or email), contact, and expected turnaround. If a vendor's only mechanism is an email to support, that is a risk entry, not a solution. The register should be a file your fulfillment job reads, not a spreadsheet someone consults.

§

Record propagation, not just intent

For every request, store the instruction sent to each vendor, the timestamp, the response, and the confirmation reference. 'We have a DPA requiring deletion' is not evidence of fulfillment. The artifact a regulator asks for is a per-request trace showing the instruction reached each downstream holder and what each one said back.

§

Separate what you delete from what you disclose you cannot

Write the response letter from a template with three sections: deleted, retained under a specific statutory exception, and structurally non-excisable with the remediation plan. Precision here is protective. Vagueness reads as evasion, and an overbroad claim of complete deletion is the statement that turns a compliance gap into a misrepresentation.

§

Verify identity proportionately and log the basis

Match the verification standard to the sensitivity of what is being requested, and document why the standard was met. Over-verification is its own violation — demanding a government ID for a routine deletion request creates a new sensitive-data collection to defend. Under-verification hands one consumer's AI conversation history to another.

The Access Request Is Harder Than the Deletion Request

Deletion at least has a clear success condition. A right-to-know request asks you to describe categories collected, sources, business purposes, categories of third parties, and — on request — the specific pieces of information you hold. In an AI stack that produces three uncomfortable questions:

  • Are inferences included? Inferences drawn to create a profile about preferences, characteristics or behavior are enumerated as personal information. A model-generated propensity score, intent classification or summary attached to a customer record is an inference, and the default assumption should be that it is disclosable.
  • Is a prompt log a "specific piece of information"? If it contains their content and is linked to them, it is hard to argue otherwise. Businesses that have never looked at what their logs contain tend to discover the answer during their first serious access request.
  • What do you say about the vendors? The disclosure covers categories of third parties to whom information was disclosed. An AI subprocessor chain that privacy has not mapped cannot be described accurately, and an inaccurate privacy disclosure is independently actionable.

The practical consequence: build the access response against the same inventory as the deletion response. Two inventories drift, and the drift is visible to anyone who files both requests.

The DSAR-in-an-AI-Stack Checklist

Work this before the request arrives. Most of it cannot be done inside a 45-day window.

1. Inventory
  • List every store that holds prompts, completions, embeddings, transcripts or training exports
  • Grep application code for logging calls that capture request bodies to AI endpoints
  • Map each AI vendor's own retention and subprocessor chain from their current terms, not last year's DPA
  • Identify evaluation datasets and test fixtures built from production data — these are almost always missed
  • Record whether each store has a subject identifier capable of supporting targeted deletion
2. Deletion Mechanics
  • Implement targeted deletion for the vector store keyed on the subject identifier
  • Set and enforce a retention schedule on prompt logs rather than relying on vendor defaults
  • Define the retrain cadence that removes deleted records from the next model version
  • Build an automated instruction dispatch to every vendor in the register
  • Store the propagation trace — instruction, timestamp, response, confirmation reference — per request
3. Response Quality
  • Use a three-part template: deleted, retained under a cited exception, structurally non-excisable with remediation
  • Include model-generated inferences and scores in access responses by default
  • Never assert complete deletion while a model version trained on the record is serving traffic
  • Send the extension notice inside the original 45 days when you take one, with a stated reason
  • Match verification strength to sensitivity and log the basis for the decision
4. Governance
  • Require a privacy review before any new AI vendor receives production data
  • Add subject-key propagation to the definition of done for any new derived data store
  • Test the pipeline quarterly with an internal request and measure elapsed time per stage
  • Track vendor response latency and escalate any vendor that cannot meet your window
  • Reconcile the privacy notice against the vendor register on a fixed cadence

Frequently Asked Questions

Our AI vendor is a service provider under contract. Isn't their compliance their problem?

The contract allocates responsibility between you and them; it does not remove your obligation to the consumer. You must direct service providers to delete and, where you sold or shared the information, notify third parties. If the vendor fails to act, you have a contractual claim against them and the consumer still has an unfulfilled request against you. There is also a classification risk worth checking: the service provider designation depends on contractual restrictions on the vendor's own use of the data. If your AI vendor's terms permit them to use your inputs to improve their general models, the arrangement may not qualify as a service provider relationship at all — which changes the disclosure and opt-out analysis materially.

We aggregate and de-identify prompt logs for analytics. Does that take them out of scope?

Only if the de-identification is real and you maintain it as a program rather than as a step. The standard requires that the information cannot reasonably be used to infer identity, that you have implemented technical safeguards and business processes preventing re-identification, and that you commit publicly to maintaining it in de-identified form and bind any recipients to the same. Free text is the hardest category to satisfy this with, because conversational content carries identifying detail in ways that a column-based scrubber will not catch — names in the middle of a sentence, an account number pasted into a question, a description of circumstances unique enough to identify one person. Sampling your own logs and reading them is the fastest way to find out whether the claim survives.

How do we handle a deletion request for data inside a model we license rather than train?

Distinguish what you control. If you are calling a hosted model and the vendor retains inputs, your obligation is to instruct deletion of those retained inputs and to document the instruction and response. You have no ability to alter the vendor's base model, and no regulator expects you to — the base model was not trained on your consumer's record. Where this gets misstated is in response letters that describe the situation as 'the AI cannot be changed,' which conflates the base model with the input retention you can and must address. Be specific about which layer you are talking about.

What should we do about copies in backups?

Recognized practice is to allow deletion from backups on the normal restoration or expiration cycle, provided the record is not restored to active use in the interim and you document the approach. What you cannot do is treat backups as an unbounded exception. Two things make the position defensible: a stated backup retention period that actually expires, and a suppression mechanism ensuring that if a backup is restored, the deleted record is re-deleted rather than resurrected. Backup sets held indefinitely with no expiration and no suppression list are the version of this argument that fails.

How long does a well-built pipeline actually take to fulfill a request?

Teams that have done the inventory and subject-key work typically fulfill in days, with the tail driven entirely by vendor response times. Teams that have not usually spend the first three weeks discovering where data lives and the remainder writing a carefully hedged letter. The difference is not effort during the window — it is whether the mapping existed beforehand. That is the argument for treating the inventory as infrastructure with an owner and a review cadence, rather than as a project that concluded when the last data map was published.

Run One Request Against Yourself

The cheapest diagnostic available is to file a full access and deletion request for a real internal account and time each stage. You will find the stores nobody mapped, the vendor with no deletion endpoint, and the index that cannot be filtered by subject — in a week where nothing is at stake.

Then fix the ordering: subject keys into derived stores first, vendor register second, propagation logging third. Those three make every subsequent request a query instead of an investigation.