At a Glance
Privacy Notice in the Widget
The privacy notice can be configured per shop and is switched off by default. That means the widget shows no consent banner on its own — you decide for yourself whether a notice should appear. This suits setups where consent is already covered by your website's consent/cookie banner.
You'll find the toggle in the dashboard under Integration. If you enable it, the widget requires consent before the first message; until then the AI won't respond.
Editable Privacy URL
The privacy URL is freely selectable and typically points to your own privacy policy. For security reasons, executable schemes such as javascript:, data:, or vbscript: are discarded on save — regular https:// links are allowed.
# Example of a valid privacy URL
https://your-shop.com/privacy
Data Processing (DPA)
Alpheris processes data on your behalf. You can find the data processing agreement (DPA) — in German Auftragsverarbeitungsvertrag (AVV) — at alpheris.com/avv. It forms the legal basis under Art. 28 GDPR for processing the data that runs through Alpheris.
Art. 28 agreements are also in place with the sub-processors we use. The current list of sub-processors is available on the Alpheris website.
Data Location
Storage and processing take place in Germany and the EU. By default, no processing occurs outside the EU. This keeps the data running through the widget and the inbox within the European legal framework.
Retention and deletion
A cleanup run deletes whatever has passed its retention period every night at 03:40. These are the periods — you need them for your own privacy policy:
| Data | Period | Reason |
|---|---|---|
| Widget chat histories | 365 days | operation and traceability |
| Emails in the inbox | 6 years | commercial correspondence, German HGB §257(4) / AO §147(3) |
| Contacts | 6 years | same statutory period |
| Login sessions | 90 days | they carry IP and device details |
| Log of blocked sales enquiries | 90 days | personal data |
For the statutory six-year periods the clock starts only at the end of the calendar year in which the record was created — that is what the law requires. So an account started in 2026 loses its first emails in 2033 at the earliest. You can always delete sooner yourself; these are upper limits, not a minimum.
Technical Safeguards
The widget and the AI runtime are protected by several layers of safeguards:
| Mechanism | What it does |
|---|---|
| Session tokens | Each chat session runs on its own token instead of freely manipulable parameters. |
| Domain binding | The install key is bound to your verified domain; requests from foreign hosts are rejected. |
| Rate limits | Requests per source are capped to absorb abuse and load spikes. |
| Upload filtering | File uploads to the knowledge base are checked against allowed types and scanned for malware. |
Domain Binding
The key in the install snippet (data-alpheris-key) is bound to the domain verified in your account. In active strict mode, Alpheris checks the origin of the embedding against this domain on every widget and chat request. If someone loads your snippet on a foreign page, the request is rejected.
<!-- Alpheris Chat Widget -->
<script src="https://alpheris.com/widget.js" data-alpheris-key="INSTALL_ID" crossorigin="anonymous" async></script>
<!-- End Alpheris Chat Widget -->
Domain verification and the behavior with multiple domains are described under Domains.
No Scriptable Uploads
For the knowledge base, Alpheris accepts only document and image formats — for example .pdf, .txt, .md, .csv, .docx, .xlsx, and common image types. Scriptable or executable files are rejected: .html and .svg are not on the whitelist, nor are active types such as .exe, .js, or .sh. In addition, every upload runs through a malware scan (ClamAV).
.html or .svg file can't be uploaded directly. Instead, have such pages captured via the crawl, or export the content as a PDF.Text Snippets Instead of Free Invention
For recurring statements that are legally or commercially sensitive — right of withdrawal, shipping terms, privacy wording — you should store text snippets instead of letting the AI phrase things freely. That way the AI always reproduces the exact wording you've approved and doesn't invent conflicting terms. You maintain text snippets in the AI Agent section.
