Data Protection Impact Assessment (Article 35 GDPR) – Answely Answer Box

0. Summary of the result

  • An impact assessment is indicated: AI as a new technology and free text from visitors that may contain special categories (section 1).
  • The design keeps the risk for visitors to customers' websites low in the default mode: questions are not stored, no visitor identifier, no cookies, no content in logs, AI exclusively on the Provider's own hardware in Poland, short time limits verified in the code.
  • Since 09.10.2026, numerous features have been added (areas, answer tests, index release with copies, success and A/B, live API, MCP, diagnosis, WordPress, OCR, protected areas). All of them can be switched on per website and are off in the default setting; each is assessed in section 7.
  • Medium residual risks remain for question analysis including the knowledge gap report (R2), for content that customers submit themselves (R6), for the lack of encryption at rest (R19) and – after release – for protected knowledge areas (R14).
  • Newly assessed: deleted data survive in encrypted weekly copies for up to 364 days (R12); capacity under peak load has not been demonstrated (R8). Since 16.10.2026, support requests, sessions and invoices have a deletion run; R9 has therefore been lowered.
  • There is no high residual risk requiring prior consultation under Article 36 – subject to the conditions in section 10.1. Approval by Lukas Wójcik is pending.

1. Why this impact assessment is required

Article 35(1) GDPR requires an impact assessment where a type of processing, in particular using new technologies, is likely to result in a high risk to the rights and freedoms of natural persons. Answely uses a language model to answer free-text questions from visitors to third-party websites. Visitors do not know who operates the box and can write whatever they wish in the question – including information about their health, their financial situation or third parties.

None of the three standard cases in Article 35(3) applies: Answely does not evaluate persons as a basis for decisions (point (a)), does not process special categories in a targeted manner or on a large scale (point (b)) and does not monitor publicly accessible areas (point (c)). The correct route is Article 35(1) itself, applied by means of the nine criteria of the Guidelines on Data Protection Impact Assessment (WP 248 rev.01, endorsed by the EDPB). As a rule, the fulfilment of two criteria is regarded as an indication of a high risk.

CriterionAnswelyfulfilled?
Evaluation or scoringNo. Question analysis groups questions, not persons; success and A/B compare groups of answers.no
Automated decision-making with legal effectNo. The box answers questions and does not decide anything about the visitor.no
Systematic monitoringNo. No identifier, no cookies, no linking across pages or days.no
Sensitive data or data of a highly personal natureFree text may contain them (for example questions on the website of a medical practice or law firm); not collected in a targeted manner. In future, protected knowledge areas with confidential content.partly
Large scaleDepends on the number of customers and visitors; few questions per visitor, no history. No production operation yet.open
Matching or combining datasetsNo. Protected knowledge areas would use groups from the customer's identity system but would not store them.no
Vulnerable data subjectsVisitors to customers' websites may be children, patients or clients; not targeted.partly
Innovative use of new technologiesYes: language model, embeddings, AI labelling under Article 50 AI Act.yes
Preventing the exercise of rights or use of a serviceNo. The customer's search always remains usable; the box is an add-on.no

Result regarding Article 35(1): one criterion definitely fulfilled, two partly, one open. Answely carries out the impact assessment – because the criteria suggest it, because Answely's own concept requires it before going live and because customers need it for their own assessment.

Article 35(4) requires the supervisory authority to publish a list of the kinds of processing operations for which an impact assessment is mandatory. The competent authority is the Polish UODO. We have not recorded a comparison with the individual entries of this list; because Answely carries out the impact assessment in any case, the result of this document does not depend on whether an entry applies.

2. Roles: who bears the obligation, and for what

DataAnswely's roleControllerConsequence
Questions and answers in the box, counters, question analysis, ratings, success and A/B, index of customers' pages, push and WordPress, MCP access, protected areas, answer testsProcessor (Article 28)the customer who owns the websiteThe obligation under Article 35 formally lies with the customer. Answely owes assistance under Article 28(3)(f).
Account, billing, support, answely.com, quick check, own demo, logs, backup copiesControllerLW IT Solutions Company Lukas Wójcik, ŁódźAnswely assesses this processing in its own right; on its own, it would not trigger an impact assessment.
Sites from reactive.chat (tenant rc:)Processor under the reactive.chat contracts, same legal entitythe reactive.chat customerThe privacy policy and DPA of reactive.chat expressly name these answers ("Smart Answer") as a service of Answely (condition B6).

It follows that the processing chiefly at issue here is the processing for which Answely is not the controller. A processor cannot carry out the assessment in place of the customer and cannot consult the supervisory authority in its place. What it can and must do is supply everything the customer needs for this – the description, the facts and an honest list of the measures. That is precisely what this document is: Answely's own assessment of the service and, at the same time, the basis for the customer's assessment.

A customer who adopts this document unchanged as its own impact assessment has not carried one out. Only the customer can decide whether the answer box is appropriate on its website, whether it requires consent mode, whether it switches on "Allow answer cache", question analysis or success and A/B, which content it has indexed and whether its visitors are particularly vulnerable.

3. Data protection officer: the assessment under Article 37

No data protection officer has been designated. Answely is a sole proprietorship; its core activity is neither regular and systematic monitoring of individuals on a large scale (no identifier, no cookies, no profiles) nor processing of special categories on a large scale (Article 37(1)(b) and (c)). The detailed assessment is set out in the record of processing activities, section 9.

