Cordi

Privacy Policy

Last updated: 22 October 2026

1. Who we are

Cordi is operated by Morodo Limited (trading as "Cordi"), a company registered in England and Wales under company number 11925189, with its registered office at Demsa Accounts, 565 Green Lanes, Haringey, London, England, N8 0RL.

For the purposes of the UK General Data Protection Regulation ("UK GDPR") and the Data Protection Act 2018, Morodo Limited is the data controller for the personal data described in this Policy. We are registered with the UK Information Commissioner's Office (ICO) under registration number ZC281474.

If you have any questions about this Policy or how we handle your personal data, contact us at:

Email: [email protected]

2. Scope

This Policy applies to:

We refer to these collectively as the "Service."

3. What personal data we collect

3.1 If you are a Customer

Data When collected Purpose
Email address and passwordAccount sign-up (via Supabase Auth)Creating and securing your account. We send a 6-digit code to your email address to confirm it belongs to you
Birthday (optional)Sign-up, if you choose to provide itLets participating shops offer you a birthday gift (see Section 4.2). Once set, your birthday cannot be changed in the app; contact us to correct a mistake or remove it. We use your birthday only for the birthday gift.
Precise location (GPS) at stamp collectionAt the moment you collect a stamp (QR or NFC)To verify you are within approximately 200 meters of the shop, so stamps can only be collected in person. Checked, then discarded: not saved
Precise location (GPS) at reward redemption or birthday-gift claimAt the moment you confirm a reward redemption at the counter, or claim a birthday gift by tapping or scanning the shop's codeTo verify you are within approximately 200 meters of the shop. Checked, then discarded: not saved
Approximate/precise location on the Discover mapWhen you open the Discover screen or tap "locate me", if you have granted location permissionTo show participating shops near you. Sent to our server to filter nearby shops; not saved to our database and not written to our server's own logs (see Section 11)
Stamp and redemption activityEach time you collect a stamp or redeem a rewardOperating your loyalty cards and each shop's reward program
Birthday-gift claimsWhen you claim a birthday giftRecords which business's gift you claimed, for which birthday year, and when, so each business's gift can be claimed only once per birthday
Promotion targeting recordsWhen a shop you have a card with publishes a promotionA record of which customers a promotion was sent to (including whether it was targeted at "overdue" customers), so the offer stays visible to you and the shop can measure results. It is kept for as long as the promotion exists, and deleted if the shop deletes the promotion
Technical and log dataEach time you sign in or use the appIP address, device/browser information and sign-in times, recorded automatically by our authentication and hosting providers, for security, fraud prevention and troubleshooting

We do not collect your name (Cordi has no name field anywhere in the system), and we do not track your location in the background. Location is requested only while the app is open: on the Discover map, and at the moment you collect a stamp, redeem a reward or claim a birthday gift.

3.2 If you are a Shop Owner

Data When collected Purpose
Email address and passwordAccount sign-upCreating and securing your account. We send a 6-digit code to your email address to confirm it belongs to you
Your first name, last name and mobile phone numberSign-up ("Join now")Contacting you to arrange and carry out your shop's setup visit, giving you support, and telling you about problems with the Service that affect your shop. We do not use your phone number for marketing, and it is never shown in the app or to Customers
Setup-visit details: preferred days and time of day, the name and phone number of the person to meet at the shop (if not you), and any notes you addSign-up ("Join now")Arranging the setup visit at which we install your Cordi NFC tag and approve your shop. If you give us someone else's details as the on-site contact, please let them know and point them to this Policy
Record of accepting our termsSign-up ("Join now")Which version of the Business Terms and this Policy you accepted, and when, so we can show what was agreed
Business name, address, category, website, opening hours, description, logoSign-up and profile setupDisplaying your shop to Customers and operating your loyalty program. This information is public inside the app, and the logo is stored as a publicly accessible image file. If you trade as an individual (e.g. a sole trader), some of this may be your personal data.
Loyalty program and birthday-gift settings, promotionsWhen you set up your program, turn on the birthday gift, or publish a promotionOperating your loyalty program and showing your rewards and offers to your customers
Billing details: your subscription (monthly or annual, status, renewal date), invoices and payment history, and the billing name, address and tax details you giveWhen you add a payment card or subscribe, and at each paymentCharging for your subscription and keeping the accounting records the law requires. Your card details are entered on Stripe's secure page and held by Stripe — we never see or store your full card number; we only see the card type, last four digits and expiry date
Technical and log dataEach time you sign in or use the dashboardIP address, device/browser information and sign-in times, for security and troubleshooting
Business address and map locationProfile setup, if providedThe address is sent to a third-party geocoding service (see Section 5) to convert it into map coordinates, which you can adjust by moving the pin on the map. The coordinates are used for the Customer location checks above and to show your shop on the Discover map
Your customers' masked email addresses and stamp/visit historyOngoing, as your customers interact with your shopShown to you so you can manage your own loyalty program — see Section 4 for detail on this specific case

