A copy you did not know you kept
Every language model that answers quickly keeps a cache. When you send a long prompt, the model computes keys and values for each token at every layer, and the server keeps them so the next request with the same beginning can skip the work. That is the KV cache, and a prefix cache reuses it across requests. It is why a chatbot answers your second question faster than your first.
It is also a copy of your prompt, in another form. Not readable text, but a mathematical representation derived from it, held in memory for minutes or hours. For a firm that has promised a client that documents are processed and then forgotten, that is worth knowing.
The leak is timing, and it is real
A cache hit returns faster than a miss. If two parties share a cache, one can send a guess and time the answer: a fast response means someone else already sent that text. Researchers have turned this into working attacks. A 2025 NDSS paper showed that KV-cache sharing in popular serving frameworks can allow reconstruction of other users' prompts. A paper accepted by IEEE Transactions on Information Forensics and Security recovered system prompts token by token on a test deployment. An audit presented at ICML 2025 detected cross-customer cache sharing at seven API providers in late 2024.
Precision matters, so here are the limits. The cross-customer sharing that audit found was mostly at smaller open-model hosts, plus one OpenAI embeddings endpoint. The authors could not extract anyone's prompts in practice, and at least five providers changed their systems after disclosure. Nobody has shown one customer reading another's prompts at Anthropic, OpenAI, Google or AWS.
The providers draw walls around you, not inside you
The major providers now document their boundaries. Anthropic isolates caches between organizations and, on its own platform, between workspaces. OpenAI does not share caches across organizations. Google isolates at the project level and lets you disable caching. AWS scopes caches to an account and region. Anthropic and Google both describe caches as compatible with zero data retention, held in memory and deleted after expiry.
That is good engineering, and it answers the question most vendor reviews ask. It leaves the question they rarely ask: what about users inside the same customer? AWS says plainly that within one account, cache entries might be shared across requests, and suggests adding a tenant identifier to separate them. A 2026 workshop paper found that an API gateway's shared-credential mode broke providers' account isolation entirely, until customers brought their own keys.
If you run models yourself, the default matters more. vLLM, a widely used open-source server, enables prefix caching by default and separates users only when each request carries a cache_salt. Its own documentation describes that salt as the protection against timing attacks. Without it, the cache is shared by every user of the server.
Why a firm should care about its own users
Inside a bank, the deal team working on an unannounced acquisition sits behind an information barrier. Inside a law firm, a screened lawyer must not learn what the other side of the wall is doing. Inside a hospital, a clinician's access follows the patient relationship. A shared prompt cache does not know any of this. If both sides of a wall use the same deployment, the timing channel crosses the wall.
The fix is not exotic. Scope caches to the same boundary as document access: per matter, per deal team, per client, or per user where the stakes justify the lost speed. Treat the cache salt or tenant key as an access-control decision, owned by the people who own the barrier, not as a performance setting owned by whoever deploys the server.
Under GDPR, it looks like personal data to me
No regulator has ruled on KV caches. The EDPB's 2024 opinion on AI models addresses trained models, not inference caches. So what follows is my reading of the text, not guidance.
The regulation defines personal data as "any information relating to an identified or identifiable natural person", and processing as including storage, retrieval and erasure. A cache derived from a prompt about a named client is, on that reading, personal data held for a period. Storage limitation requires it be kept "for no longer than is necessary". The erasure right requires deletion "without undue delay". Article 28 requires a processor to delete personal data and "existing copies" at the end of the service. And Article 32 requires security "appropriate to the risk", which a known side channel is part of.
Most of this is easy to satisfy, because caches are short-lived by design. But lifetimes differ: from five minutes to 24 hours depending on provider and setting, and OpenAI notes that manual cache clearing is not currently available. A firm that promises erasure should know which of those it is running, and write it down.
Put the cache in the policy
Three questions belong in every AI deployment review. Where is cached prompt data held, and for how long? Who can share a cache with whom, and is that boundary the same as our access-control boundary? And does our retention and erasure policy mention it at all?
The cache is a performance feature. It is also customer data, in another form, for a while. Both things are true, and only one of them usually gets written down.
Frequently asked questions
Do major AI providers share prompt caches between customers?
Their documentation says no. Anthropic, OpenAI, Google and AWS isolate caches by organization, project or account. Within a single customer, caches are often shared unless you separate them.
Is a KV cache personal data under GDPR?
No regulator has ruled on it. On the text of the regulation, a cache derived from a prompt about an identifiable person plausibly is, which brings storage limitation, erasure and security duties into scope.
How do I isolate caches on a self-hosted server?
In vLLM, pass a cache_salt per tenant, matter or user so only requests with the same salt can reuse cached blocks. Align the salt with your existing access-control boundaries.
Sources & further reading
- Wu et al., I Know What You Asked: Prompt Leakage via KV-Cache Sharing in Multi-Tenant LLM Serving (NDSS 2025)
- Song et al., The Early Bird Catches the Leak: Timing Side Channels in LLM Serving Systems
- Gu et al., Auditing Prompt Caching in Language Model APIs (ICML 2025)
- Fahey, CacheProbe: Auditing Prompt Cache Isolation in Gateway APIs
- Anthropic: prompt caching
- OpenAI: prompt caching
- Google Cloud: Vertex AI zero data retention
- AWS: Optimizing cost and latency with Amazon Bedrock prompt caching
- vLLM: automatic prefix caching design
- General Data Protection Regulation (EU) 2016/679
- EDPB Opinion 28/2024 on AI models