The question must be reassessed if protected knowledge areas with confidential content are released, if customers from the health or legal sector are taken on with question analysis, or if the number of visitors grows significantly. Article 35(2) requires the advice of a data protection officer only where one has been designated; its absence is therefore not a deficiency. In our assessment, there is no further obligation under Polish law (Article 37(4)): the Polish Personal Data Protection Act of 10.05.2018 only determines which public bodies fall under Article 37(1)(a). No external data protection advice was obtained. The approval is recorded in section 10.2.

4. Method, sources and limitations of this assessment

Every statement of fact is based on the source code (answer service in Node.js, account app in PHP), the database schema, the configuration templates, the project decisions and the documented acceptance tests up to 11.10.2026. Time limits that also appear in the privacy policy are checked automatically against the code by a test bench; the clean-up runs are verified by test benches with a clock set forward.

Limitations, stated openly:

  • Answely is not yet in production operation. There are no row counts, no number of customers and no number of visitors from the production system. The scale is therefore a forecast.
  • The configuration of the production system (environment files, secrets) was not read for this document; on 12.10.2026 the database schema, clean-up code, configured time limits and non-secret configuration of the development environment were reconciled. Where a commitment depends on live operation, this document describes the setting with which Answely goes into operation.
  • The quality of the answers has not been accepted from a subject-matter perspective: in the measurement of 09.10.2026, 43 of 50 German, 22 of 27 English and 22 of 27 Polish test questions met the source and keyword requirements; all 16 unknown questions were correctly declined. This is an indication, not an assessment of factual correctness.
  • Peak load has not been accepted (risk R8).
  • Legal assessments in this document are proposals by the author; they do not replace legal advice.

5. (a) Systematic description of the processing operations and purposes

5.1 How the answer box works

The customer embeds the script answely.js in its website's search and verifies that it owns the domain. Answely then retrieves exclusively the public pages of this website, splits them into sections, calculates vectors and creates an index. If a visitor asks a question, the script sends – in the default setting only if the input looks like a question – the question, the language and the page addresses without parameters to the answer service. The service searches for matching sections in the website's index. If the supporting evidence is strong enough, a language model generates a short answer that is based only on these sections and links to them; otherwise, without calling the model, a notice is returned that there is no supported answer. Every answer is labelled as AI-generated.

The AI is our own AI, self-hosted on our own hardware; it runs on the Provider's own servers in the internal network in Łódź. Answers are generated by two machines with a language model reduced by a third party at a pinned revision; if one is busy or fails, the other takes over. A further machine of our own does not formulate answers; it handles background work such as the embeddings during index runs and the nightly grouping. The embedding runs with an embedding model of our own, likewise self-hosted, on own machines; the reranker is currently switched off. The servers are also used by other products of the operator; the image component of the model software is switched on, but Answely sends text only. The answer service never calls these machines: it places jobs in an exchange in its working memory; workers on the own servers collect them by signed long polling over TLS, compute and return the result in parts so that the box can stream. If no worker is found within the collection period, the box disappears; the customer's search remains.

The customer determines what is stored: in the default setting ("Allow answer cache" off), the question and answer are not stored. With "Allow answer cache", the answer is held briefly in a cache; with question analysis additionally switched on, masked questions are retained for 90 days. Since 09.10.2026, the customer can switch on further features per website; all of them are off in the default setting.

5.2 Inventory of processing operations

No.OperationDataLocationTime limitRecipients
F1Question in the boxquestion (no more than 300 characters), language, page addresses without parameters and anchors, area, history of the current box; technically IP address and user agentworking memory of the answer service and of the workersno storage when "Allow answer cache" is offown servers; for rc: sites reactive.chat
F2Answer cache, only with "Allow answer cache"answer and sources under a hashRedis24 hours; no longer used after a new index version–
F3Counters without contenttime, truncated IP address, website, length, result, durationsa_zaehler7 days–
F4Throttlehash of IP address and daily saltRedis2 minutes, salt 2 days–
F5Logsweb server with truncated IP address, without parameters; service only labels, status, durationown server7 days–
F6Browser, only with "Allow answer cache"settings; answers only when connected via reactive.chatvisitor's sessionStorage5 and 10 minutes respectively–
F7Question analysis (opt-in, from Pro, only with "Allow answer cache")masked question, calendar day, language, result, sources, duration, ratingae_fragen and group tables90 days from the calendar daycustomer: only groups comprising at least 2 questions
F8Knowledge gap report (opt-in)masked group texts, figuresoutbox, email provider, customer's mailboxoutbox 30 dayscustomer
F9Index (retrieval, PDF, OCR)public pages, sections, vectorsae_dokumente, ae_abschnitteuntil deletion of the website, then within 24 hours–
F10Push and WordPress sync (from Pro, opt-in)content sent by the customerae_push_eingang, then as F9as F9–
F11Candidate and previous indexup to two further copies of F9as F9candidate until the next run; previous state until the next release or deletion of the website–
F12Answer tests and release reportstest questions in the configuration; reports without textsconfiguration; Redisreports no more than 30 days–
F13Success and A/B (opt-in)signed token with random answer identifier and group; reports "solved", "not solved", goalworking memory of the page; Redistoken 24 hours; Redis 30 dayscustomer: only group totals
F14Live API (opt-in)retrieval of a public JSON endpoint without visitor dataworking memoryno storageoperator of the endpoint sees the server request
F15MCP search access (opt-in, public)search term, area; response no more than five excerptsworking memoryno storage apart from web server logrequesting AI client
F16Protected knowledge areas (prepared)access token with user identifier and groups; confidential documents in the indexworking memory; index as F9token not stored; documents as F9–
F17Diagnosis, answer comparison, agency templates, copilotcustomer's questions, sections, answers, draftsworking memory; account app sessiondiagnosis 15 minutes after completion; preview 25 minutescustomer
F18reactivechat enginequestion, visitor address with proxy key, visitor identifier of the chat widget; with "Allow answer cache" off, signed history (question, answer, sources) in the browserreactive.chat; browser working memoryaccording to its rules; history valid for 24 hours, stored in the chat as the beginning of the conversation only with a follow-up question; not after the visitor has deleted their data at reactive.chat or if the history can no longer be used; with "Allow answer cache" on, no signed history, the follow-up question continues the conversation already kept by reactive.chatreactive.chat
F19Quick check "Check your website" (own responsibility)address, sample question, HMAC identifier derived from IP; result with owner identifier from the sessionworking memory; Redis; account app sessionrate limit no more than 2 minutes; result no more than 2 minutes after completion–
F20Account and billing (own responsibility)account, invoices, Stripe customer numberaccount app, StripeROPA Part BStripe – never visitor data
F21Monitoringstatus of components, response times; no contentaccount app400 daysUrgent Logs in the administration area and Telegram, without content
F22Off-site copiesall databases and files of the server, encryptedGoogle Cloud Storage, Warsawdaily copies 7 days, weekly copies 364 daysGoogle Ireland Ltd. (encrypted blocks only)
F23Dumps on the serverevery Answely database, unencryptedown serverdatabase backups: 30 days–
F24Full copy before the off-site transferall databases of the server and a file copy of /var/www including configuration files, unencryptedUSB drive at the server in Łódźno more than 8 days–

5.3 Legal basis

For processing on its behalf, the customer determines the legal basis. Typical bases are:

  • Answering the question (F1): Article 6(1)(f) GDPR – the visitor asks the question themselves and expects an answer; for customer portals, point (b) where applicable.
  • Access to terminal equipment (F6): the box stores something in sessionStorage only when "Allow answer cache" is switched on (box settings, and answers only for websites connected via reactive.chat; briefly); with "Allow answer cache" off, the default, nothing. Anyone who wants consent before every request sets data-consent="required"; the browser then does not send a single request before consent is given. If consent mode is switched on only in the account and the embed code lacks the attribute, the box retrieves its settings beforehand.
  • Question analysis, knowledge gap report, success and A/B (F7, F8, F13): the customer's legitimate interest in improving its content; success and A/B are subject to the same consent rules as the box. Whether a customer needs consent for this in its country is for the customer to decide. On Article 5(3) of the ePrivacy Directive: success and A/B store nothing on the terminal equipment and read nothing from it; the signed token is held only in the working memory of the page, and the browser reports only what the box itself has generated (random identifier of the answer, comparison group, the visitor's choice).
  • Special categories: Answely does not offer a legal basis under Article 9(2) and is not intended for them. Customers may not submit special categories via push, WordPress or protected areas.
  • Own processing operations: Article 6(1)(b), (c) and (f) GDPR, set out in detail in the record of processing activities, Part B.

5.4 Recipients and third-country transfers

  • No hosting provider, no AI provider: operation on own hardware in Łódź.
  • Google Ireland Ltd.: off-site copy, encrypted before transfer, bucket in Warsaw; Google is a sub-processor but sees no readable content.
  • Stripe Payments Europe, Ltd.: only customers' billing data; transfer to Stripe, Inc. (USA) on the basis of the Data Privacy Framework, alternatively standard contractual clauses. Never visitor data.
  • Namecheap, Inc. (USA), Namecheap Private Email: sending of all emails to customers and receipt of incoming emails to @answely.com; transfer to the USA on the basis of Namecheap's Data Processing Addendum incorporating the EU standard contractual clauses (Article 46(2)(c) GDPR), accepted on 01.08.2026. A sub-processor, because the knowledge gap report from Part A with masked group texts and emails relating to a Site are sent via it. Namecheap is also the registrar and DNS provider of answely.com, for which it holds domain data only.
  • European Commission (VIES): independent controller, only VAT ID numbers of businesses.
  • reactive.chat: same legal entity, only for rc: sites.
  • Prepared, not active: EU fallback provider for the language model (Scaleway, Paris). Start lock: the service starts only with endpoints on the EU allowlist.

Questions and answers from the answer box and other data of visitors to customers' websites do not leave the EU – with one exception: if the customer switches on the knowledge gap report, masked group texts are sent by email via Namecheap to the USA (R2, R4). The AI processing takes place exclusively on servers in the EU.

5.5 Retention, measured rather than intended

The time limits were checked in the code, not taken from concepts. Result:

