Huntry Privacy Policy
Huntry is a Shopify app that lets a store run GPS treasure hunts: the store's customers walk to places on a map, claim treasures on their phone and win rewards to spend in the store. This policy explains what Huntry stores, why, where and for how long, for two groups of people: merchants who install Huntry, and players, the store's customers who play its hunts.
Who we are, and who is responsible
Huntry is provided by NYTT AB, Malmskillnadsgatan 44, 111 57 Stockholm, Sweden. Contact: support@huntry.io.
- Players' hunt data (everything in the next section, including claim attempts and the short-lived counters): the store decides to run a hunt and how, so the store is responsible for it (the "controller"). NYTT AB processes it on the store's behalf and on its instructions (the "processor"), under the Data Processing Agreement the store accepts before its first hunt goes live. The store decides the legal basis for this processing; ask the store about it.
- NYTT AB's own records: NYTT AB is responsible for these (controller):
| Data | Purpose | Legal basis |
|---|---|---|
| Store account and plan records, the shop owner's email address, and the record that the store accepted the Terms of Service and the Data Processing Agreement | Providing Huntry to the store, billing through Shopify, sending notices about these terms, the Data Processing Agreement and security, and keeping evidence of the agreement | Our contract with the store; where the data concerns a person at the store, our legitimate interest in running and documenting that contract |
| Server and request logs | Running Huntry and keeping it secure | Our legitimate interest in a working, secure service |
| Records of privacy requests | Showing that we handled each request, and defending legal claims | Our legitimate interest in showing compliance |
What Huntry stores about players
Huntry never stores a player's name, email address, phone number or postal address. It knows a player only by the customer ID Shopify gives the store's logged-in customers.
| Data | Why |
|---|---|
| Location consent: that you allowed or withdrew location use, when, and which version of the text you saw | Proof of your choice |
| Hunt participation: the hunts you joined, the treasures you claimed and how many, whether you entered a hunt's access code (never the code), and the position and time of your last claimed treasure | Running the hunt: limits per player, your map, and a check that claims aren't faster than anyone could travel |
| Claims: which treasure, when, the rounded distance to it and your phone's GPS accuracy | Confirming you were at the treasure; the store's record of its hunt |
| Rewards you won: a copy of the reward, its single-use Shopify discount code and its state | Giving you your reward and letting you use it |
| Claim attempts: treasure, outcome, time | Preventing abuse; answering questions about a claim |
| Short-lived counters of how often you tried something (claiming, joining, entering an access code, applying a reward) | Preventing abuse |
How long it is kept
Records are deleted automatically, once a day:
- claims and hunt participation: 120 days after the hunt ends;
- claim attempts: after 120 days;
- short-lived counters: after 2 days;
- rewards you won: kept while you can still use them. Once 120 days have passed since the hunt ended, a reward is deleted only after Shopify confirms its discount can no longer be used (expired, used, or removed). Huntry doesn't delete the discount itself: it stays in the store's Shopify admin as the store's record;
- location consent records: until the store or the player asks for deletion, or the store uninstalls Huntry.
A deletion request or an uninstall deletes the data whatever these periods, as described under "Your rights" and "What Huntry stores about merchants".
Your location
While you play, the hunt page uses your phone's location on your phone to show where you are and how close you are to each treasure. Huntry asks for your consent first, and you can withdraw it on the hunt page at any time.
Your position is sent to Huntry only when you claim a treasure, to check that you are close enough. That position is used for the check and not stored. However, the records above show that you claimed a particular treasure at a particular time, so they reveal roughly where you were then. They are kept and deleted as described above.
Automatic claim checks
When you claim a treasure, Huntry checks automatically whether the claim counts: that you are within the treasure's claim radius, that your phone's location reading is accurate enough, that you couldn't have travelled from your last claimed treasure faster than is possible, and that the hunt's claim limits allow it. The check decides only whether that claim is accepted. Huntry doesn't use your data to build a profile of you for any other purpose.
The map
Your browser loads the map directly from the map service the store chose. Huntry's servers never send your position, your customer ID or anything else about you to either service. The map runs in your browser and draws your position there. As with any website, the map service receives your IP address, your browser's details and the area of the map you view, which is usually around where you are.
- OpenFreeMap, the free default map service bundled with Huntry, operated by Hyperknot Software Kft., Hungary, under its own privacy policy. It states that its access logs do not contain IP addresses, that error logs may contain them and are deleted after 7 days, and that it may use Cloudflare to deliver the map.
- Google Maps, only if the store chose it instead, using the store's own Google Maps API key and Map ID (Google charges the store for it), under Google's Privacy Policy.
What Huntry stores about merchants
- The store's Shopify domain, name, time zone, currency and Shopify plan, and the store's Huntry plan usage.
- The store's Shopify access token, used to create reward discounts and to save images in the store's own Shopify Files. No staff names; the only email address is the owner's (below).
- The shop owner's email address, as Shopify gives it to Huntry, used only to send notices about Huntry's terms, the Data Processing Agreement and security. It is refreshed when the store signs in to Huntry again and when it accepts the terms.
- What the merchant sets up: hunts, treasures, rewards, sponsors and settings. Access codes are stored only in a one-way protected form (a hash). Images stay in the store's Shopify Files; Huntry stores only their IDs.
- If the merchant chooses Google Maps, the Google Maps API key and Map ID they enter. The key appears in the pages that use it, as with any website map, and map use is billed to the merchant's own Google account.
- A record that the store accepted the Terms of Service and the Data Processing Agreement: the version of each, when, and the ID of the Shopify staff account that clicked Accept.
Kept while Huntry is installed. When a store uninstalls Huntry, its Shopify sign-in sessions are deleted as soon as Shopify notifies us of the uninstall. About 48 hours later, Shopify asks us to erase the store's data, and we delete the store's Huntry data: its hunts, treasures, rewards, settings and players' records. If the store appears to have reinstalled Huntry, or the uninstall can't be confirmed, nothing is deleted until a person has checked. Discounts Huntry created stay in the store's Shopify admin, as the store's own records. We keep a record of each privacy request we handled (the store, the type of request, the dates and the outcome; once the request is handled, without customer IDs) for as long as we need it to show that we handled the request, including to establish, exercise or defend legal claims. Server logs expire on their own schedule (see "Where the data is kept"). Point-in-time recovery and scheduled backups are not enabled for Huntry's database.
Where the data is kept, and who receives it
- Google Cloud / Firebase, Huntry's hosting provider: the database and servers are in the European Union (Belgium, region europe-west1). Huntry's web files are served from Google's global network, and server logs are stored as described below. Google processes this data under Google's data processing terms for Google Cloud and Firebase. Where Google transfers data outside the EEA, it relies on the safeguards in those terms, such as the EU Standard Contractual Clauses, as set out in Google's Cloud Data Processing Addendum and Firebase Data Processing and Security Terms.
- Shopify: the store, its customers, orders and the reward discounts themselves live in Shopify, under Shopify's own privacy policy.
- Map services: OpenFreeMap or Google Maps, as described under "The map".
- Server logs, kept by Google Cloud for running and securing the service: Huntry's own log entries contain no customer IDs, access codes or discount codes. The hosting platform's standard request logs can record the full web address of each request, and for hunt pages that address includes the customer ID Shopify adds to it. These logs are kept in Google Cloud Logging's default log storage, whose location is global (not limited to the EU), and are deleted automatically after 30 days.
We do not sell personal data, use it for advertising, or share it with anyone other than the recipients above, unless the law requires us to.
Cookies and browser storage
Huntry itself sets no cookies; the store's own pages may (see the store's privacy policy). Huntry's pages keep a few technical items in your browser's own storage: that you have seen a hunt's welcome message, a claim in progress, a copy of the hunt map's layout so it opens faster, and a short-lived copy of your reward list. They stay on your device and you can clear them in your browser. The map layout and the note that you've seen the welcome message stay until you clear them; the claim in progress and the copy of your reward list last only while the browser tab is open. If the store uses Google Maps, Google may set its own cookies or use browser storage, under Google's Privacy Policy.
Your rights
Depending on the circumstances, you have the right to get a copy of your data, to have it corrected or deleted, to restrict its use, to object to its use where it is based on legitimate interests, and to receive it in a machine-readable format where the law gives that right. You can withdraw your location consent at any time on the hunt page; this doesn't affect claims you made before.
Your hunt data: ask the store you played with. The store sends such requests to us at support@huntry.io, with the store's address and your Shopify customer ID; requests Shopify forwards to Huntry are handled the same way. We answer within 30 days: a data request with everything Huntry holds about you in that store, a deletion request by deleting it, unless the law requires us to keep it. Any reward you could still use is switched off in Shopify first; the switched-off discount stays in the store's Shopify admin as the store's record. If you write to us directly about this data, we will pass your request to the store.
NYTT AB's own records (server logs, records of privacy requests): write to us at support@huntry.io.
You may complain to a data protection authority. In Sweden this is IMY (Integritetsskyddsmyndigheten, imy.se).
Security
Data is sent over HTTPS, kept in a database that browsers cannot write to, and separated per store. Huntry stores only what it needs to run a hunt, as listed above.
Changes
We will update this page when Huntry's data practices change.
See also the Data Processing Agreement.