AI Act: how reactive.chat uses artificial intelligence
How reactive.chat applies Regulation (EU) 2024/1689: which features use AI and which do not, roles, risk classification, transparency towards Visitors, human oversight, logging, data use and reporting of errors.
1. What this page is for
Regulation (EU) 2024/1689 (the "AI Act") lays down rules for AI systems that are placed on the market or used in the European Union. This page explains, feature by feature, where reactive.chat (the "Service") uses AI and where it does not, which role the Operator and the Customer play under the AI Act, how the Service is classified, and which obligations follow for each side. It forms part of the legal documentation of the Service together with the Terms of Service, the Data Processing Agreement, the Privacy Policy and the Acceptable Use and Anti-Abuse Policy. This page describes the Operator's own assessment; it is not legal advice to the Customer.
The short version. The chat assistant and a number of agent tools use language models. They are openly licensed models that the Operator runs unchanged on its own computers; they are not trained with Customer data. Visitors are told before the first assistant message that they are talking to an AI, and every assistant message carries an AI label. A human can take over any conversation at any time, and from that moment the assistant is silent. The assistant does not take decisions about people. The optional AI verdict in automatic quality assurance is given only for conversations in which no human took part, and it is never attributed to a Team Member (section 6.3). The AI functions do not accept, screen or assess job applications; this block cannot be switched off (section 6.5). The classification as not high-risk in section 6.2 rests on these two technical limits.
2. Terms used on this page
- Operator: LW IT Solutions Company Lukas Wójcik, al. Tadeusza Kościuszki 80/82, lok. 301, 90-437 Łódź, Poland, VAT ID PL7252266190, e-mail contact@lukaswojcik.com.
- Customer: the business that registers an account, creates workspaces and projects and embeds the widget on its website or connects other channels.
- Team Member: a person whom the Customer has given access to a workspace, with one of the roles owner, admin, member (agent) or viewer.
- Visitor: a natural person who writes in the chat widget on the Customer's website or through a connected channel.
- Assistant: the AI chat assistant of the Service. Its default name is "Ada"; the Customer may choose another name.
- AI node: a computer that runs a language model or an embedding model and receives work from the Service.
- Knowledge base: the content the Customer makes available to the Assistant (crawl of its website, uploaded documents, connected document sources, product data).
3. Timeline of the AI Act
The AI Act entered into force on 1 August 2024. Its provisions apply in stages (Article 113):
- since 2 February 2025: general provisions, including the AI-literacy duty of Article 4, and the prohibited practices of Article 5;
- since 2 August 2025: the obligations for providers of general-purpose AI models (Chapter V), governance and penalties;
- from 2 August 2026: the remaining provisions, in particular the transparency obligations of Article 50 and the rules for high-risk AI systems listed in Annex III;
- from 2 August 2027: the rules for high-risk AI systems that are safety components of products covered by Annex I (Article 6(1)).
In November 2025 the European Commission proposed amendments to the AI Act (the "Digital Omnibus") which would, among other things, postpone the application of the high-risk rules. This page states the dates of the Regulation as published. If an amendment changes them, the Operator will update this page; the obligations described in section 7 are applied by the Service regardless.
4. Where reactive.chat uses AI, and where it does not
4.1 Models and where they run
- Chat models: the Operator's own AI, self-hosted on its own hardware: one chat model on the second-tier nodes and another on the first-tier node as reserve; both are openly licensed language models in a 4-bit quantised form, served with open-source inference software. The 4-bit forms are published by third parties; the model weights are fixed to a specific revision, and the Operator does not change them. Both models can read text and, where enabled, one image per request. The context window of the model on the first-tier node is 8,192 tokens.
- Embedding model: a separate embedding model of the Operator's own AI, likewise self-hosted and openly licensed, that turns text passages into vectors for the search in the knowledge base. Only vectors from this one model are accepted, so that all passages lie in the same vector space.
- Search: the knowledge-base search combines a word search and a vector search by rank fusion, a fixed calculation. No separate re-ranking model is used.
- Where they run: on AI nodes of the Operator in the Operator's local network in Łódź, Poland, in the same network segment as the server of the Service. Only nodes entered in the Operator's register of permitted nodes receive work; any other node is refused, and if the register cannot be read, no work is handed out at all. No third-party AI service (for example OpenAI, Anthropic, Google or Mistral AI as a service) is used for reactive.chat.
- Tiers and plans: two nodes form the second tier, one node forms the first tier. Jobs from paid plans and jobs without a workspace go to a second-tier node; the first-tier node takes them only if they have waited 3 seconds or no second-tier node is available. Jobs from Free projects are processed only on the first tier, that is with the reserve model. Embeddings do not depend on the tier.
- Customer's own AI node: on a paid plan, the Customer can connect an AI node of its own ("bring your own model"), including a model of a third party under the Customer's contract (for example Azure OpenAI, or a local Ollama or LM Studio installation). Section 5.3 explains what this changes.
4.2 Features that use a language model
For each feature: what goes into the model, what is stored, who can switch it off, and how people are informed or involved. "Operator switch" refers to the Operator's function switches per project (section 13).
- Assistant answers in the chat. Input: the Visitor's message, the recent conversation (a window of recent messages plus a summary of older ones), the passages found in the knowledge base, the situation on the page (name of the Assistant, type of page, local time, language) and, where a file was attached, its extracted text. Stored: the answer as a chat message; the job including the full prompt in the AI job queue; a check record in the AI log (section 10). Switch: the Customer per project ("let the assistant answer"); the Operator by emergency stop. Information: notice and AI label (section 7); handover to a human (section 9).
- Streaming. Answers can appear in whole sentences while they are still being generated. Same inputs and storage as 1; Operator switch "streaming".
- Summary of older parts of a conversation. To keep long conversations within the context window, older exchanges (up to 6,000 characters) are summarised for the Assistant's own use. The summary is held in memory only and not shown to anyone. Switch: Operator configuration.
- Handover note. When a conversation is handed to a human, the model can write a short internal note for the agent. It is visible only in the agent dashboard. Switch: Operator configuration.
- Copilot in the agent dashboard. On an agent's request: a draft of the next reply, a summary of the conversation for a colleague, or a rewording of the agent's own text in another tone. Input: message texts and roles, for drafts also knowledge-base passages and the project name. Before the text reaches the model, e-mail addresses, phone numbers, sequences of six or more digits, IBANs, card numbers and secrets are masked; agent names, the Visitor identifier and page addresses are not passed on. Nothing is sent to the Visitor by itself. The job is confidential (section 10). Switch: Operator switch "copilot"; where the project requires the Visitor's consent for AI processing, only with that consent. There is currently no separate Customer switch for the Copilot.
- Translation in the agent dashboard. On request (command /translate) or automatically for a conversation. Input: the message text. Stored: the translation with the message and, for 30 days, in the conversation cache; the job is confidential (section 10). Available on paid plans only, subject to the Visitor's consent where the project requires it, switchable per conversation and by Operator switch.
- Smart Answer. A search box for the Customer's website that answers questions from the knowledge base (a separate service: the Operator's Answely service, run by the same legal entity on the same server). Input: the question, the address of the page without query string, the page title, follow-up questions. No content is written to logs; a counter with the IP address shortened (IPv4 without the last octet, IPv6 to the /48 network) but without text is kept for 7 days, and a generated answer (text and sources, the question only as a hash) is cached for 24 hours. Switch: Operator switch "search"; the Customer configures the box.
- Images sent by Visitors. Where enabled, one image per message is passed to the model, reduced to at most 768 pixels and re-encoded, which removes embedded metadata such as EXIF and GPS data. The image itself is not stored in the AI job queue, only a reference. Operator switch "AI images".
- Text of attached files. From PDF, TXT and CSV files, up to 2,500 characters per message are passed to the model. The file is kept for the retention period of the plan. Operator switch "upload". Text recognised in images (OCR) is not passed to the model; it is used only to check figures in the answer.
- Bot actions. Where the Customer has configured them on a paid plan: order status from the Customer's shop data, free slots and booking via Cal.com, subscription status via Stripe, and custom HTTP actions of the Customer. Cal.com and Stripe are reached with the Customer's own accounts; they are services of the Customer, not of the Operator. Of a result, the model receives only the answer fields the Customer has released (at most 300 characters per value and 4,000 characters in total). Section 8.4 describes the safeguards. The job is marked confidential; its prompt is emptied after delivery.
- Answers from customer data. Where the Customer has connected its shop data, the Assistant can answer questions about a Visitor's own orders. The job is confidential; prompt and data are emptied after delivery.
- Proactive message. A short opening sentence that the Widget can show as a bubble, written from the page text (at most 1,200 characters), the page title, the Assistant's name and the team's tone. Recorded in the AI log. Controlled by the Customer's rules.
- Knowledge gaps. On request, drafts of knowledge-base entries for questions the Assistant could not answer, at most 5 per day and project. The drafts are internal; nothing is added to the knowledge base without the Customer.
- Automatic quality assurance with AI verdict (optional). Section 6.3.
- Classification for routing (optional). At most once per conversation, after the first Visitor message, the model can suggest topic labels from the Customer's own list, an urgency flag and a mood value (positive, neutral, negative, angry). Input: only that message, masked as for the Copilot and cut to 1,500 characters, and the list of labels. The model's mood value is combined with the word-list mood: the less favourable of the two counts. Labels and mood can be conditions of the Customer's routing rules; the assignment itself is made by those fixed rules, not by the model, and the Visitor is not informed of it. Stored: the labels the model assigned become tags of the conversation and are kept and deleted with it like any other tag; the mood value and the state of the classification are kept only in the working copy of the conversation, which expires with it; the operating log records labels and mood without message text; the job is confidential. Switches: the Customer per project (off unless the Customer switches it on); paid plans only; subject to consent where required; Operator switch "routing" and emergency stop.
- Test runs and bot versions. Test questions that the Customer runs through the same answer path as the live Assistant, optionally with an AI verdict on each answer, to try out its configuration before going live. A run creates no conversation, no message and no entry in reports. Test questions can be written by hand or adopted from knowledge gaps; adopted questions are real Visitor questions and pass through the PII scrubber first – if the scrubber is not available, nothing is adopted. Each saved change of the bot settings is kept as a version with the name of the person who saved it. Confidential; emptied after delivery. Operator switch "simulation".
- Embeddings of the knowledge base. Passages of the Customer's website (the crawler observes robots.txt), uploaded files (PDF, DOCX, TXT, Markdown, CSV, HTML), files from a connected Google Drive (read-only access) and other connected sources are turned into vectors with the Operator's own, self-hosted embedding model. The vector copy in the cache expires after 30 days unless rebuilt.
- Support assistant of the Operator. In the Operator's own support for Customers, a draft answer can be generated from the support request after masking. A person of the Operator reviews and sends every answer.
4.3 Functions that do not use a model
The following functions work with fixed rules, word lists or counters and involve no AI model. They are listed because they are sometimes assumed to be AI:
- detection of misuse of the Assistant as a general-purpose assistant (section 8.2);
- the fixed answer to the question what is stored about the Visitor, and the handling of deletion requests in the chat; the model does not formulate these;
- the setup suggestions and the design wizard in onboarding;
- the frustration radar (based on clicks and counters);
- the rule part of automatic quality assurance, including every evaluation per agent; the word-list mood in routing and the assignment rules;
- the detection of job applications (section 6.5);
- the live visitor list, the selection of Visitors for campaigns and the guided flows built in the flow editor (a step in which the flow hands the conversation to the Assistant is an ordinary Assistant answer);
- the MCP tool "search knowledge base", which runs the search but no model; the MCP server itself never starts an AI job.
5. Roles under the AI Act
5.1 The Operator as provider
The Assistant and the agent tools are AI systems within the meaning of Article 3(1) of the AI Act: they generate text from inputs with a degree of autonomy. The Operator develops these systems around an existing model (prompts, retrieval, checks, guards, interfaces) and puts them into service under the name reactive.chat. The Operator is therefore the provider of these AI systems within the meaning of Article 3(3).
5.2 The Customer as deployer
The Customer uses these AI systems under its own authority in its professional activity: it decides whether the Assistant answers at all, on which projects, under which name and role text, with which knowledge base, with which scope of answers and actions, and which agent tools its Team Members use. The Customer is therefore the deployer within the meaning of Article 3(4). Choosing a name, writing a role text, building the knowledge base and switching features on or off are ordinary deployer configuration; they do not make the Customer a provider.
The Customer would itself become a provider under Article 25(1) if it put its name or trademark on a high-risk AI system, made a substantial modification to one, or changed the intended purpose of an AI system of the Service so that it becomes high-risk (for example by using the Assistant to pre-select job applicants or to assess creditworthiness, see section 6.4).
5.3 Customer's own AI node
If the Customer connects its own AI node, the Service sends the jobs of that Customer to that node. The Operator remains the provider of the software system around it. The choice of the model, its licence, the contract with any third party running it, and the place where it processes data are then the Customer's responsibility; that third party is the Customer's own processor, not a sub-processor of the Operator. The statements in sections 4.1 and 11 about the Operator's models and nodes do not apply to jobs processed on the Customer's node.
5.4 No provider of a general-purpose AI model
Chapter V of the AI Act (Articles 51 to 56) applies to providers of general-purpose AI models. The chat models and the embedding model of the Operator's own AI are models of third parties, published under open licences; the 4-bit forms used are likewise published by third parties. The Operator uses them unchanged and does not train, fine-tune, quantise or otherwise modify them. The Operator is therefore not a provider of a general-purpose AI model; the obligations for the models themselves rest with their providers.
5.5 Persons affected
Visitors are the persons who interact with the Assistant. Team Members are affected where agent tools process their messages; in automatic quality assurance they are affected only by the rule-based evaluation, because the AI verdict is not given for conversations in which they took part (section 6.3). Applicants are protected by the block in section 6.5.
6. Risk classification
6.1 No prohibited practices (Article 5)
The Service does not use and does not offer: subliminal, manipulative or deceptive techniques that distort behaviour; exploitation of vulnerabilities due to age, disability or social or economic situation; social scoring; predicting criminal offences from profiling; untargeted scraping of facial images; emotion recognition in the workplace or in education; biometric categorisation; remote biometric identification.
The mood value in routing is derived from the text of the Visitor's messages: by word lists in German, English and Polish and, where the Customer has switched on the AI classification (section 4.2 item 15), additionally by the model's estimate from the first message. The anger and thanks words in quality assurance are word lists as well. These functions infer a mood from written text only; they use no voice, image or other biometric data. They are therefore not an emotion recognition system within the meaning of Article 3(39), which presupposes biometric data, and they do not fall under the prohibition in Article 5(1)(f), which concerns emotion recognition in the workplace and in education. The value concerns the Visitor's message, not a Team Member; it does not decide anything about the Visitor on its own and serves only as a condition in the Customer's routing rules. It must not be used to draw conclusions about the emotional state of Team Members.
6.2 Not a high-risk system as intended
Annex III lists the high-risk areas: biometrics, critical infrastructure, education, employment and workers' management, access to essential private and public services (including creditworthiness and insurance pricing), law enforcement, migration, and justice and democratic processes. The intended purpose of the Assistant and of the agent tools is customer communication on a business website: answering questions, handing over to humans and helping agents write. This purpose is not listed in Annex III. The Assistant does not take or prepare decisions about Visitors in those areas, and it does not take decisions with legal or similarly significant effects within the meaning of Article 22 GDPR.
Two functions would touch Annex III point 4 (employment and workers' management) if they were not limited. The Operator holds the assessment "not high-risk" only because both limits are built into the Service and cannot be switched off by the Customer: the AI verdict of quality assurance is never given for conversations in which a Team Member took part and is never attributed to a Team Member (section 6.3), and job applications are not processed by any model (section 6.5). If either limit were removed, this assessment would have to be made again.
6.3 Automatic quality assurance and the evaluation of agents (Annex III point 4(b))
Automatic quality assurance (AutoQA) rates finished conversations (closed, or without activity for 6 hours). Its rule part uses fixed signals (whether the matter was resolved, response times, handover reasons, the Visitor's own rating, word lists) with fixed weights and is not AI.
Optionally, on a paid plan, the Customer can add an AI verdict (workspace setting, off unless the Customer switches it on). The AI verdict is given only for conversations in which no Team Member took part – no message of an agent and no agent assigned –, that is for conversations handled by the Assistant alone. If an agent joins a conversation later, an AI verdict already given is discarded and the rule score applies again. For the verdict, the model reads the Visitor and Assistant messages (at most 60 messages, at most 6,000 characters) after they have passed the PII scrubber and after the names known from the conversation (sender names, name fields of forms, names passed by the Customer) have been replaced by a placeholder; names that appear only in free text are not recognised. The job is confidential; its prompt is emptied after delivery. It is subject to a daily limit per project, to at most half of the project's AI budget, to the Operator switch "autoqa", to the AI emergency stop and, where the project requires it, to the Visitor's consent. The value shown is then the average of the rule score and the AI score. Ratings, including the AI's reason, are stored with the conversation and deleted together with it; when a conversation is anonymised, the AI's reason and the agent reference are emptied.
The Service can show ratings per agent. This evaluation is calculated exclusively from the rule score; an AI score never enters it. It is available only to the owner and admins, can show pseudonyms instead of names, and can be switched off per workspace; when it is off, the agent assignment is not even stored.
Annex III point 4(b) covers AI systems intended to be used to monitor and evaluate the performance and behaviour of persons in work-related relationships. The Operator's assessment:
- The intended purpose of AutoQA is to improve the quality of the service to Visitors: the knowledge base, the Assistant and the processes. It is not intended for evaluating, ranking or taking decisions about individual employees.
- The AI verdict evaluates only answers of the Assistant, in conversations without human participation. By design it does not monitor or evaluate the performance or behaviour of a person in a work-related relationship, so Annex III point 4(b) does not apply to it.
- The evaluation per agent applies rules set by the Operator (fixed signals and weights) and does not infer its output from data in the way Article 3(1) describes. In the Operator's assessment it is therefore not an AI system within the meaning of the AI Act. It remains a monitoring of employees under labour and data-protection law (last point).
- Condition of use: the Customer must not use AI output of the Service to monitor or evaluate the performance or behaviour of individual Team Members, or as a basis for decisions about them (pay, promotion, warnings, dismissal, allocation of work), for example by having the Assistant or the Copilot assess an agent's messages. A Customer who does so changes the intended purpose and is responsible as provider under Article 25(1)(c).
- Independently of the AI Act, per-agent evaluation and the read log (which records who read which conversation, on the Agency plan) are monitoring of employees under labour and data-protection law. Where required by national law, the Customer must involve its employee representatives and inform its Team Members before switching them on.
6.4 Use by the Customer in a high-risk area
If the Customer uses the Service in an area listed in Annex III, for example to pre-select job applicants, to decide on access to education, or to assess creditworthiness or insurance risk, the use is outside the intended purpose. The Customer must assess its obligations before such use and inform the Operator in advance; the Operator may refuse or end such use. Use for the purposes of Annex III point 4 (employment and workers' management) is excluded altogether (section 6.5).
6.5 Excluded use: applications and employment
The AI functions of the Service are not intended to accept, screen, summarise, filter or assess job applications, CVs, cover letters or references, or to give any assessment of the suitability, performance or behaviour of applicants or employees (Annex III point 4 of the AI Act). This is also enforced technically – in the chat, in Smart Answer, in the AI verdict of test runs and in the Operator's support assistant; the limits are set out below.
- Detection without a model. Every Visitor message in the chat and in connected channels is checked on arrival, together with the text extracted from attached files, the text recognised in images and the file names, against fixed patterns in German, English and Polish. If it recognises an application or a request to assess one, no model is asked: the Visitor receives a fixed answer pointing to the Customer's application channel, the conversation is handed over to a human, and the team receives a note. From then on, no model job is started for that conversation – no Assistant answer, summary, handover note, Copilot draft, routing classification or image analysis; only the translation for agents remains available, because it assesses nothing. The AI log records the event without content.
- Second barrier. Because fixed patterns do not recognise every application, an instruction at the beginning of the system prompt of every model job – in the chat and in Smart Answer, in the AI verdict of quality assurance and of test runs, in the knowledge-gap drafts and in the reply suggestions of the support assistant; translation is the only exception – forbids the model to accept or assess applications or to advise on suitability.
- Outside the chat. The same detection checks every Smart Answer question before a model is asked; on a match the Visitor receives the fixed answer without a model. A text with an application is also not passed to the embedding model with which the chat server prepares the knowledge-base search; the search then uses words only. The questions of test runs pass through the chat; the AI verdict on their answers is not requested if the test question, the key statement or the answer contains an application, and suggested test questions with such content are neither shown nor adopted. The support assistant gives no reply suggestion for a message with an application; translation remains available. The AI verdict of quality assurance is not given for conversations with an application, and Visitor questions with an application do not become knowledge gaps, so they appear neither in the knowledge-gap drafts nor among the suggested test questions.
- What remains possible. Information about vacancies and how to apply, taken from the Customer's knowledge base, remains available.
- No switch. Neither the Customer nor the Operator can switch this block off. If the detection module is missing, no model job is sent at all.
- Limits. The detection can miss applications whose wording or file names it does not know; the second barrier then depends on the model following its instruction. File names – of attachments, and in all these places also file names that appear only as text in a message, without an attachment – are recognised regardless of spaces, underscores, hyphens, dots, upper or lower case, capitals inside the name and accents, wherever the word stands in the name ("CV Anna.pdf", "AnnaLebenslauf.pdf"); short words such as "CV", "resume" or "Zeugnis" count only as a word of their own. In a message text, the word with the file extension and up to four words before it are taken as the file name; a word further ahead is not considered.
- Customer's obligation. The Customer must not use the Service for purposes under Annex III point 4, must not instruct the Assistant to accept or assess applications, and should state its own application channel in its knowledge base.
7. Transparency towards Visitors (Article 50)
7.1 What Article 50 requires
Article 50(1) requires providers to design AI systems that interact directly with people so that those people are informed that they are interacting with an AI system, unless this is obvious from the circumstances. Under Article 50(5) the information must be clear and distinguishable and be given at the latest at the time of the first interaction. Article 50(2) requires providers of systems that generate synthetic text to mark the output in a machine-readable format so that it can be detected as artificially generated, unless the system only performs an assistive function for standard editing or does not substantially alter the input.
7.2 How the Service implements it
- Notice before the first message. Before the first message of the Assistant in a conversation, the Widget shows a system notice, in English: "You are chatting with {name}, an AI assistant. A person from the team can take over at any time – just say so." German and Polish versions exist.
- AI label on every message. Every message bubble of the Assistant carries an "AI" badge, and the header of the Widget shows the subtitle "AI assistant".
- Honesty when asked. The Assistant is instructed to say that it is an AI when a Visitor asks whether they are talking to a human. Like any instruction to a language model, this can fail in an individual case; the notice and the label do not depend on it.
- Distinct from humans. The Assistant has its own name. Messages of human agents appear under the agent's name. The Service does not attach an agent's name or photo to text the Assistant generated.
- Machine-readable marking. Every Assistant message is stored and delivered with the author type "bot", and the AI log records for each answer whether the AI label was attached. The Operator regards this as the marking of the output within the Service. A watermark that survives copying of the text outside the Service does not exist; no reliable technique for this is available for plain text.
- Proactive message. A proactive opening sentence that the Widget shows as a bubble is generated by the model and is shown as a message of the Assistant.
7.3 What the Customer must do
The Customer can change all texts of the Widget, both in the dashboard and through the configuration in the embed code, and can add its own style sheets. The Service does not technically prevent the Customer from changing or hiding the notice, the AI badge or the subtitle. Keeping them is therefore a contractual obligation of the Customer as deployer:
- The Customer must not remove, hide, empty, restyle into illegibility or otherwise obscure the notice before the first message, the AI badge or the AI subtitle. If it changes their wording, the new text must still say clearly, in the language of the Visitor, that the Visitor is talking to an AI.
- The Customer must not give the Assistant a name, picture or role text that presents it as a human, and must not describe it as a human employee on its website or in its own communication.
- Where the Customer uses Smart Answer, it must make sure in the texts it configures for the box that Visitors can recognise the answers as generated by AI.
- Where the Customer runs its own AI node, the obligations of this section apply unchanged.
A breach of these obligations is a breach of the Terms of Service and of the Acceptable Use and Anti-Abuse Policy.
7.4 AI tools for agents
Drafts, rewordings and translations from the agent tools reach the Visitor only when an agent sends them. They are then sent under the agent's name, without an AI label, and are the agent's own statement for which the Customer is responsible. The Operator considers these tools an assistive function for editing within the meaning of Article 50(2), because a person reviews and sends the text. A translated reply is shown to the agent before it is sent. The widget does not mark such messages separately. Before a draft is shown, the Service compares it with the conversation and the knowledge-base passages used and points out to the agent numbers and links that do not appear there; this check does not replace the agent's own review. If the Customer wants Visitors to know that replies are translated or drafted with AI support, it can say so in its own texts.
8. How answers are produced and where their limits are
8.1 Sources of an answer
- The Customer's knowledge base. The Assistant first searches the Customer's knowledge base and answers from the passages found. Each answer based on the knowledge base names its sources, which the Visitor can open.
- Operator's product knowledge. For questions about the chat itself (for example "what is this chat?" or "powered by"), the Assistant can answer from a knowledge collection about reactive.chat maintained by the Operator.
- Operator's general knowledge and free answers. Depending on the "answer scope" chosen by the Customer per project, the Assistant can answer more than the knowledge base: "strict" allows only content of the website; "website" (the default) adds greetings, thanks and small talk, while a general knowledge question receives a fixed sentence; "general" also allows short answers from the model's general knowledge. In addition, the Operator maintains a general knowledge collection, which is consulted only where the Customer's knowledge base yields nothing. Answers that do not come from the Customer's knowledge base can be wrong or not apply to the Customer's business; the Customer chooses the scope.
- Customer data and actions. Where configured, answers about a Visitor's orders or the result of an action.
8.2 Protection against misuse of the Assistant
The Assistant is a customer-service assistant, not a free general-purpose AI. By default it does not carry out work orders such as writing code, composing texts, translating pasted text blocks, solving homework or rewriting pasted text; the Customer can allow this per project. The protection works in four layers:
- a check of the Visitor's message before the model is asked, based on grammatical form and structural evidence (for example pasted code), in German, English and Polish, with fixed rules and without a model; if it applies, the model is not asked;
- a verdict line the model must add to each free answer, which the server evaluates;
- a check of the answer for code, independent of the verdict;
- a cap per conversation on answers from general knowledge (default 3); after that, the Visitor is offered the contact form or a handover.
These layers recognise work orders by form. There is no separate detection of instructions hidden in the content of the knowledge base or of web pages ("prompt injection"); content of the knowledge base is not filtered. The safeguards in sections 8.3 and 8.4 limit what such an instruction could achieve, but the Customer is responsible for what it puts into its knowledge base.
8.3 Check before delivery
Before an answer based on the knowledge base is delivered, the Service checks whether statements that models tend to get wrong are covered by the passages used and by the page the Visitor is on: numbers, weekdays, words such as "weekend" or "working days", and words such as "free of charge". The check uses fixed rules, not a second model. If a statement is not covered, the model's wording is not delivered; instead the Visitor receives a passage quoted verbatim from the knowledge base or a fixed sentence. The result of the check is recorded in the AI log.
8.4 Bot actions only with confirmation
The Assistant does not act in other systems on its own initiative. It can use only the actions the Customer has configured, and for these the model only proposes which action fits the message and which values from the conversation belong to it. The server decides: it checks the values against the action's schema, accepts only values that actually appear in the conversation, takes the identity of the Visitor only from the confirmed identity of the session and never from the model, and executes an action that changes something (for example a booking) only after the Visitor has clicked "yes" on a confirmation of exactly that action; the confirmation is valid for 10 minutes and books only once. An appointment is booked only for an e-mail address that the Customer's website has confirmed with its signature; an address typed into the chat is not used for it. Read-only actions (for example order status, free slots) run without a separate confirmation when the message calls for them. The model then formulates the answer from the result, and that answer is checked against the result. The Service makes the outgoing requests – for custom actions only over HTTPS to public addresses, with a time limit of 5 seconds and at most 64 kB of response; the model never sees the access data of the Customer's systems.
8.5 Known limitations and failure modes
Customers and their agents should know the following limits:
- Invented or outdated statements. A language model produces the most plausible text. It can state facts that are not in the sources, mix up details, or repeat outdated content of the knowledge base. The check in 8.3 covers selected types of statements, not every statement.
- Missing answers. If the knowledge base contains nothing suitable, the Assistant says so, offers a handover or the contact form, or, depending on the answer scope, answers from general knowledge.
- Language. The Assistant answers in the language of the Visitor. Quality is highest in German, English and Polish; in other languages it can be lower.
- Limits of the context. Very long conversations are summarised; details from early in the conversation can be lost.
- Images and files. Only one image per message and the first 2,500 characters of a file are taken into account.
- Load and budget limits. Each plan has limits on the number of AI jobs per minute per conversation and per website. Above the limit, the Visitor receives a fixed sentence instead of a model answer. If no AI node is available, no model answer is given and the conversation remains open for human agents.
- No legal, medical or financial advice. The Assistant is not designed for it. The Customer must not present its answers as such.
9. Human oversight and handover
The AI Act imposes formal human-oversight requirements (Article 14) only on high-risk systems. The Service nevertheless gives humans control over every conversation:
- the Visitor can ask for a human at any time; the notice before the first message says so;
- if the Assistant cannot give an answer that is covered by sources and no other path applies, it hands over to a human or offers the contact form;
- an agent can take over any conversation at any time; from that moment the Assistant no longer answers in that conversation;
- an agent can correct an Assistant answer in the same conversation, transfer the conversation, close it or block an abusive Visitor;
- the owner or an admin can switch the Assistant off per project; Visitors are then served by human agents only, or receive the contact form;
- the Assistant does not take decisions about Visitors; prices, approvals, refunds and similar decisions remain with the Customer's staff, unless the Customer has configured a specific action whose execution the Visitor confirms.
10. Logging and traceability
- Conversations. Assistant messages are stored as part of the conversation and can be read, searched and exported in the dashboard. Conversations have no automatic deletion period by default; the Customer as controller sets a retention period per project (0 to 3,650 days, 0 meaning no limit) and can delete them. Details: Access and deletion.
- AI log. For every Assistant answer, an entry in the AI log records: the type of answer, the result of the check, any terms objected to, the model and node, times, the sources used, and whether the AI label was attached. The log contains no copy of the message text. It is deleted together with the conversation, message or project. Owners and admins can view it per project and export it as CSV or JSON.
- AI job queue. Each job to a model is held in a queue. The job contains the instruction and the prompt, including the Visitor's text, verbatim. Jobs linked to a conversation are deleted together with the conversation; when a conversation is anonymised, prompt, data and result are emptied. Jobs not linked to a conversation are deleted 30 days after completion. Jobs marked confidential (customer data, actions, test runs, routing classification, AI verdict of quality assurance, Copilot and translation) lose the instruction, the prompt and the data as soon as the result has been delivered, or after about ten minutes if it is never delivered; the result remains and is emptied when the conversation is anonymised.
- In memory. The chat server keeps model outputs in its working memory for at most 15 minutes for the check. The cache of the inference software on the AI node is held only in the memory of the graphics card.
- Translations are stored with the message and for 30 days in the conversation cache. Smart Answer writes no content to logs; generated answers are cached for 24 hours (section 4.2 item 7).
11. Data, training and evaluation
- No training. The Operator does not train or fine-tune any model with conversations, knowledge bases or other data of Customers or Visitors. The model weights are fixed to a revision and are not changed by use of the Service.
- Evaluation. Individual requests may be used internally to compare model versions before an update; they are not used for training and not shared.
- Separation. At answer time, the Assistant searches only the knowledge base of the project concerned and the Operator's own knowledge collections described in section 8.1. Nothing from one Customer's knowledge base is available to another Customer's Assistant.
- Masking. Card numbers, IBANs, e-mail addresses, telephone numbers written with a leading + or 0, German tax and identity-card numbers and secrets are masked in Visitor and agent messages on the server before storage. Before the Copilot and the routing classification, additional masking applies (section 4.2); before the AI verdict of quality assurance, the PII scrubber and the replacement of known names (section 6.3).
- Location. Prompts and answers are processed on the Operator's AI nodes in Poland and are not sent to any third-party AI provider, except where the Customer has connected its own AI node. Sub-processors are listed at Sub-processors; none of them receives conversation content for AI processing.
- Customer's privacy notice. The Customer as controller must inform its Visitors about the processing; the Privacy Policy and the Data Processing Agreement describe it.
12. AI literacy (Article 4)
Article 4 requires providers and deployers to take measures to ensure a sufficient level of AI literacy of their staff and other persons dealing with AI systems on their behalf.
On the Operator's side, the persons who develop and operate the AI functions know how the models work, where their limits are and what the AI Act requires; this page and the technical documentation of the Service are part of that.
On the Customer's side, the Customer is responsible for its Team Members. The Operator recommends that the owner or an admin walks every new agent through these points before giving access:
- Know what the Assistant is. It produces the most plausible answer from the knowledge base, the conversation and, depending on the settings, general knowledge. It can be confidently wrong.
- Check before relying. Before repeating or confirming an Assistant answer, check it against the knowledge base or the Customer's own sources. Prices, availability, deadlines and legal statements need particular care. The same applies to drafts, summaries and translations from the agent tools.
- Take over when needed. When the Visitor asks for a human; when the topic is sensitive (complaints, health, money, legal matters, minors); when the Visitor seems distressed; when the Assistant repeats or contradicts itself.
- Correct the source. If an answer is wrong because the knowledge base is wrong or outdated, correct the document or the crawl source. If the knowledge base is right and the answer is still wrong, report it (section 14).
- Do not feed secrets. Do not put personal data, passwords or confidential documents into the knowledge base unless they are meant to be shown to Visitors.
- No evaluation of colleagues by AI. AI ratings exist only for conversations without a human; do not use AI output of any kind to judge individual colleagues (section 6.3).
- No applications. The chat does not accept or assess job applications; point applicants to the Customer's application channel (section 6.5).
13. Switches and emergency stop
- Customer: per project, the Assistant can be switched on or off; the answer scope, work orders, actions, customer data, routing with AI (off by default) and translation are separate project settings, AutoQA with AI verdict (off by default) and the per-agent view are workspace settings; where the project requires the Visitor's consent for AI processing, agent tools and AI ratings run only with that consent. The block on applications (section 6.5) has no switch.
- Operator: a global AI emergency stop, an emergency stop per project, and function switches per project that cap what Customer and plan allow (among them streaming, search, translation, Copilot, AI images, actions, simulation, AutoQA, routing). The Operator uses them to prevent harm, in case of faults and for misuse; the emergency stop takes effect within seconds.
14. Reporting errors and incidents
If the Assistant or an agent tool produces an answer that is harmful, discriminatory, unlawful or dangerously wrong, if it presents itself as a human, or if the AI label is missing, report it to contact@lukaswojcik.com. Please include the project (site key or website address), the approximate time, the conversation number if available, and what was wrong. Visitors can also send such reports; they are forwarded to the Customer concerned where the matter lies with the Customer's content or settings.
The Operator reviews each report, answers within 14 days as described under Complaints, and, where a report reveals a defect in the models, prompts or checks, corrects it for all Customers. Where a report concerns personal data, it is handled under the Operator's data-breach procedure; the Operator informs affected Customers without undue delay and at the latest within 48 hours after becoming aware of a breach. Illegal content in messages of people, as opposed to Assistant answers, can be reported under the notice-and-action procedure of the Acceptable Use and Anti-Abuse Policy.
15. Who is responsible for what
- Operator: selecting, configuring and operating the models and the software around them; the notice and label as delivered by the Service; the checks and guards; the operation of the AI nodes; correcting defects. The Operator does not warrant that Assistant answers are accurate, complete or fit for a particular purpose.
- Customer: the decision to use the Assistant and the agent tools; the content and lawfulness of the knowledge base; the answer scope and the actions it configures; keeping the notice and label; informing Visitors and Team Members; AI literacy of its Team Members; the use of AI ratings in line with section 6.3; not using the Service for the excluded purposes in section 6.5; its own AI node, where connected.
- Agents: their own messages, including drafts and translations they send.
The liability rules of the Terms of Service apply.
16. Changes and contact
The Operator updates this page when an AI feature is added, changed or removed, when the models change, or when the legal requirements change. Material changes are announced to Customers by e-mail or in the dashboard before they take effect. Questions about the use of AI: contact@lukaswojcik.com. Supervisory authority for data protection: President of the Personal Data Protection Office (Prezes UODO), ul. Stawki 2, 00-193 Warszawa, Poland.
This document is drawn up in English. Translations into German (/de/p/ai-act) and Polish (/pl/p/ai-act) are provided for convenience; the English version prevails.
Version 2.4 replaces version 2.3 of 16 October 2026. Changed: the AI is described uniformly as the Operator's own, self-hosted AI; model and software names removed, the facts are unchanged (4.1, 4.2, 5.4).
Version 2.3 replaces version 2.2 of 12 October 2026. Corrected: chat models of the Operator's own AI on the second tier and as reserve on the first tier, Free plans only on the first tier (1, 4.1, 5.4); Smart Answer counter with a shortened IP address (4.2); job applications: detection and second barrier also in Smart Answer (as before, previously described incorrectly), in the AI verdict of test runs and in the support assistant, file names written as text (6.5). Supplemented on 16 October 2026: job applications are also kept from the embedding of search questions, from test questions and suggested test questions and from knowledge gaps; file names written as text are recognised in the chat and in Smart Answer as well (6.5). Further supplemented on 16 October 2026: file names recognised regardless of spaces and other separators, spelling and accents, wherever the word stands in the name (6.5).
Version 2.2 replaces version 2.1 of 11 October 2026. Corrected: routing labels are stored as tags of the conversation (4.2); Smart Answer through the Answely service, counter with IP address and answer cache of 24 hours (4.2, 10); Copilot and translation jobs confidential, and what remains of confidential jobs (4.2, 10); Google Drive read-only (4.2); agent tools: no separate marking towards Visitors, check of drafts for numbers and links (7.4); scope of masking before storage (11); application block: which AI functions use the detection and the instruction (6.5).
Version 2.1 replaces version 2.0 of 11 October 2026. Changed: AI verdict of quality assurance only for conversations without human participation and never attributed to a Team Member, evaluation per agent rule-based only (6.3); new section 6.5 on the excluded use for applications and employment; classification as not high-risk tied to these limits (6.2); mood value in routing including the model's estimate, and why it is not emotion recognition (6.1, 4.2); bot actions with Cal.com and Stripe of the Customer, confirmation by click and signed e-mail address (4.2, 8.4); test runs, bot versions, knowledge-base files and Google Drive (4.2); functions without a model completed (4.3).
Version 2.4 – effective 17 October 2026.
Last updated: