Mago answers your questions with help from an AI model, such as Claude or ChatGPT. So you want to know two things: what happens to your customers’ data, and how safe is it for your store? Here is the whole picture, without the jargon.
A chatbot you paste an order into sees everything. Mago sits inside your Magento and strips the personal details out before a single byte leaves your server. The model gets the figures it needs to help you, and nothing it could use to identify anyone.
In the chat in your admin, the way you would ask a colleague.
In your own database, within what your admin role allows. No raw SQL, only fixed skills that fetch what they were built for.
Name, email, phone and address are removed. Order and customer numbers become codes.
It can count, compare and explain, but it doesn’t know who the customer is.
The answer comes back and Mago swaps the codes for the real name and order number. That happens on your screen, in your admin, never at the provider.
Each Mago skill declares, for every field it returns, what may happen to it. Anything not classified is left out. That rule also applies to add-ons from other developers.
What the model needs to help you, and nothing that points at a person.
Mago keeps the key in your own database and puts the real values back for you.
Name, email, phone, address and every field a skill hasn’t classified.
Privacy mode is not a setting you have to find and enable. It is always on and cannot be turned off, so it can never be wrong by accident.
Type an email address, IBAN, BSN, Dutch VAT number or Dutch mobile number into the chat and Mago replaces it before sending. Type a name or address and Mago warns you that you may be sharing personal data.
Conversations are deleted automatically after 90 days, including the key that links codes to real customers. You set the retention period yourself.
Requests go straight from your store to the AI provider you chose, on your own account. Mago has no cloud, no account and no access to your data.
It is a colleague in your back office, with the same rights as the person typing, and it asks before it touches anything.
Mago saves through Magento’s own validation, so a wrong value is refused just like it would be in the admin form.
In the browser tests every call to the AI provider is intercepted and the raw request is checked for customer data. A canary rule fails the whole run the moment anything gets through. The tests are public on GitHub.
Each pull request is read by a developer from another agency and runs static analysis, the coding standard, unit tests and browser tests before it can merge.
Every line is on GitHub under the MIT licence, for you or your developer to read. Found a weak spot? Report it confidentially through the security policy.
No system is perfect, and we would rather you hear the limits from us.
Type a customer’s name inside a sentence and Mago won’t always recognise it. Known formats such as email, IBAN and Dutch mobile numbers are caught; names and other countries’ formats are best effort, so you get a warning instead of a guarantee.
Because your own store knows which code belongs to which customer, the data is still personal data under the GDPR. You still sign a data processing agreement with your AI provider, as with any processor.
Mago is open source and signs no contracts. You use your own API key with your provider, so the agreement is between you and them.
The standard Anthropic API has no EU region. For processing inside the EU, use Azure OpenAI (EU Data Boundary), AWS Bedrock or Google Vertex AI in an EU region, or a local model through Ollama or LM Studio so nothing leaves your server at all.
Mago never forwards customer data one to one. Each tool labels every field as pass-through, replace-by-code or drop; unlabelled fields are dropped. Privacy mode has no switch. The admin panel shows the real values, which are restored on the admin side only.
Service/Privacy/ — all privacy codePrivacyFilter.php — the filter every tool result passes before it goes to the modelConversationVault.php — replaces values by codes and restores them for the adminPiiHeuristic.php — recognises email, IBAN, BSN, Dutch VAT numbers and Dutch mobile numbers in free textEgressTripwire.php — last check on everything that leaves, in development and test environmentsChatService.php — where the filter is called (executeTool)privacy.xml — conversation retention, 90 days by defaultprivacy-mode.spec.ts — the browser test that reads the raw provider requests and fails on the canarySecurity questions deserve public answers. Open an issue on GitHub, or report a vulnerability privately.