Legal
Privacy policy
Last updated 19 October 2026
Here you can read which personal data Affilyflow processes, why we do it and what rights you have. The policy covers both affilyflow.com and our dashboards.
This is an English courtesy translation. The Danish version is the legally binding one; if the two differ, the Danish text applies.
1.Data controller
Affilyflow ApS, CVR (Danish company reg. no.) 46325389, Hovedvagtsstræde 2C, 3000 Helsingør, is the data controller for the processing of personal data on the platform. Enquiries about personal data should be sent to info@affilyflow.com.
2.What data we process
Account data – name, email address and company details that you provide yourself when signing up.
Payout data– affiliates provide account details for use in payouts. They are used solely to carry out payouts and are protected by row- and column-level access control in the database. If the bank details are changed, we log the change with only the last four characters of the account number and send a security email to the affiliate. If an affiliate or a store provides a VAT number, we look it up in the European Commission's VAT register VIES – the lookup sends the VAT number to VIES.
Click data– when a visitor clicks an affiliate link, we register the time, device type, country (from the hosting provider's geolocation data), referring page, landing page on the store, sub-ID and the link's channel. The referring page is stored only as domain and path – without parameters and without the # fragment. Browser information is stored only as device, operating system and browser family with major version (e.g. "mobile, iOS, Safari 18") – not the full user agent. We also store whether the browser reported that the click came from another site (Sec-Fetch-Site). The full referrer and user agent are used only at the moment the click happens, to filter out bots and for the measurements below. The IP address is not stored with the click.
Tracking coverage– when a visitor lands in the store with an affiliate click, the store's tracking (the script, the WooCommerce plugin or the store's own server) reports only the click ID, the store and the state of consent back to us. On the click, we store when the customer landed, when the click was stored, whether consent to marketing was not required, pending, given or refused, and which integration reported it. Nothing about the visitor is sent, and the report stores nothing in the browser. The purpose is to show the store where clicks are lost (Art. 6(1)(f)).
Control signals against fake clicks– to be able to detect clicks that do not come from humans, we also store three signals per click, which only Affilyflow's administrators can see – never the store or the affiliate: the browser's preferred language (e.g. "da-DK"), whether the browser's own information about platform and version matches its user agent (only "matches", "does not match" or "sent none" and a short explanation), and an 8-character visit code that is derived from the IP address with a secret key and changes every 24 hours. The code only shows whether several clicks on the same day came from the same connection and cannot be traced back to the address. The signals are deleted after 90 days. The legal basis is the stores' and our legitimate interest in only real clicks counting (Art. 6(1)(f)).
Program rules on the click– stores can set rules for their program, e.g. whether paid search or coupon sites are allowed. To be able to enforce them, we store on the click what kind of ad click it was (only the type, e.g. "Google Ads" – never the ad's click ID or the search term), what kind of page the referrer is (search engine, social media, coupon site, cashback site, email or other), which channel it points to, and whether the click is a breach under the program's rules. When enforcement is switched on, a sale from a click that breaks the rules may be rejected automatically, and repeated breaches may block the affiliate in the program. The legal basis is the stores' and our legitimate interest in the programs' terms being complied with (Art. 6(1)(f)).
Order data– on a sale after an affiliate click – or with a personal discount code that the store has given an affiliate – we receive from the store's integration the order ID, amount (total, items, VAT and shipping), currency, line items (product name, variant, quantity, price and product ID, at most 50) and the order's discount codes, and from Stripe also subscription and plan. A purchase without an affiliate click is only reported when it was made with a personal discount code: the tracking first compares the customer's code with one-way fingerprints (SHA-256) of the store's personal codes, and a purchase with a general code or without a code never leaves the store. If an order is fully or partially refunded via WooCommerce or Stripe, we receive the amount and a reference to the refund. We never receive the buyer's name, address, phone number or card details. The Shopify app's pixel only reports a purchase when there is an affiliate click from the last 90 days in the browser. Without a click, the pixel only asks whether the store is currently testing the tracking – without any information about the purchase. During a test, we store only the time of a purchase without a click.
What the affiliate sees– for its own sales, an affiliate sees the amount, commission, status, line items, any discount code, landing page, sub-ID and the click's trail (time, source, device and country). The order number is only shown shortened to its last characters, so that the affiliate and the store can talk about the same sale. The affiliate never sees who the buyer is.
Invitations from stores– a store can invite affiliates to its program with an email that we send on the store's behalf via our email provider. The store may only invite recipients who have themselves asked to receive the program. We do not store the address itself but a one-way fingerprint of it (SHA-256), a masked version for the store's list (e.g. "an***@gmail.com"), language, the store's greeting and status (sent, joined). If a recipient unsubscribes, the fingerprint is added to a shared unsubscribe list, so that no store can send to the address again. Visits to the invitation link are counted without storing the IP address: to limit misuse, only a key derived from it is used, and it is deleted within a couple of hours.
IP addresses– we do not store IP addresses with clicks, sales or accounts. To limit misuse (e.g. too many requests or sign-ups from the same connection), we count requests under a key that is derived from the IP address with a secret key and changes every 24 hours, so that it cannot be traced back to the address. The counters are deleted every hour once they are more than an hour old, and otherwise during the nightly clean-up. Our hosting provider's technical logs may contain the IP address for a short period in line with the provider's own time limits.
Partner profile and messages– stores can see the display name (or affiliate ID), sites, promotion type, country, verification and member-since date of affiliates connected to their programs. Legal name, email, phone, address, CVR and bank details are not part of that view. Messages between store and affiliate are stored with sender, time and read status. Conversations are accessible to the parties and the platform's administrators.
API keys and connected apps – when you create a key or connect an external assistant, we store information about the connection, its permissions and its use. API keys and OAuth tokens are stored as hash values. You can revoke keys and disconnect apps under "AI og API" (AI and API) in the dashboard menu.
Checks against self-referral and fraud– an affiliate may not earn commission on its own purchases. For purchases via Stripe and our WooCommerce plugin, we therefore receive a one-way fingerprint (SHA-256) of the buyer's email address – not the address itself – and compare it with the affiliate's own email. The fingerprint is not stored. Sales that look like fraud are flagged for review by the store and Affilyflow based on, among other things, the time of the click relative to when the affiliate account was created. The legal basis is our and the stores' legitimate interest in a network without fraud (Art. 6(1)(f)).
Bot traffic– recognised bots do not get a click that counts towards commission. We log bot visits separately with the user agent and a reference to the link, program and affiliate, so that filtered traffic can be shown and investigated. A click that comes directly, without a referrer, just before or after an SEO crawler has fetched the same link, or where the browser's information does not add up, does not count either. This can also be determined up to a couple of hours after the click, and the click is then moved to the bot log.
Usage data in dashboards – actions with special permissions (e.g. approvals and rejections) are logged for the legal certainty of both parties.
3.What we use the data for
- Delivering the service: tracking, reporting, approval and payout
- Attributing sales to the right click and filtering out bots
- Preventing self-referral and other fraud, and enforcing the programs' rules
- Sending invitations on a store's behalf and respecting unsubscribes
- Sending service messages, e.g. about program changes or payouts
- Complying with bookkeeping and tax rules
The legal basis is the agreement with you (Art. 6(1)(b) of the General Data Protection Regulation), legal obligations (point (c)) and our legitimate interest in running a network where the figures can be verified (point (f)).
4.Data processors
We use a small number of data processors for operations: hosting and delivery of the site (Vercel), database and login (Supabase), email delivery (Resend), protection against automated sign-ups (Cloudflare Turnstile, which processes the IP address and technical browser information at sign-up) and payment events from stores that have connected Stripe (we receive only webhook signatures and order data – never API keys or card data). The data processors are bound by data processing agreements.
For visitor statistics on affilyflow.com, we use Plausible Analytics, which processes data in the EU. The statistics are anonymous and aggregated: no cookies are set, nothing is stored on your device and no profile is created about you. We can see that a page was opened – not who opened it.
If you choose to use the support chat, the conversation is processed by Crisp (a French provider, data in the EU). Crisp receives what you write yourself – typically your name, email and messages – as well as technical information such as IP address and browser. On affilyflow.com, the chat is only loaded if you have given consent, and you can withdraw your consent under Cookie settings at the bottom of the page. In the dashboards, it is only loaded when you press the chat button yourself. Both are described in the cookie policy.
Store icons– the icons next to the stores in the affiliate dashboard are fetched by our server from Google's favicon service and stored with us, so that your IP address is not sent to Google.
AI features– if you use the built-in AI assistant, your conversation and relevant account context are sent to Anthropic to generate the answer. The context includes name, niche, promotion type, channels, key figures, recommended programs and information about your sites and pages. If you yourself connect an external assistant via MCP, the chosen AI service receives the data that its tool calls retrieve from your account. The external service's processing is also governed by its own terms and privacy information.
5.Retention
Account and transaction data are kept for as long as the account is active, and thereafter for as long as the Danish Bookkeeping Act (bogføringsloven) requires (5 years from the end of the financial year). Other data is deleted automatically according to fixed time limits:
- Clicks without a sale: 6 months (thereafter only anonymous daily figures)
- Details on clicks with a sale (browser, referring page, landing page): 13 months, at the earliest 90 days after the sale has been decided
- Line items on sales: 13 months (the amounts are kept)
- Event log: 13 months for registered sales, otherwise 90 days
- Bot log and product searches: 90 days
- Control signals on clicks (language, browser check and visit code): 90 days
- Counters against misuse (with a key derived from the IP address, never the address itself): normally within two hours, otherwise during the nightly clean-up
- Notifications: 12 months
- Messages and support cases: 3 years after the latest activity
- Revoked API keys and connections: 12 months
- Audit log: 5 years
Invitations sent by a store and the shared unsubscribe list do not yet have an automatic deletion deadline. The unsubscribe list must be kept for as long as we send invitations; otherwise we cannot respect an unsubscribe. You can always ask for deletion before the time limit, unless the data forms part of a sale we must be able to document.
6.Your rights
You can obtain access to the data we hold about you and have it rectified or erased, and you can object to the processing. You can see and correct most of the data yourself in your dashboard. Other requests should be sent to info@affilyflow.com. You can complain to the Danish Data Protection Agency (Datatilsynet) if you believe we are processing your data incorrectly.
7.Cookies
How we use cookies – including the attribution cookie on the stores' sites – is set out in the cookie policy.
8.Changes
If we change the policy, we update the date at the top of the page. In the event of material changes, we inform you by email or via the dashboard.