Predictika · Data Subject Request Check
Juniper Cloud Software, a fictional software vendor, lets AI agents handle privacy requests from customers in the EU, the UK and California: access, deletion, correction, portability, opt-out of sale or sharing, and restriction. Before an agent fulfils or refuses a request, the call goes to Predictika’s Data Subject Request Check. It checks the request type and region, whether identity is verified, who is asking and with what authority, how many days have passed and whether an extension was sent, legal holds, other people’s data in an export, fees, and any approval on record. Then it returns one verdict: allow, needs approval, or block.
Not legal advice. Juniper Cloud Software is fictional. The scenarios are illustrative. The rules are a simplified model informed by GDPR, UK GDPR and CCPA; they have not been reviewed by a lawyer and the legal citations were not checked against the primary text in this build.
This validator decides one thing: whether one proposed action on one privacy request may go ahead, given the facts of the request. It is not a legal opinion or a case-management tool.
Within these rules the validator handles any combination of the listed facts, not just the seven scenarios on this page. It does not read the data, check identity documents, cover other countries or states, or decide whether a request is really excessive; those are taken as stated facts.
The validator takes facts as inputs: the request type and region, fulfil or deny, identity verification status, who is asking and the proof of authority, days since the request arrived, whether an extension was sent, any hold on the data, whether the export includes other people’s data, whether the request is excessive, whether a fee is proposed, and the approval on record. These come from the privacy request system at the moment of the call. The validator never sees the data, the requester or the documents.
Two honest limits. The validator judges the facts it is given: if the hold flag is wrong, the answer follows it. And an action that never calls the validator is not checked; in this demo the agent calls it itself, and in a deployment the privacy workflow makes the call.
7 scenarios in 3 groups · each group runs from the agent’s first attempt to the outcome · click one to switch
Illustrative agent statement. The validator receives the structured request below.
Proposing agent: AI agent (scripted)
Before sending, the agent must call Recorded run
What this means
General statements about privacy request tools, not about any named product. We rest this on public descriptions of how such tools work; anyone running a specific product will know it better than we do.
| What the validator caught | Typical tool | Predictika |
|---|---|---|
| Which request types need identity checks, and which must not | Cannot do it A privacy request tool applies one verification flow. It does not return a different answer for an opt-out and a deletion, or by region. | Every rule is checked on every call and the verdict lists each finding. |
| Holds and retention laws that block a deletion | Only if someone is vigilant Legal holds live in a legal or records system. A privacy tool can show them, but stopping an agent from deleting needs a rule across both. | Every rule is checked on every call and the verdict lists each finding. |
| Different deadlines and rules for the EU, UK and California in one decision | Only with workarounds A tool can hold per-region timers if someone sets them up. It does not return one answer with every reason across regions and request types. | Every rule is checked on every call and the verdict lists each finding. |
Every rule is checked on every call, in any order the choices arrive; one problem never hides another. Blocking findings stop the request; approval findings need a person to sign off first.
| 1 | The requester identity is unverified, and the access request cannot be fulfilled without verification (GDPR Art 12(6); CCPA 11 CCR 7062). |
| 2 | This request was made through a requester of type agent and no proof of authority is on file (CCPA 11 CCR 7063; company policy for a parent or guardian). |
| 3 | The data is under a litigation hold and cannot be deleted (GDPR Art 17(3)(e); CCPA 1798.105(d)). |
| 4 | A retention law requires keeping this data, so deletion cannot go ahead (GDPR Art 17(3)(b); CCPA 1798.105(d)(8)). |
| 5 | The data to be released includes other people personal data that has not been redacted (GDPR Art 15(4)). |
| 6 | A fee is proposed for a request that is not excessive. The first response must be free (GDPR Art 12(5); CCPA 1798.130(a)(2)). |
| 7 | The proposed refusal has no ground. Identity is not in doubt, nothing requires keeping the data and the request is not excessive (GDPR Art 12(4); CCPA 1798.130). |
| 8 | An opt-out of sale or sharing cannot be refused or held up for verification (CCPA 1798.120 and 1798.135). |
| 9 | Identity is only partly verified for the access request. The privacy officer must decide whether it is enough. |
| 10 | The restriction request is not a standard right in California. The privacy officer must decide how to treat it. |
| 11 | The request is 40 days old and the response deadline was 30 days, with no extension notice (GDPR Art 12(3); CCPA 1798.130(a)(2)). The privacy officer must handle the delay. |
| 12 | The request is 100 days old, past the maximum of 90 days even with an extension. Counsel must decide how to respond. |
The recorded result of the validator for each scenario on this page: the request the AI agent sent, the verdict, and every finding, in the order they appear above.
The agent's request. I'm sending this customer a copy of their personal data. The identity check did not pass, but the request looks genuine to me.
Verdict: Blocked.
The agent's request. I'm sending the same customer their data now that identity verification is completed.
Verdict: Allowed.
The agent's request. I'm sending the customer their full export. It includes some messages with other people’s names and details, which I left as they are.
Verdict: Blocked.
The agent's request. I'm sending the customer their export again. I redacted the other people’s names and details first.
Verdict: Allowed.
The agent's request. I'm deleting this customer's data because they asked. I know there is a litigation hold on their account, but their request seems clear.
Verdict: Blocked.
The agent's request. I'm refusing this opt-out request, because the person's identity is not verified.
Verdict: Blocked.
The agent's request. I'm sending the customer their data now. The request has been open for 40 days and I never sent an extension notice.
Verdict: Needs approval.
The text of the narrated walkthrough, step by step.