Dataintendedactually in the codedeviation
Counters without content7 dayshourly run, 7 daysnone
Answer cache24 hoursexpiry in Redis after 24 hoursnone
Misuse protection2 minutesexpiry in Redis after 2 minutesnone
Monthly figures400 dayshourly run, 400 days after last changenone
Question analysis90 dayshourly run, 90 days from the calendar daynone
Counters of a deleted websitewith the 7-day limitnot deleted with the website, expire in the hourly run after 7 daysnone
Index after deletion of the websitewithin 24 hoursimmediately or via queue with error after twelve hoursnone
Previous indexnot specifieduntil the next release or deletion of the websiteno upper time limit
Answer tests, release reports, success30 daysexpiry in Redis after 30 daysnone
Diagnosis15 minutesworking memory, deletion upon expirynone
Support requests1095 days from the last replydaily run, including AI draftsnone
Customer sessions30 days after they end or were last useddaily runnone
Invoices5 years from the end of the calendar year of creationdaily run, even if the account still existsnone
Off-site copiesdaily copies 7, weekly copies 364according to the backup run of 11.10.2026deleted data survive for almost a year
Unencrypted full copy on the USB drive at the servernot definedno more than 8 days according to the backup scriptunencrypted (R19)

6. (b) Assessment of necessity and proportionality

  • Purpose: answering visitors' questions from the public content of the customer's website; operation and misuse protection; at the customer's request, analysis of which questions remain unanswered and whether answers help. No advertising, no tracking, no disclosure, no training.
  • Suitability: a supported answer with sources helps the visitor more quickly than a list of hits; without supporting evidence, the box does not answer.
  • Necessity of the data: only the question, language and page addresses without parameters and anchors are sent. The question is limited to 300 characters. A visitor identifier is not needed and is not generated; the IP address is used only in hashed form (throttle) or truncated form (counters, logs).
  • Less intrusive means: the box is an add-on to the customer's search and does not replace it; anyone who does not use it discloses nothing. For customers who want consent before every request, there is consent mode. For customers who do not want anything stored, "Allow answer cache" off is the default.
  • Storage limitation: every time limit of the answer box is specified in the code and verified by a test bench (section 5.5); under Answely's own responsibility, support requests, sessions and invoices have also had a deletion run since 16.10.2026; the remaining gap lies in the backup copies (R12).
  • Accuracy: answers only with supporting evidence from the index, sources visible, source preview on request, AI notice under Article 50 of the AI Act that cannot be switched off; validity and priority of sources configurable.
  • Transparency: template texts for customers' privacy policies, developer documentation, this document and the record of processing activities are published.
  • Data subject rights: without an identifier, questions cannot be attributed to any person (Article 11). Customers delete question analysis using a button and delete websites and accounts themselves; the index is removed from the live system within 24 hours. Answely forwards requests from visitors to the customer; contact: support@answely.com.
  • Processing on behalf and third countries: operation and AI on own hardware in Poland; off-site copy only in encrypted form in Warsaw; Stripe (USA) only for customer payments; Namecheap Private Email (USA, standard contractual clauses) for emails, of which only the knowledge gap report originates from the answer box.
  • What the customer must weigh up itself: whether its visitors are particularly vulnerable, whether it switches on question analysis, success and A/B, MCP or push, and which content it has indexed.

7. (c) Assessment of the risks to the rights and freedoms of data subjects

Likelihood and severity are assessed, each as low, medium or high, before and after the measures. The measures and their status are set out in section 8.

R1 – Visitor writes health or other sensitive information in the question

The free text of a question may contain anything: a diagnosis on the website of a medical practice, debts on the website of a bank, the name of a third party. In the default mode ("Allow answer cache" off), the question is held only in the working memory of the service and the workers during processing and does not appear in any log; a measurement using marker words across databases, Redis, journals and logs has verified this. With "Allow answer cache", the answer is held in the cache under a hash of the question; the question itself is not contained in it in plain text, but the answer may reflect its content. With question analysis, the masked question is stored (R2).

LikelihoodSeverityRisk
beforemediumhighhigh
after, default modemediumlowlow
after, with question analysismediummediumsee R2

R2 – Masking does not catch everything; masked questions leave the system by email

Question analysis masks email addresses (including obfuscated ones), telephone numbers, IBAN-like sequences of digits, links and long numbers. It does not catch names, addresses written out in words or descriptions ("my son has had … for three weeks"). The customer sees only groups comprising at least 2 questions, but the text of a group is a genuine, masked question. With the knowledge gap report, up to ten such texts are sent to the customer by email each month, via the email provider Namecheap Private Email in the USA (transfer on the basis of the EU standard contractual clauses), with a copy in the outbox (30 days), and are then held indefinitely in the customer's mailbox. In addition, a group with two questions may consist of two questions from the same person.

LikelihoodSeverityRisk
beforehighmediumhigh
aftermediummediummedium

R3 – Identifiability of individual visitors, profiling

Answely does not set any cookies and does not assign any visitor identifier. The throttle works with a hash of the IP address and a random value that changes daily; counters and logs contain only truncated addresses. Success and A/B use a signed token with a random identifier per answer, which the browser holds only in working memory; within an open box the comparison group stays the same, but not across page changes. For rc: sites, the identifier of the reactive.chat widget is transmitted (R10).

LikelihoodSeverityRisk
beforemediummediummedium
afterlowlowlow

R4 – Transfer to third parties or third countries; AI provider reads along or trains

The language model and embedding run on own hardware in Poland; no AI provider or other third party sees questions or answers during answering. The only third-country transfer from the answer box is the knowledge gap report (opt-in) via Namecheap in the USA, on the basis of the standard contractual clauses; it contains masked group texts, no answers and no IP addresses (R2). The service starts only with endpoints on the EU allowlist. An EU fallback provider has been prepared but is not active. Its current terms permit the storage of complete requests for up to two weeks for error and abuse analysis; this would be incompatible with the commitment "no storage beyond the processing". If it were activated without clarification, this risk would rise significantly.

LikelihoodSeverityRisk
beforemediumhighhigh
after, current operationlowhighlow
after, fallback provider active without condition B2mediumhighmedium to high

R5 – AI answer contains incorrect statements about persons or passes on personal data from pages

The model may summarise a source incorrectly, for example by shortening a responsibility or a condition; this was observed in the quality measurement of 09.10.2026. Answers are based only on the customer's public pages; anyone named there may appear in an answer. Deep search and source preview do not change this, but they make the source visible.

LikelihoodSeverityRisk
beforemediummediummedium
afterlow to mediummediumlow to medium

R6 – Customer submits non-public content via push or WordPress, and the box discloses it to anyone

The push interface and the WordPress plugin bring content into the index without Answely retrieving it publicly. The plugin transmits only published, public content; the push interface only checks that the address is on a verified host. Whatever the customer sends there, the box answers to every visitor.

LikelihoodSeverityRisk
beforemediumhighhigh
afterlow to mediumhighmedium

R7 – Unauthorised access to configuration, index, question analysis or the job exchange

The service's admin interface is accessible only on the local loopback with a token. The database server and Redis additionally listen on the server's address in the internal network because other services of the same operator use them; there, the firewall lets only one of the AI machines through to the database, and Answely's database users are permitted only locally. From outside, the server's SSH access permits login with a key only, and with a password only from private networks (since 16.10.2026); the database administration user is permitted only locally; push tokens exist only as hashes; CORS per website; separation per website in the index. The job exchange for the AI workers is accessible via the internet but can be used only with an HMAC signature; a worker that knows the secret would see questions and sections. The account app requires two-factor login for administrators; read access by administrators is not logged.

LikelihoodSeverityRisk
beforelowhighmedium
afterlowhighlow

R8 – Outage, overload and capacity limit

Two own servers generate the answers; if one is busy or fails, the other takes over; if both fail, there are no answers. A reserve with a different language model no longer exists since 18.10.2026; a third machine of our own only handles background work (embeddings during index runs, nightly grouping). The machines are shared with other products of the operator. The number of simultaneous answers is limited (default six in total, three per website); above that, the service responds with HTTP 429, and instead of an answer the box shows a notice to wait briefly. In the load test of 09.10.2026 with 480 requests per minute over 300 seconds, 86.3% of requests were rejected; no more than 1% would have been acceptable. For visitors, this does not mean loss of data – the customer's search remains – but it does mean an unavailable feature. For the integrity of the data, it is also relevant that the account app, the service and the databases run on a single server. The monitoring runs on this server and cannot itself report its total failure; a heartbeat to an external service is not set up, the website and indexer components are switched on only in production, and a pending deletion only creates an entry in the error log after 12 hours, not an active alert.

LikelihoodSeverityRisk
beforehighlowmedium
aftermediumlowlow to medium

R9 – Time limits are not observed; data without a time limit

The answer box's time limits are verified. Under Answely's own responsibility, three significant data sets had no deletion run: support requests with the full IP address, customer sessions with the full IP address and invoices. Since 16.10.2026, the daily clean-up run deletes support requests 1095 days after the last reply together with any AI drafts, ended sessions or sessions no longer in use 30 days after they end or were last used, and invoices 5 years after the end of the calendar year in which they were created; a test bench verifies each of these time limits. Minor data sets without a time limit are listed in the record (section 6.5). Configurable time limits can be set to zero, which then switches deletion off.

LikelihoodSeverityRisk
beforehighmediumhigh
afterlowlow to mediumlow to medium (L1 to L3 closed on 16.10.2026)

R10 – Sites from reactive.chat: data are sent to reactive.chat, where other rules apply

For rc: sites, the reactivechat engine answers the question from the reactive.chat knowledge base; the question, the visitor address (only with a proxy key) and the identifier of the chat widget for handover to a human are transmitted. The engine is permitted only for these sites. Ephemeral mode takes effect all the way to the chat server as long as the visitor does not send a follow-up question in the chat. If they do, reactive.chat takes over the question, answer and up to three sources once into the stored chat history as the beginning of the conversation from a signed history that is valid for 24 hours, bound to the website and the visitor identifier and held until then only in the browser's working memory; the box points this out beforehand. If the visitor has deleted their data at reactive.chat or the history can no longer be used, the follow-up question starts a new conversation without this history. If "Allow answer cache" is on, there is no signed history: reactive.chat already keeps the search question and answer as a conversation under its rules, and the follow-up question continues it.

LikelihoodSeverityRisk
beforelowmediumlow to medium
afterlowmediumlow, provided that B6 is fulfilled

R11 – Access to terminal equipment without consent where the customer requires it

Without consent mode, the box loads its settings, sends questions and, with "Allow answer cache" switched on, briefly keeps its settings and – only when connected via reactive.chat – answers in sessionStorage. With data-consent="required", the browser does not send a single request before consent is given. If consent mode is switched on only in the account and the embed code lacks the attribute, the box retrieves its settings before consent, stores them in sessionStorage with "Allow answer cache" on, and sends no question until consent is given; the consented.eu banner and TCF banners are recognised, and withdrawal of consent also stops success and A/B reports.

LikelihoodSeverityRisk
beforemediumlowlow
afterlowlowlow

R12 – Deleted data survive in backup copies

Every night, an encrypted copy of all databases and files is sent to a non-public bucket in Warsaw; daily copies are kept for 7 days, weekly copies for 364 days. If a customer deletes its website, its question analysis or its account, everything is gone from the live system immediately or within 24 hours respectively, but remains in the weekly copies for almost a year. The copies are encrypted, Google does not have the key, and they are not read. In addition, unencrypted dumps are held on the server (30 days). Two consequential risks: if the keys are lost, the off-site copy is worthless (availability); if an old copy is restored, deleted data return until they are deleted again. For websites, the account app reconciles orphaned sites in the service daily; for accounts and question analysis, no documented procedure exists.

In addition, the unencrypted full copy (dumps of all databases on the server and a file copy of /var/www including configuration files) before transfer is held on a USB drive at the server, for no more than 8 days (see R19).

LikelihoodSeverityRisk
beforehighmediumhigh
aftercertain (by design)lowlow to medium

R13 – Index copies: removed content remains in the previous index

With index release, Answely holds up to two further copies of the website. Removed pages, noindex and push deletions are propagated to both copies. However, the previous state has no time limit of its own: it remains until the next successful release, and a rollback makes it public again – with all content that has since been changed but not deleted. A corrected, incorrect statement about a person may return in this way.

LikelihoodSeverityRisk
beforemediummediummedium
afterlowmediumlow

R14 – Protected knowledge areas and confidential content

It has been prepared for the box to also answer from non-public documents for the customer's logged-in user groups. The verification of the access token is strict (RS256, fixed keys, issuer, audience), the contents of the token are not stored and are not passed to the model, there are no protected caches, and protected content cannot be made public again. Risks remain: an incorrect group rule set by the customer releases documents; confidential documents are held in the index and in all copies without additional encryption; errors in the host application (logged-out users still see answers) lie outside Answely. No identity provider is connected at present.

LikelihoodSeverityRisk
beforemediumhighhigh
after, today (not active)––no risk
after, following releaselow to mediumhighmedium; reassess before release

R15 – Public MCP access: extraction of the index by third parties

MCP access is public. Any AI client can retrieve excerpts, no more than five per request, limited by misuse protection. It returns only what the box would in any case answer from public pages and is switched off as soon as protected areas are active. The excerpts end up with the AI client and its provider.

LikelihoodSeverityRisk
beforemediumlowlow
aftermediumlowlow

R16 – Live API: retrieval from third parties and incorrect values

Answely retrieves a fixed, configured public endpoint, without the question, without the visitor address and without access credentials. The operator of the endpoint sees only the request from the Answely server. An incorrect value appears together with its source and retrieval time; errors appear as "not available".

LikelihoodSeverityRisk
beforelowlowlow
afterlowlowlow

R17 – Diagnosis, answer comparison and templates with content in working memory

These tools process the customer's questions, sections and real answers in the service's working memory, for no more than 15 minutes after completion, without storage. A crash with a memory dump or a bug that logs content would make them visible.

LikelihoodSeverityRisk
beforelowmediumlow
afterlowmediumlow

R18 – Quick check: retrieval of third-party websites, identifier derived from the IP address

Anyone can have an address checked without an account; Answely retrieves no more than three public pages, respects robots.txt and noindex and does not store anything permanently. For rate limiting, the account app derives an HMAC identifier from the IP address using the application secret. If it is missing or shorter than 16 characters, the account app refuses the quick check; the former fixed fallback key no longer exists (16.10.2026). The service keeps the result in working memory for no more than 2 minutes after completion; only the browser session that started the check can retrieve it.

LikelihoodSeverityRisk
beforelowlowlow
afterlowlowlow

R19 – No encryption at rest, own premises instead of a data centre

Databases, Redis, logos and dumps are stored unencrypted on the storage medium of the Provider's own server; the hardware is located on the Provider's own locked premises under video surveillance in Łódź, to which only the owner has access. Theft or loss of the storage medium would expose the index, question analysis, accounts and support requests.

The same applies to the nightly full copy on the USB drive at the server (no more than 8 days): in addition to all databases, it contains a file copy of /var/www including configuration files, and thus also the applications' access credentials, and its directories have permissions 0755, i.e. they are readable by every user of the server.

LikelihoodSeverityRisk
beforelowhighmedium
afterlowhighmedium, until encryption has been examined

R20 – OCR recognises personal content in scanned PDFs

With OCR, scanned PDFs on the customer's public pages become readable and therefore answerable – including forms, signatures or lists of names that the customer has published unintentionally. Recognition runs locally, without any third-party interface, in a private temporary folder. OCR can be switched off per website.

LikelihoodSeverityRisk
beforelow to mediummediummedium
afterlowmediumlow

R21 – Support requests with the full IP address and AI assistance

Support requests contain the email address, message, full IP address and browser; since 16.10.2026 they have been deleted 1095 days after the last reply, together with any AI drafts. The code contains a support AI that, at the push of a button by a human, translates or writes a draft – on the Provider's own servers, with addresses and long sequences of digits redacted, and with nothing sent without human review. It is not switched on in the development environment (no worker key set, 12.10.2026).

LikelihoodSeverityRisk
beforemediummediummedium
aftermediumlowlow (L1 closed on 16.10.2026)

8. (d) Measures envisaged to address the risks

The measures are sorted by their actual status, not by their importance. A measure is listed under 8.1 only if it exists in the code and is verified by a test bench or a documented measurement.

8.1 Implemented today – verified

MeasureaddressesEvidence
"Allow answer cache" off as the default for new websites; question and answer then not stored anywhereR1marker word measurement across databases, Redis, journals and logs; the legal texts test bench checks the default in the code
No content in logs of the service, indexer, workers and web serverR1, R2test benches of the answer service; worker tests with content-free logs
Script without cookies, without visitor identifier, without requests to third partiesR3, R11script test bench; legal texts test bench
Truncated IP addresses (IPv4 without the last octet, IPv6 to /48) in counters, web server log and page statistics; legacy page statistics data truncated onceR3IP truncation test bench; migration of 07.10.2026
Throttle only with a hash of IP address and daily saltR3throttle test bench
Question limited to 300 characters; parameters and anchors of page addresses removed in the browser and on the serverR1, R3test benches
AI on own hardware; start lock for endpoints outside the EU allowlist; fallback provider not activeR4EU endpoints test bench; legal texts test bench
Worker principle: the own servers accept no connections, collection and return signed with HMAC over TLS; unregistered workers and incorrect job types rejectedR4, R7server decoupling test of 11.10.2026
No training and no fine-tuning with customer dataR4no route in the code
Supporting evidence required, sources visible, fixed text without supporting evidence, AI labelling cannot be switched offR5test benches of the engine and of the AI notice
Retrieval only of public pages of verified hosts, robots.txt, noindex, exclusion paths, data-answely-ignore, no internal networksR5, R20indexer test benches
Push only from Pro, token only as a hash, only verified hosts, throttle; WordPress only published public content, token only in wp-config.phpR6push and WordPress test benches
Admin interface only locally with token; CORS per website; separation per website; two-factor authentication for administratorsR7interface test benches
Limit on simultaneous answers, HTTP 429 instead of a queue; circuit breaker: in the event of an outage, the box disappears and the search remainsR8outage test bench; load test verifies the behaviour under overload
Clean-up runs with time limits, since 16.10.2026 also for support requests, sessions and invoices; deletion queue with error after twelve hours (only an entry in the error log, no active alert); reconciliation of orphaned websitesR9, R12, R21deletion test benches with a clock set forward
reactivechat engine only for rc: sites; visitor address only with proxy keyR10interface test bench
Consent mode: with data-consent="required" not a single request before consent; consented.eu and TCF recognised; withdrawal stops reportsR11consent test bench
Off-site copy encrypted before transfer, bucket in Warsaw, not publicR12, R19backup run of 11.10.2026
Verified dumps with weekly restore testR8, R12backup test bench
Deletions are propagated to the candidate and previous index; deletion of the website covers all three statesR13index release test benches
Protected areas: strict local token verification, contents of the token not stored and not passed to the model, no protected caches, no way back to public, MCP blockedR14, R15optimisation test benches
MCP: default off, read-only, no more than five excerpts, no AI, throttleR15MCP test bench
Live API: only public HTTPS endpoints on verified hosts, without visitor data, time and size limitsR16test benches of the Ultra features
Diagnosis and comparison only in working memory, limited, with expiryR17optimisation test benches
Quick check without permanent storage, no more than three pages, rate limit per senderR18quick check test bench
OCR locally, temporary private folder, limits on time, pages and resources, can be switched off per websiteR20OCR test with a dedicated scan file
Support AI only at the push of a button, own servers, redaction, nothing sent without a humanR21code review

8.2 Partial – in place, but not yet achieving its purpose

MeasureGapaddresses
Masking in question analysiscatches patterns, not names and descriptions written out in wordsR2
Groups comprising at least 2 questionstwo questions may originate from the same personR2
Notices to customers regarding push and protected contentcontained in documentation and drafts; the clauses in the Terms of Use and DPA have not yet been approvedR6
Configurable time limits of the account appa value below one switches deletion offR9
Restore and deletionreconciliation only for websites, not for accounts and question analysisR12
Capacityoverload protection works but does not replace capacity; load test not passedR8
Monitoringno external heartbeat; pending deletion without active alertR8, R9
Network access to server, database and RedisSSH with password from private networks; database and Redis listen in the internal network, limited only by the firewallR7

8.3 Planned – not implemented

  • Upper time limit for the previous index, for example deletion after 30 days without rollback (R13).
  • Optional knowledge gap report without group texts, only with figures and a link to the account (R2).
  • Examination of storage-medium encryption on the Provider's own server (R19).
  • Additional EU capacity and a repeat load test under the same criteria (R8).
  • Log of administrators' read access to customer data (R7).
  • Lower limit for configurable time limits in the administration area (R9).
  • Encrypt the full copy on the USB drive or at least restrict its permissions to the operator (R19).
  • Bind the database and Redis locally only, as far as other services allow (R7).
  • Heartbeat to an external service, active alert on pending deletion (R8, R9).

8.4 Procedures and arrangements still to be defined

  • Procedure for deletions after a restore from a backup copy (R12).
  • Safekeeping of the keys of the off-site copy outside the server and a decryption test (R12).
  • Release procedure for protected knowledge areas: review of the AI processing terms for confidential sources, acceptance with a real identity provider, login, logout and key rotation tests, reassessment of R14 (B9).
  • Release procedure for an EU fallback provider (B2).
  • Contact address and procedure for requests from visitors that Answely forwards to customers.

9. Residual risk and prior consultation under Article 36

After the measures, the risk for visitors to customers' websites in the default mode is low: questions are not stored, there is no identifier, no content in logs and no third party that sees questions. Medium residual risks remain for question analysis with the knowledge gap report (R2), for content that customers submit themselves (R6), for the lack of encryption at rest (R19) and – after release – for protected knowledge areas (R14). The backup copies (R12) extend every deletion by design, without the data being used during that time.