3.3 If you use our contact form (marketing website)

Name, shop name (if applicable), email address, phone number, and any message you write, submitted only if you choose to use the contact form.

3.4 If you email or message us

If you email us or message us on WhatsApp — for example for support, to ask for your account to be deleted, or to exercise one of your rights in Section 14 — we receive your email address (or, on WhatsApp, your phone number and WhatsApp profile name), your message and anything you attach, and we keep the correspondence so we can answer you and show that we handled your request.

4. What Shop Owners can see

4.1 Customer activity

A Shop Owner can see, only for their own customers (people who have collected at least one stamp at their shop):

Shop Owners cannot search for a customer by email address, and cannot see a Customer's birthday or location. Because they only see masked emails, they cannot contact you outside Cordi.

This is descriptive information about a shop's own customers, generated only from that shop's own visit records. No shop can see another shop's customers or data, and Cordi does not share, pool, sell, or broker this data across shops or to any third party such as an advertiser or data broker.

Shop Owners may publish promotions to their own customers — either to all of their customers, or targeted at customers who appear "overdue." Promotions are shown inside the Cordi app only; they are not sent to you by email. This targeting is descriptive analytics about a shop's own historical visit data; it does not involve automated decision-making that produces legal or similarly significant effects on you, and no decision is made about you that a human is not ultimately responsible for (the Shop Owner chooses whether and what to publish). When a promotion is published, we keep a record of which customers it was sent to, until the shop deletes the promotion (see Section 3.1).

4.2 Birthday gift

A Shop Owner can choose to offer a birthday gift (for example a free drink). If you have given us your birthday, you can claim one gift per business per birthday, in store, from 7 days before to 7 days after your birthday, provided your birthday has been on file for at least 30 days and you have visited that business before.

A shop offering the gift sees only a "Gift given" mark next to a customer for 30 days after that shop gave them its gift, plus a count of gifts claimed. It never sees your date or year of birth, or whether your birthday is coming up. A shop that does not offer the gift sees nothing at all about your birthday. Shops cannot see whether you claimed a gift at another business.

Morodo Limited is the controller of this customer data. A Shop Owner who views it in the business portal becomes a separate controller for their own limited use of it, which our Business Terms (Section 9) restrict to running their loyalty program on Cordi.

5. Who we share data with

5.1 Service providers

We use the following service providers ("sub-processors") to operate Cordi. Each processes personal data only as necessary to provide their service to us:

Sub-processor Purpose Data involved
SupabaseDatabase hosting, authentication, file storage and backups for the entire ServiceAll account, activity, technical and shop data described above. Hosting region: Frankfurt, Germany (EU).
RailwayHosts our application server (API), through which all app and dashboard requests passAll data sent to or from the Service while it is being processed. Our server's own request logs record the request type, path and result, but not your IP address or location. For requests made without signing in, your IP address is also used briefly, in our server's memory only, to limit how many requests can be made in a short time; it is not stored. Region: European Union (Netherlands). Railway is a US company, and its own platform logs may be stored in the United States
VercelHosts the business dashboardShop Owner session data and the customer information shown in the dashboard. Region: United States (Washington, D.C.)
ResendSends account emails (email confirmation codes and password reset codes)Email address and the email content. Resend is a US company
CloudflareDomain name service and hosting of the marketing websiteIP addresses and technical request data
OpenStreetMap (Nominatim geocoding and map tiles)Converts a Shop Owner's business address into map coordinates, and supplies the map shown in the Business Portal where Shop Owners place their shop's pinNominatim receives the business address text and a contact-email identifying header from our server. Map tiles are requested directly by the Shop Owner's browser, which reveals its IP address and the map area being viewed. Run by the OpenStreetMap Foundation, a UK nonprofit; no API key or account is used
Google Maps (Android) / Apple Maps (iOS)Displays the map view in the Discover screenMap requests from your device, which reveal the map area being viewed; subject to Google's and Apple's own privacy policies
FormSubmit (formsubmit.co) and Google (Gmail)FormSubmit relays marketing-site contact-form submissions to our Gmail inbox; Gmail is also where emails you send us arriveName, shop name, email, phone number, and message you submit via the contact form, and any email you send us. Both are US-based. We recommend reviewing FormSubmit's own privacy practices, which we do not control, before relying on this Policy as a complete description of that specific data flow.
WhatsApp (Meta)If you contact us through the "Need help?" WhatsApp button during sign-up, or message us on WhatsAppYour phone number, WhatsApp profile name and the messages you send. Subject to WhatsApp's own privacy policy; may be processed in the United States
StripeProcesses Shop Owners' subscription payments, stores their payment cards, and sends invoices and receiptsShop Owner name, email address, billing details, card details and payment history. Stripe processes data in the UK, the EU and the United States
Expo / EASMobile app build and update infrastructureTechnical app-build data; not personal data about you as a user
Apple App Store / Google PlayApp distributionSubject to Apple's and Google's own privacy policies for app-store account and download data

5.2 Other disclosures

We may also disclose personal data:

We do not sell your personal data to any third party, and we do not use advertising networks or advertising-tracking cookies or SDKs.

6. International data transfers

Morodo Limited is based in the UK, and your data is accessed from the UK. Our main database (Frankfurt, Germany) and our application server (Netherlands) are hosted in the European Union, which the UK recognises as adequate. Some providers are based in, or process data in, the United States: Railway (a US company; its platform logs), Vercel (the business dashboard), Resend, Cloudflare, Google (Gmail and Google Maps), Apple Maps, WhatsApp, Stripe and FormSubmit.

Where personal data is transferred from the UK to a country that the UK has not recognised as adequate, we rely on one of these safeguards:

Transfers to the European Union (including our database in Frankfurt and our application server in the Netherlands) need no additional safeguard, because the UK recognises the EU as adequate. Contact-form submissions relayed by FormSubmit are transferred to the United States only because you choose to send us a message through the form. You can ask us for more information about these safeguards using the contact details in Section 17. For users in Turkey, transfers out of Turkey are covered separately in the KVKK Disclosure Notice (KVKK Article 9).

7. Emails and notifications

We send you only service emails that are needed to run your account, such as email confirmation codes and password reset codes. We do not send marketing emails or newsletters, and shops cannot email you through Cordi. If we ever introduce marketing emails, we will only send them if you have explicitly opted in, every email will include a way to unsubscribe, and saying no will not affect your use of Cordi.

Cordi does not currently send push notifications. This feature is not active in the Service.

If you are a Shop Owner, we may also call you or message you about your setup visit, support, or a problem with the Service that affects your shop. We do not make marketing calls or send marketing messages.

8. Payments

Customers never pay anything through Cordi. Shop Owners pay for their subscription by card through our payment provider, Stripe. You enter your card details on Stripe's secure payment page, and Stripe stores them; we never see or store your full card number. Stripe also processes payment data for its own purposes, such as fraud prevention and meeting its legal obligations, as described in Stripe's own privacy policy.

9. Cookies and tracking

Our marketing website does not set advertising or analytics cookies, and neither the app nor the dashboard uses third-party analytics or advertising SDKs. The app and the dashboard store only what they need to work, such as keeping you signed in and remembering your language. The contact form is processed by FormSubmit (see Section 5); we recommend checking FormSubmit's own cookie and privacy practices, which are outside our control, if this matters to you.

10. Legal basis for processing (UK GDPR)

