Skip to content
Bleier Solutions
+43 677 61817457Discuss your project
Discuss your project

I measure anonymously which pages are read, with Google Analytics. Without your consent this does not happen, and the site works just the same.

What is measured

Running an AI chatbot in line with the GDPR

Which data a website assistant really processes, where it sits and what belongs in the privacy policy, based on the architecture I build for clients.

Published on Updated on 8 minutes read

Which data does a website chatbot actually process?

Three kinds of data, and only the first is unavoidable: the visitor’s question, technical connection data, and everything the visitor voluntarily types into the input field. The question itself is the purpose of the system. The connection data arises because every request runs through a server. The third point is the dangerous one: people type things into chat windows that they would never write into a form, such as names, medical conditions, contract numbers.

That is exactly where it is decided whether an assistant runs cleanly under data protection law. A system that logs every input indefinitely collects, within a few months, a body of data for which there is no legal basis and which nobody can survey any more.

Where does the data sit in my architecture?

The knowledge base sits with Cloudflare, and the language model request runs through a processor with whom a contract under Art 28 GDPR is in place. Both providers are named by name in the client’s privacy policy, not paraphrased as external service providers. That is not a formality: Art 13 GDPR requires the recipients to be named, and a collective label does not satisfy it.

The client’s content, meaning price lists, service descriptions and information sheets, is not personal data but company knowledge. It is prepared once and then sits there as a searchable knowledge base. A personal reference only arises on the question side, and that is why all the attention sits there.

How long are conversations stored?

With me, 30 days, after which the logs are deleted. The reason for this period is a practical one: I need the conversations to see which questions the assistant could not answer and to extend the knowledge base from them. That analysis comes as a monthly report in the business package; in the entry package it can be pulled on request. After four weeks the individual conversation has served its purpose.

Anything that turns into a contact inquiry out of a conversation follows the contact form’s retention period: on my own site that is 24 months, and if an order comes out of it, the seven year retention obligation under § 132 BAO (Austrian Federal Fiscal Code) applies. Both of these periods are written that way in my privacy policy, because a period that is written nowhere is effectively no period at all.

What is stored from the IP address?

A salted SHA-256 hash, never the address itself. The hash serves abuse prevention: without it there is no way to tell whether the same source is making two hundred requests in a minute. With the salt kept secret, it is practically impossible to reverse.

That is already how the contact form on this website works, and the same mechanism carries the assistant. The difference from an off the shelf chat widget is large at this point: with an embedded third party system the provider decides what happens to the IP address, and you find out at best from their documentation.

Only if it sets cookies that go beyond the service explicitly requested. § 165 Abs 3 TKG 2021 (Austrian Telecommunications Act) permits access to the end device without consent when the storage is strictly necessary for the service explicitly requested by the user. A session marker that assigns the running chat to a conversation falls under that.

But as soon as an assistant recognizes people across sessions, builds usage profiles or passes data to an advertising network, it requires consent, and with a banner built to the requirements of the Austrian data protection authority (Datenschutzbehörde): buttons of equal size, tracking off by default, no pre ticked boxes. Many bought in widgets bring exactly this recognition with them, without it being mentioned in the sales conversation.

What has to be in the privacy policy?

Five items, and none of them is optional: the name of the provider with address, the purpose of the processing, the legal basis, the storage period and a note on any transfer to a third country. If the language model comes from a provider based in the USA, the basis of the transfer belongs there too: standard contractual clauses or an adequacy decision.

On my projects a sixth point is added: the explicit statement that the inputs are not used to train third party models. That is settled contractually with the processor and not merely a hope, because the client gets asked this question by their own customers.

How do you stop the assistant from claiming nonsense?

By having it answer exclusively from the stored content and name the source under every answer. An assistant allowed to draw on the model’s general world knowledge invents plausible sentences under pressure, and in case of doubt those are statements about prices, deadlines or services that the business then has to stand by.

That is why the fallback answer is part of the product with me: what the documents do not cover is not answered but handed over to the contact form. That is awkward in a demonstration and right in operation. What that process looks like technically is described in How a website assistant works.

Who is liable when the chatbot says something wrong?

The operator of the website, not the model provider. From your customers’ point of view, the statement on your site is your statement, and whether a human or a system phrased it changes nothing about that. With price information that can turn into a binding offer in the worst case, and with deadline commitments into an assurance.

In practice that means the assistant never gets three topics into its knowledge base in the first place: legal advice, tax advice and medical advice. In my offers that is stated explicitly under not included, so the limit is settled before the order and not after.

What does compliant operation cost?

From €79 per month in the entry package, from €149 in the business package, each including model costs, hosting of the knowledge base and updating of the content. The build comes to €2,900 one-off; all amounts are VAT-exempt as a small business pursuant to § 6 Abs 1 Z 27 UStG (Austrian VAT Act).

The data processing agreement and the entry in the privacy policy are part of the delivery and do not cost extra: they are the precondition for the system being allowed to run at all. Details, packages and limits are on the AI assistant for your website page.

Where do you start?

With the list of questions that actually come in, not with picking a provider. Spend two weeks noting down what gets asked on the phone and by email. If it turns out that ten questions keep repeating and the answers already exist in writing, an assistant is the shortest tool. If it does not turn out that way, save yourself the project.

The second step is the question of the data path: which provider sees the inputs, how long do they stay, what does the contract say about training? Anyone who gets no answer to that should not take the provider: the duty to inform does not end at the system boundary.

The website check tells you in under a minute where your existing site stands on the mandatory disclosures: whether the legal notice and the privacy policy are reachable, and whether your form links to the privacy policy.

Own figures in this article

  • Own architecture: conversation logs 30 days, contact inquiries 24 months, seven years after an order under § 132 BAO
  • IP addresses are stored only as a salted SHA-256 hash, never in plain text
  • Operating costs for the assistant from €79 per month, covering model costs, hosting of the knowledge base and updates

Sources

Read on

Written by Raphael Bleier

Einzelunternehmer in Klagenfurt am Wörthersee, GISA-Zahl 40048086. How I work