// data processing addendum
Data Processing Addendum (DPA)
Last updated: October 9, 2026
// table of contents
- 01 · Parties
- 02 · Definitions
- 03 · Scope and roles
- 04 · Processor obligations
- 05 · Security measures
- 06 · Sub-processors
- 07 · International transfers + SCCs
- 08 · Data-subject rights assistance
- 09 · Personal-data breach
- 10 · Audit rights
- 11 · Return and deletion
- 12 · Term and termination
- 13 · Governing law
- 14 · Annex A · Processing details
- 15 · Annex B · Technical measures
- 16 · Annex C · Sub-processors
// 01 · parties
Parties
This Data Processing Addendum (the “DPA”) is entered into between Magistry, a trade name of Nyland Group B.V. (Chamber of Commerce no. 42076606), a private limited company organised under the laws of the Netherlands and based in The Hague (the “Processor” or “Magistry”), and the Customer entity identified on the applicable Order Form or signed acceptance of the Terms of Service (the “Controller” or “Customer”).
This DPA forms an integral part of the Terms of Service and applies to all processing of Personal Data by Magistry on behalf of Customer in connection with the Service. In case of conflict between this DPA and the Terms of Service, this DPA prevails with respect to the processing of Personal Data.
// 02 · definitions
Definitions
Controller means the natural or legal person that determines the purposes and means of the processing of Personal Data. For the purpose of this DPA, the Controller is the Customer.
Processor means the natural or legal person that processes Personal Data on behalf of the Controller. For the purpose of this DPA, the Processor is Magistry.
Personal Data means any information relating to an identified or identifiable natural person that is processed by Magistry on behalf of Customer in connection with the Service.
Sub-processor means any third-party processor engaged by Magistry to process Personal Data on its behalf in connection with the Service.
Data Protection Laws means all data-protection and privacy laws applicable to the processing of Personal Data under this DPA, including the EU General Data Protection Regulation 2016/679 (the “GDPR”) and equivalent national implementations.
// 03 · scope
Scope and roles
The parties acknowledge that with respect to the processing of Personal Data in connection with the Service, Customer acts as Controller and Magistry acts as Processor. Each party will comply with its obligations under Data Protection Laws.
Customer instructs Magistry to process Personal Data only (i) as described in the Terms of Service and this DPA, including Annex A, (ii) as further documented in any other written instruction agreed between the parties from time to time, and (iii) as required to comply with applicable law.
Customer warrants that it has all necessary rights and consents under Data Protection Laws to allow Magistry to process Personal Data as contemplated by this DPA. Customer remains responsible for the accuracy, quality, and lawfulness of the Personal Data and the means by which it was acquired.
// 04 · processor obligations
Processor obligations
Magistry will:
- Process Personal Data only on documented instructions from Customer.
- Ensure that persons authorised to process Personal Data have committed themselves to confidentiality or are under a statutory duty of confidentiality.
- Implement the technical and organisational measures set out in Annex B.
- Respect the conditions for engaging Sub-processors set out in Section 6.
- Taking into account the nature of the processing, assist Customer by appropriate technical and organisational measures in fulfilling Customer’s obligations to respond to requests from data subjects exercising their rights.
- Assist Customer in ensuring compliance with the obligations to maintain security of processing, notify breaches, conduct data-protection impact assessments, and consult prior with supervisory authorities where required.
- At Customer’s choice, delete or return all Personal Data after the end of the provision of the Service as set out in Section 11.
- Make available to Customer all information necessary to demonstrate compliance with the obligations set out in this DPA and allow for and contribute to audits as set out in Section 10.
Magistry will inform Customer if, in its opinion, an instruction from Customer infringes Data Protection Laws. Magistry is not obliged to monitor or evaluate Customer’s instructions for legal compliance but will not act on instructions that are manifestly unlawful.
// 05 · security measures
Security measures (Annex B)
Magistry will implement and maintain the technical and organisational measures described in Annex B of this DPA, designed to ensure a level of security appropriate to the risk of the processing, taking into account the state of the art, the costs of implementation, and the nature, scope, context, and purposes of processing.
Magistry may update the measures in Annex B from time to time provided that the updated measures do not materially decrease the overall level of protection of Personal Data.
// 06 · sub-processors
Sub-processors
Customer grants Magistry general authorisation to engage Sub-processors, subject to the conditions in this Section 6. The current list of Sub-processors is set out in Annex C and is reproduced below.
Magistry will impose data-protection terms on its Sub-processors that provide at least the same level of protection for Personal Data as those set out in this DPA, including obligations to implement appropriate technical and organisational measures.
Magistry will notify Customer at least thirty (30) days in advance of any intended changes concerning the addition or replacement of Sub-processors. Customer may object on reasonable data-protection grounds within fifteen (15) days of the notice. If the parties cannot resolve the objection in good faith, Customer may terminate the affected subscription by written notice and receive a pro-rata refund of any prepaid fees attributable to the period following termination.
Magistry remains liable to Customer for the acts and omissions of its Sub-processors to the same extent as if those acts and omissions were those of Magistry.
// 07 · international transfers
International transfers and SCCs
Customer authorises Magistry to transfer Personal Data to countries outside the European Economic Area or the United Kingdom where necessary to provide the Service. Where such transfers occur to a country that has not received an adequacy decision from the European Commission, the parties agree that the European Commission’s Standard Contractual Clauses of 4 June 2021 (Decision (EU) 2021/914) apply, with Module Two (controller-to-processor) incorporated by reference into this DPA.
Where Customer is itself a processor and Magistry acts as sub-processor with respect to a particular flow, the parties agree that Module Three (processor-to-processor) of the Standard Contractual Clauses applies.
The optional docking clause is selected. Clause 7 (docking), Clause 9 (Option 2, general written authorisation) with the change-notification period set in Section 6, and Clause 17 (Option 1, governing law of the Netherlands) apply. Clause 18 places the forum in the Netherlands. The annexes to the SCCs are deemed populated with the corresponding information in Annexes A, B, and C of this DPA.
Magistry maintains transfer-impact assessments for each non-EEA transfer and will make them available to Customer on reasonable request.
// 08 · data-subject rights
Data-subject rights assistance
Taking into account the nature of the processing, Magistry will assist Customer by appropriate technical and organisational measures, in so far as this is possible, in fulfilling Customer’s obligation to respond to requests from data subjects exercising their rights under Data Protection Laws, including the rights of access, rectification, erasure, restriction of processing, data portability, and objection.
If Magistry receives a request directly from a data subject, Magistry will, unless legally prohibited, promptly forward the request to Customer and will not respond directly except to acknowledge receipt and to inform the data subject that their request has been forwarded to the Controller.
// 09 · breach notification
Personal-data breach notification
Magistry will notify Customer without undue delay, and in any event within forty-eight (48) hours, after becoming aware of a Personal Data Breach affecting Personal Data processed under this DPA. The notification will describe, to the extent known at the time and supplemented as further information becomes available:
- The nature of the breach, including, where possible, the categories and approximate number of data subjects and Personal Data records concerned.
- The likely consequences of the breach.
- The measures taken or proposed by Magistry to address the breach and to mitigate its possible adverse effects.
- The name and contact details of the Magistry point of contact for further information.
Magistry will cooperate with Customer in good faith to investigate the breach and assist Customer in any notifications required to be made to supervisory authorities and affected data subjects.
// 10 · audit rights
Audit rights
Magistry will make available to Customer the information necessary to demonstrate compliance with the obligations laid down in Article 28 GDPR, including a summary of its technical and organisational measures and the measures listed in Annex B. (We are not SOC 2 certified today.)
Customer may, no more than once per twelve-month period and on at least thirty (30) days’ prior written notice, audit Magistry’s compliance with this DPA. The audit must be conducted during regular business hours, with reasonable care not to disrupt Magistry’s operations, and subject to a confidentiality agreement. Where Customer engages a third-party auditor, the auditor must not be a competitor of Magistry.
Each party bears its own costs of an audit, except that Customer will bear Magistry’s reasonable costs where the audit reveals no material breach of this DPA or where it is conducted at a frequency exceeding the once-per- twelve-month limit.
// 11 · return and deletion
Return and deletion of Personal Data
Following expiry or termination of the Service, Magistry will, at Customer’s choice, delete or return all Personal Data processed on behalf of Customer and delete any existing copies, unless retention is required by Union or Member State law.
Magistry will make Customer Data available for export in a structured, commonly used, machine-readable format for thirty (30) days after termination. After that period, Personal Data will be deleted from active systems within thirty (30) days and from backups within ninety (90) days, except where retention is required by law (for example, billing records) or technically infeasible.
// 12 · term
Term and termination
This DPA takes effect on the date Customer accepts the Terms of Service or the date the parties sign an applicable Order Form, whichever is earlier, and continues until Magistry ceases all processing of Personal Data on behalf of Customer. Provisions that by their nature should survive termination will survive, including those relating to confidentiality, liability, return and deletion of Personal Data, and audit rights.
// 13 · governing law
Governing law
This DPA is governed by the laws of the Netherlands without regard to its conflict-of-laws principles. Disputes arising out of or in connection with this DPA are subject to the exclusive jurisdiction of the competent court in The Hague, without prejudice to any mandatory jurisdiction of supervisory authorities or courts under Data Protection Laws.
// 14 · annex a
Annex A · Description of the processing
Subject matter. Provision of the Magistry autonomous control plane for multi-channel commerce, including catalog, campaign, and customer-service agents.
Nature and purpose. Ingesting Customer Data from Connected Services, applying agent reasoning, writing decisions back to those Connected Services, and producing audit and reporting outputs for Customer.
Aggregate forecast calibration. To estimate how uncertain a forecast is, Magistry may compare it with how forecasts turned out for at least five other stores. Only the size of past forecast errors is used, as an anonymous aggregate in which no single store carries more than a fifth of the weight. No Personal Data is used for this, and the revenue, orders, customers and products of one store are never shown to, or used to set the numbers of, another.
Duration. For the term of the Service plus the post-termination retention period set out in Section 11.
Categories of data subjects. Customer’s end customers, prospective customers, and Customer’s employees authorised to use the Service.
Categories of Personal Data. Contact details, transaction records, ad interactions, support communications, session identifiers, and any Personal Data otherwise present in catalog, performance, inbox, or customer-record data flowing through the Connected Services.
Special categories. None intended. Customer must not submit special categories of data without prior written agreement.
// 15 · annex b
Annex B · Technical and organisational measures
Access control. Role-based access control with least-privilege defaults. Production access requires two-factor authentication, an approved access request, and is logged in an immutable audit trail.
Encryption. TLS-1.3 for all data in transit. AES-256 encryption at rest for primary data stores. Secrets are held in a Vault-encrypted column, decrypted only at job runtime.
Network security. Managed EU-based infrastructure with database and worker traffic kept off the public internet. No direct internet exposure of stateful services.
Logging and monitoring. Application-level logging via Sentry. Every agent action is recorded in the decision log and kept as the audit trail.
Personnel. Background checks where permitted by law. Mandatory security training and confidentiality agreements for every employee with access to production systems.
Vendor management. Written data-protection agreements with every Sub-processor, reviewed annually.
Resilience. Daily encrypted backups, point-in-time recovery for the primary Postgres database, and documented incident-response procedures with annual tabletop exercises.
Certifications. We are an early-stage company and are not SOC 2 or ISO 27001 certified today; we build to the same controls and will pursue formal certification as we grow.
// 16 · annex c
Annex C · List of Sub-processors
| Sub-processor | Purpose | Region |
|---|---|---|
| Shopify | Commerce platform, billing, and payments. Card data is handled by Shopify and never reaches Magistry. | Global |
| Supabase | Primary Postgres database, auth, storage, and Vault-encrypted secrets. | EU (eu-west-1) |
| Vercel | Hosting for the dashboard and marketing website, with edge delivery. | Global edge · EU primary |
| Railway | Compute for the backend worker and scheduled jobs. | EU-West |
| Anthropic | LLM inference for the agents and the assistant, including customer-service reply drafting over inbound mail bodies and customer photographs. No training on customer data. | United States |
| OpenAI | Embeddings, classification, translation of customer-service text, and image generation. No training on customer data. Separately, OpenAI Ads — when you connect it: campaign, ad-group and ad metadata and performance reports, under your own ads API key; and, only when you choose conversion tracking for it, each paid order (order id, value, currency, hashed email and phone, the OpenAI click id) sent to OpenAI's Conversions API, and OpenAI's measurement pixel loaded on your storefront after the visitor's marketing consent. | United States |
| fal | Generative media for the creative studio: product video, image edits and instrumental music (ElevenLabs Music, run on fal). Receives the prompt and the product imagery a merchant chooses; no shopper or customer data is sent. | United States |
| Resend | Transactional and customer-service email delivery. | EU/US |
| Smartlead | Mailbox warm-up for Magistry's own outbound prospecting mailboxes: the sending address, its display name and its SMTP/IMAP credential are registered with the provider, which then warms the mailbox by exchanging mail with its own network. Magistry's own senders, not a tenant's data. The cold-sending path through this provider is present in code and disarmed. | Unverified — vendor confirmation pending |
| Microsoft | Outlook / Microsoft 365 mailbox access and sending for connected customer-service inboxes (Graph API); Bing Ads and Bing Webmaster where connected. | EU/US |
| Gmail mailbox access for connected inboxes; Google Ads, Data Manager (hashed e-mail/phone and click ids on conversion upload), Analytics, Merchant Center, Search Console and Sheets when you connect them; Google Public DNS for domain checks. | EU/US | |
| Meta | Meta Ads, Meta Pixel and Conversions API (hashed identifiers) — when you connect them. | United States |
| TikTok | TikTok for Business ads and events (hashed identifiers) — when you connect them. | EU/US |
| Pinterest Ads and conversions — when you connect them; with conversion tracking chosen for it, the Pinterest Tag on your storefront after the visitor's marketing consent. | United States | |
| Reddit Ads and conversions — when you connect them. The OAuth grant and token refresh go to reddit.com; campaign reads, writes and server-side conversions go to the Ads API. When you let Magistry run Reddit tracking, the storefront loads the Reddit Pixel from redditstatic.com after marketing consent. | United States | |
| Amazon Ads | Amazon Advertising — when you connect it. Login with Amazon refreshes the token; campaign and ad-group reads and writes, and performance reports, go to the Advertising API. Campaign metadata and aggregate metrics only: no customer identifiers are uploaded. | EU/US |
| bol | bol Retailer API — when you connect a bol seller account. Offer, order, return and performance-indicator reads under the seller's own API credentials. An order read carries the buyer's name, delivery and billing address and e-mail as bol returns them. | EU (Netherlands/Belgium) |
| Kaufland | Kaufland Marketplace Seller API — when you connect a Kaufland seller account. Offer, order, return and ticket reads under the seller's own API keys. An order read carries the buyer's name, delivery and billing address and e-mail as Kaufland returns them. | EU (Germany) |
| Allegro | Allegro REST API — when you connect an Allegro seller account. Offer, order, return and seller-rating reads under the authorization the seller grants Magistry. An order read carries the buyer's name, delivery and billing address and e-mail as Allegro returns them. | EU (Poland) |
| Lightspeed | Lightspeed eCom API — when you connect your own Lightspeed shop. Catalogue, order and customer reads under your own read-only API key and secret. An order or customer read carries the shopper's name, address and e-mail as Lightspeed returns them; Magistry stores only the catalogue. | EU (Netherlands) or US, per your shop's cluster |
| TikTok Shop | TikTok Shop Partner API — when you connect a TikTok Shop seller account. Shop, product, SKU, price, stock and order reads under the authorization the seller grants Magistry. An order read carries the buyer's delivery address as TikTok Shop returns it; Magistry does not store it. | EU/UK/US |
| Sendcloud | Sendcloud shipping API — when you connect a Sendcloud account. Parcel reads under your own API key pair: carrier, tracking number, delivery status, destination country, weight and order value per parcel. A parcel read carries the recipient's name and address as Sendcloud returns them; Magistry does not store them. | EU (Netherlands) |
| Exact Online | Exact Online API — when you connect an Exact Online administration. For commerce: item, cost-price and stock reads. For a business's books, when it connects them for a switch to Magistry: its general ledger accounts, relations (customers and suppliers), journals, transaction lines and open items are read. Read only, under the authorization you grant Magistry. | EU (Netherlands); the regional host of your administration |
| Moneybird | Moneybird API — only when a business connects the books it keeps in Moneybird, for a switch to Magistry. Its ledger accounts, contacts, journal documents and open invoices are read under the authorization the business grants; nothing is written. | EU (Netherlands) |
| e-Boekhouden | e-Boekhouden API — only when a business connects the books it keeps in e-Boekhouden with its own API token, for a switch to Magistry. Its ledgers, relations, mutations and open items are read; nothing is written. | EU (Netherlands) |
| Enable Banking | Open-banking account access — only when a business or person connects a bank account in Magistry's books. Account list, balances and transactions are read under the consent the account holder gives at their own bank (at most 180 days); nothing is paid or initiated. | EU (Finland); your bank's own region |
| Recommand | Peppol access point — only when a business registers for e-invoicing in Magistry's books. The business's name, KvK number and address are registered on the Peppol network; when the business chooses to receive invoices over Peppol, Recommand receives them on its behalf. | EU (Belgium) |
| Mollie | Payment-provider payout statements — only when a business connects its Mollie account in Magistry's books. Settlements and the payments, refunds and chargebacks in them are read to book each payout; nothing is paid or initiated. | EU (Netherlands) |
| Klarna | Payment-provider payout statements — only when a business connects its Klarna merchant account in Magistry's books. Payouts and their transactions are read to book each payout; nothing is paid or initiated. | EU (Sweden) |
| Amazon Selling Partner API | Marketplace settlement reports — only when a business connects its Amazon seller account in Magistry's books. Login with Amazon refreshes the token; settlement reports are read to book each payout; nothing is listed, sold or paid. | EU/US |
| Taboola | Taboola Backstage — when you connect it. Campaign reads and writes and performance reports, authenticated by the Backstage credentials your account manager issues. Campaign metadata and aggregate metrics only: no customer identifiers are uploaded. | United States/Israel |
| Criteo | Criteo Marketing Solutions — when you connect it. Campaign and ad-set reads and writes and performance reports, under the API client id and secret from your Criteo account. Campaign metadata and aggregate metrics only: no customer identifiers are uploaded by us — Criteo's own audiences come from its tag on your storefront, which is your relationship with Criteo, not ours. | EU (France) |
| Outbrain | Outbrain Amplify — when you connect it. Campaign, budget and promoted-link reads and writes and performance reports, authenticated by the Amplify API login you enter. Campaign metadata and aggregate metrics only: no customer identifiers are uploaded. | United States/Israel |
| Snap | Snap Marketing API (Snapchat Ads) — when you connect it. Campaign, ad squad and ad reads and writes and performance reports, under the OAuth grant you give Magistry in Snapchat. Campaign metadata and aggregate metrics only: no customer identifiers are uploaded. | United States |
| X | X Ads API — when you connect it. Campaign and line-item reads and writes and performance reports, under the OAuth grant you give Magistry on X. Campaign metadata and aggregate metrics only: no customer identifiers are uploaded. | United States |
| StackAdapt | StackAdapt — when you connect it. Campaign reads and delivery reports, authenticated by the StackAdapt API key you enter. Nothing is written to the StackAdapt account. Campaign metadata and aggregate metrics only: no customer identifiers are uploaded. | Canada |
| AppLovin (AXON) | AppLovin's AXON advertising — when you connect it. Campaign reads and writes on the management API and performance reports on the reporting host, under your own AppLovin keys. Campaign metadata and aggregate metrics only: no customer identifiers are uploaded. | United States |
| Stripe | Subscription billing and invoicing for non-Shopify tenants (merchant billing identity; card data handled by Stripe). When a business connects its own restricted Stripe key in Magistry's books: read-only balance and payout reads for its bookkeeping. | EU/US |
| Sentry | Error monitoring and crash reporting for the dashboard. | EU instance |
| DataForSEO | Search and market data for the Researcher and competitor intelligence (keywords, domains — no personal data). | United States |
| SerpApi | Search-result pages for market research (keywords only). | United States |
| Bright Data | Proxy and unblocking for fetching public web pages (storefronts, marketplaces). No personal data of yours is sent. | Israel/US |
| Exa | Neural web search for research (queries only). | United States |
| Jina AI | Readable-text extraction of public web pages (URLs only). | EU/US |
| 17TRACK | Parcel tracking status for shipments the desk is asked about (tracking numbers only). | Global |
| Slack | Notifications to a Slack channel you configure (incoming webhooks). | United States |
| Cloudflare | DNS-over-HTTPS lookups when verifying domains. | Global |
| PayPal | Affiliate payouts (payee e-mail and payout amounts) — affiliates only; and, when a business connects its PayPal account in Magistry's books, its transaction history is read to book each month's payouts (nothing is paid or initiated). | United States |
| Wise | Affiliate payouts by bank transfer (payee name, bank details) — affiliates only. | EU/UK |
| Tax1099 | US tax-form filing for affiliates (name, address, tax id) — affiliates only. | United States |
| ADROIT (Malta) | Certified out-of-court dispute settlement body under DSA Art. 21. Receives a merchant's complaint against a platform decision, including the identification line that names who is filing and on whose behalf. | EU (Malta) |
| Publishing to a LinkedIn page you connect (post content only), and LinkedIn Ads — when you connect it: campaign and creative reads and writes and performance reports, under the OAuth grant you give Magistry in LinkedIn. Campaign metadata and aggregate metrics only: no customer identifiers are uploaded. | United States | |
| DHL | Parcel tracking status for shipments the desk is asked about (tracking numbers only). | EU |
| GoDaddy | Domain-name availability checks for the Researcher (candidate names only). | United States |
| IP geolocation (ipinfo.io, ipapi.co) | Country lookup of an IP address: the worker's own proxy egress (ipinfo.io) and the Shield script's visitor check (ipapi.co) — an IP address is personal data. | United States |
| Public data feeds | Weather (Open-Meteo), macro data (ECB, St. Louis Fed FRED), exchange rates (ER-API), news (NewsAPI), Hacker News (Algolia), UK Companies House — queries only, no personal data. | Global |
| Pushover | Push notifications of platform health alerts to the operator's own devices (alert text only). | United States |
| Telegram | Push notifications of platform health alerts to an operator-configured chat (alert text only). | Global |
| Expo | Push notification delivery to the Magistry mobile app. Receives the device's push token and the notification text — the store name, what is waiting for a decision, its amount and its deadline. It carries no end-customer data: the notification is about a merchant's own operations, and the decision itself is made in the app against our own API. Expo hands the message to Apple (APNs) or Google (FCM), which are the platform transports and are listed separately. | United States |