Purpose Legal basis
Creating and operating your account, collecting stamps, redeeming rewardsNecessary for the performance of our contract with you (the Terms of Service, or for Shop Owners the Business Terms)
Verifying your location at the moment of stamp collection, reward redemption or birthday-gift claimNecessary for the performance of our contract with you
Shop Owner name, phone number and setup-visit detailsNecessary for the performance of our contract with you (the Business Terms) — arranging your setup visit and supporting your shop
Details of an on-site contact given to us by a Shop OwnerOur legitimate interest in arranging the setup visit with the right person
Record of accepting our termsOur legitimate interest in being able to show what was agreed, and when
Showing nearby shops on the Discover mapOur legitimate interest in showing you relevant shops; you control this with your device's location permission and can still browse the map without it
Technical and log dataOur legitimate interest in keeping the Service secure and working
Shop Owner analytics about their own customers, and targeting promotions at "overdue" customersOur legitimate interest, and that of Shop Owners, in operating a functioning loyalty program — balanced against your interests, as described throughout this Policy. You can object at any time (Section 14).
Birthday and birthday-gift claimsYour consent, given by voluntarily providing your birthday; you may withdraw it at any time by contacting us, and we will remove your birthday
Emails you send us and contact-form submissionsOur legitimate interest in answering you; and, where you are exercising a right under Section 14, our legal obligation to respond
Shop Owner subscription payments and billing detailsNecessary for the performance of our contract with you (the Business Terms); keeping invoices and payment records is a legal obligation
Disclosures required by law (Section 5.2)Compliance with a legal obligation

11. How long we keep your data

Data How long
Account, stamps, redemptions, birthday, birthday-gift claims, promotion targeting records; for Shop Owners also your name, phone number, setup-visit details and terms-acceptance recordUntil you delete your account (or the shop account is closed). Promotion targeting records are also deleted when the shop deletes the promotion. If a Customer account has not been signed in to and has not collected a stamp for 24 months, we will email you, and delete the account 30 days later unless you sign in.
Shop Owner invoices and payment records6 years after the end of the financial year they relate to, as UK tax and company law requires — also after the shop account is closed. Stripe keeps its own records as described in its privacy policy
BackupsDeleted data remains in our database provider's daily backups for about 7 days, then is overwritten
Server request logs (request type, path and result; no IP address, location or query details)Up to 90 days
Authentication logs (IP address, device, sign-in times)7 days
Emails, WhatsApp messages and contact-form messages you send usUp to 2 years after our last exchange with you, so we can answer follow-up questions and show how we handled a request about your rights

12. Deleting your account

Customers can delete their account at any time in the app: Profile → Delete account. The account is deleted immediately and permanently. If you cannot use the app, email [email protected] from the email address registered with Cordi, with the subject "Account deletion"; we will carry out your request within 30 days at the latest and confirm by email.

Deleting your account deletes everything linked to it: your loyalty cards, every stamp, rewards you were working towards or had not yet redeemed, redemptions, your birthday, birthday-gift claims and promotion targeting records. This cannot be undone; if you sign up again later, you start from zero. The only copies left are those in our provider's backups, which are overwritten within about 7 days (Section 11).

Shop Owners cannot yet delete their account in the dashboard, because doing so would also remove their shop and their customers' loyalty-card history. Email us at the address above and we will close the shop listing, delete its logo and other uploaded files, your name, phone number and setup-visit details, and delete the account. We keep invoices and payment records for as long as the law requires (Section 11).

13. Children and minimum age

Cordi is not directed at children. You must be at least 16 years old to create a Cordi account. If we learn that we hold personal data about someone below this age, we will delete the account and its data.

14. Your rights

Under UK GDPR, you have the right to:

To exercise any of these rights, contact us at [email protected]. We may ask you to confirm the request from your registered email address so we know it is really you. We will respond within one month, as required by UK GDPR.

If you are unsatisfied with our response, you have the right to complain to the UK Information Commissioner's Office (ICO) at ico.org.uk. Users in Turkey also have the rights described in our KVKK Disclosure Notice.

15. Security

We take reasonable technical and organizational measures to protect your personal data, including encryption of data in transit, access controls restricting who can access personal data within our systems, and server-side masking of customer emails before they are shown to shops. No method of transmission or storage is completely secure, and we cannot guarantee absolute security.

16. Changes to this Policy

We may update this Policy from time to time, for example when we add a feature that uses personal data in a new way. If we make material changes, we will tell you before they take effect, such as with an in-app notice, and update the "Last updated" date above. Where a change needs your consent, we will ask for it.

17. Contact us

Morodo Limited (trading as Cordi)
Email: [email protected]
Registered office: Demsa Accounts, 565 Green Lanes, Haringey, London, England, N8 0RL