Personal data and AI models: what you can't send to a foreign model, and how to check your own system
For owners whose bot already talks to customers: what to check yourself, where to look for weak spots, and what an audit costs.
Allow this site to count your visits with Yandex Metrica? Metrica will store cookies in your browser to do this. How the site uses cookies
For owners whose bot already talks to customers: what to check yourself, where to look for weak spots, and what an audit costs.
If your bot already talks to customers, check whether you comply with Russia's personal data law (152-FZ). The most common problem is simple: nobody in the company can say which data leaves your systems and where it goes. Below is how to find out in an evening, without a lawyer or a contractor.
Whether you check the system yourself or someone else does, start with three questions. How quickly you can answer them already tells you a lot.
If you found the answers within a minute, read on calmly. If you didn't, you don't know what happens to your data, and that is a problem even before the law comes into it.
This is where people most often go wrong. Managers usually think of personal data as a passport, a surname and a phone number. The law defines it more broadly: any information that relates directly or indirectly to a specific person. The key word is “indirectly”. In a conversation with a bot, it covers:
Consider the example in my ready-made chatbot audit solution: the AI tutor of an online school with 20,000 students. It sees each student's progress, their message history and sometimes data from sign-up forms. All of that is personal data, and it goes to the external service along with each request.
The most common way to reassure yourself is to replace the customer's name with a reference number and consider the data “anonymised”. Under the law, anonymisation means actions after which you can't tell whose data it is without additional information. If the address, the order number or the conversation history goes to the model along with the number, the person can be identified without any lookup table. So nothing has been anonymised.
Here is what the right approach looks like. In my design for a dental clinic's voice agent, the model receives only an age group, sex and a description of symptoms. The patient's surname, phone number and medical details stay in the clinic's own database, stored where the law requires, and so does the record of which call belongs to which patient. The model never receives anything that could identify the patient.
The test takes a minute. Take what actually went to the model and show it to someone on your support team. If they can name the customer, the data isn't anonymised, whatever the column in your database is called.
When personal data never crosses the border, a whole layer of work disappears. You don't need to justify the transfer, collect separate consents for it, or explain to an inspector what happens to the data abroad.
In practice this comes down to three rules. The customer database sits with a hosting provider in Russia. Anything that involves real people is handled by a Russian model, such as GigaChat from Sber or YandexGPT from Yandex. A foreign model is used only where there's no personal data at all: website copy, reading technical documentation, drafts of product descriptions.
Let me be direct, because the question almost always comes in this form: “can we send customer data to ChatGPT?” ChatGPT, Claude and Gemini are foreign services. Sending a Russian citizen's surname, phone number, address or medical details there without a separate legal basis and consent to cross-border transfer is a formal violation. My AI security service page says the same. For tasks without personal data, these services remain a perfectly good working tool: product descriptions, draft emails, reading documentation.
My AI sales assistant for an online store follows these three rules. On the brand's Russian site, visitors get their answers from YandexGPT, and their data stays in Russia. Phone numbers and emails are stripped out before anything is written to the conversation logs.
Nobody can bring the risk to zero, so a promise that it has been “fully removed” should make you wary. The job is to draw the line and know exactly where it runs.
A language model can't tell your rules apart from the text a visitor sends. To the model it's all one stream of words. That opens the door to a whole class of attacks called prompt injection: a visitor writes the bot an instruction, and the bot follows it and forgets your rules.
Ordinary security testing tools don't notice this attack. They look at network requests, headers and vulnerabilities in code libraries. This attack is written in plain language and looks like a customer's message.
I start an audit by checking for eight vulnerabilities. Here are three of them:
Each of these looks obvious once someone has pointed it out. To find one in advance, you have to look at the system through an attacker's eyes.
An example from my own work: an internal knowledge-base assistant. The bot answers questions using work chats, emails and voice messages. The same sources held the owner's private correspondence, which the team must not see.
The right question was: “How many private text fragments can the team see at its access level?” A measurement on the live search index gave an unpleasant answer: 1,327. After the access rules were fixed, the answer was 0. That level can now see 4,560 fragments, down from 6,139. The access log confirmed that nobody had actually opened the private fragments.
The lesson is simple. As long as access rights are discussed in words, they are “more or less set up”. As soon as you ask for a number, it can easily turn out to be above zero.
A full audit takes two to three weeks. First I attack an isolated copy of the live system, covering all ten categories of the OWASP LLM Top 10, the widely used list of risks for systems built on language models. Then I write a report with a plan to fix every finding. Once your team has made the fixes, I run the same set of attacks again. The final report shows which attacks are now blocked and carries the date of the re-test.
A report without a work plan is just paper.
Now the money. A full audit costs 400,000 ₽ to 1.1 million ₽, depending on the scope. Take the online school from the example above. If data on all 20,000 students leaked, the fine would be 5–10 million ₽ (CoAO art. 13.11, part 13). Even the minimum fine here is 4.5 times the price of the most expensive audit, and that counts only the personal data violation. You almost never need to start with a full audit. An express diagnostic for 45,000 ₽ takes one working day: a shortened checklist, one live attack and a 4–6 page report. That's enough to decide whether you need the full audit.
Eight items an owner can work through today. You'll need a developer next to you and twenty minutes of their time.
If three or more items have no answer, that is the normal state of a system that was launched quickly. All of this can be fixed.
If the checklist left three or more gaps, order the express diagnostic for 45,000 ₽. If you're not sure you need it, start with a free 15-minute call. Formats and the way I work are described on the AI security audit service page. Answers about 152-FZ and about signing a contract with me are in the FAQ on the pricing page.
Need a broader review than security, covering what to automate at all and in what order? That is what the 5,000 ₽ audit is for.
— Vyacheslav Chukhaldin, Kaliningrad, 2026-08-06
The provisions were checked against the official publication portal and legal reference databases on the date of publication. Russian personal data law keeps changing, so check the current wording through the links above before you make a decision.
I'll tell you what to automate first, when it will pay for itself and whether your task needs AI at all. Sometimes it doesn't.
Or just ask a question. During business hours I reply within 2 hours