According to this assessment, there is no high residual risk that would require prior consultation of the supervisory authority under Article 36 – subject to the conditions in section 10.1. Such a risk would arise if an AI provider storing requests were activated without condition B2, or if protected knowledge areas went into operation without the release under 8.4. For processing on behalf of a customer, the obligation to consult would lie with the respective customer; Answely would assist it in doing so.

10. Review, version and approval

10.1 Conditions before going live

No.ConditionStatus as of 11.10.2026
B1Provider for operation and emailAnswered: own hardware in Łódź, no hosting provider. Email provider Namecheap Private Email (Namecheap, Inc., USA), Data Processing Addendum with standard contractual clauses (decision of 11.10.2026), accepted on 01.08.2026.
B2EU fallback providerOpen. Prepared, not active. Before activation: EU processing, DPA with "no training" and "no storage beyond the processing" (Scaleway's current terms do not meet this), entry as a sub-processor, notification of customers 30 days in advance, inclusion in the allowlist, reassessment of R4.
B3Backup copiesAnswered: encrypted in Google Cloud Storage, Warsaw, not public; daily copies 7 days, weekly copies 364 days. New as a result: R12. Open: contractual status with Google, key safekeeping, procedure after restore, disclosure in the privacy policy.
B4Push and protected contentClause in the Terms of Use and DPA: only content that may be answered publicly, no special categories; non-public content only via protected areas after their release. The provisions are set out in clauses 10.2 and 13.4 of the Terms of Use and in section 5 of the DPA; they take effect upon approval of the legal texts.
B5Question analysisThe template text for customers (additional paragraph 2) is published upon approval of the legal texts. Data are deleted with "Delete questions", together with the website or after 90 days. The knowledge gap report contains group texts; a version with figures only is planned (8.3).
B6reactive.chatFulfilled: the privacy policy (section "Smart Answer"), DPA, list of sub-processors and terms of use of reactive.chat expressly name these answers as a service of Answely (versions valid from 16.10.2026 and 17.10.2026 respectively).
B7Live demo on /docsDemo website with "Allow answer cache" off and without question analysis; the answely.com privacy policy mentions the demo (section 3.5).
B8FormalitiesArticle 37 assessed (section 3 and record of processing activities, section 9); on the UODO list under Article 35(4), see section 1. Contact address specified: support@answely.com (11.10.2026, changed 18.10.2026).
B9Protected knowledge areasNew: before release, procedure under 8.4 and reassessment of R14.
B10Data without a time limitCompleted 16.10.2026: clean-up run for support requests, sessions and invoices (R9).
B11Legal textsNew: align the privacy policy and TOM with backup copies, the worker principle and own hardware.

10.2 Version and review

Version1.0, 18.10.2026 – first approved version
Prepared bythe implementing AI on the basis of code and documentation, for review by the owner
Reviewed and approvedApproved by Lukas Wójcik, owner, on 18.10.2026.
Opinion of the data protection officernot applicable as long as none has been designated (section 3)
External adviceNo external data protection advice was obtained.
Next reviewbefore any change to the AI provider, fallback endpoint, storage location, engine, question analysis, push, protected areas or new extensions; otherwise annually
Retentiondated versions in the project's version control

Annex – Evidence (test benches)

The test benches are part of the project and run with every change. A green test bench verifies the tested behaviour, not the absence of every error.

CommitmentTest bench
No content in the service's logsantwort.js
Ephemeral mode leaves nothing in databases, Redis, journals and logsfluechtig-answely-echt.js (marker word measurement on the server)
Truncated IP addresses, throttle only with haship-kuerzung.js, drossel.js
Script without cookies, identifier and third-party requestsdatenschutz-skript.js
AI only on endpoints on the EU allowlisteu-endpunkte.js, answely-rechtstext.js
Job exchange and workers: signature, time limits, content-free logski-boerse.js, eu-worker.js
Question analysis: masking, groups comprising at least 2 questions, only with "Allow answer cache"frageanalyse.js
Consent modeeinwilligung.js
Deletion periods and deletion of the websiteloeschlauf.js, account app test_loeschung.php
AI labelling cannot be switched offki-hinweis.js
Admin interface securedapi.js, admin-fern.js
Push and WordPresspush.js, push-oeffentlich.js, account app test_wordpress.php, test_wordpress_sync.php
Index release, copies, rollback, propagation of deletionsultra-gate.js, ultra-wissen.js
Success and A/B: one-time tokens, withdrawal of consentultra-redis.js, ultra-client.js
Live API, source preview, rule advisorultra-api.js, ultra.js
Answer tests without texts in the reportantwort-tests.js
MCP accessmcp.js
Quick checkschnellcheck.js, account app test_schnellcheck.php
Protected areas, diagnosis, glossary, source rulesoptimierung.js, optimierung-api.js, client-zugang.js
OCR locally with clean-up and abortpdf-ocr-echt.js
Outage and overloadausfall.js, zulassung.js, zulassung-http.js, last-echt.js
Backup and restore testaccount app test_sicherung.php
Legal texts match the codeanswely-rechtstext.js, account app test_rechtstexte.php

Related documents: Record of Processing Activities, Privacy Policy, Data Processing Agreement, TOM, Sub-processors, AI Act.

Version 1.0 – as of 18.10.2026