Nativtap ("Nativtap", "we", "us") provides a Shopify app that lets merchants build, preview and publish native iOS shopping apps for their stores. This policy explains what data we handle, why, where, for how long, and the choices you have. It covers our website (nativtap.com), the Nativtap app in the Shopify admin, the free store preview tool on our website (section 12), the early access form on our website (section 13), and the iOS apps that merchants build and publish with Nativtap ("merchant apps").
1. Our role
- For merchants who install Nativtap, we are the controller of the account and usage data described in section 2.
- For shoppers who use a merchant app, the merchant (the store) is the controller of their data. Nativtap processes that data on the merchant's behalf to run the app, under the data processing addendum that applies to every merchant. Questions about a store's own data practices should go to that store. The App Store listing of each merchant app links to the store's privacy policy.
- For visitors who use the store preview tool or the early access form on nativtap.com, we are the controller of the data described in sections 12 and 13.
2. Data about merchants
- Store information from Shopify: shop domain and name, time zone, currency, granted permissions, installation status, and the access tokens needed to call Shopify APIs (kept in our managed database, which DigitalOcean encrypts at rest).
- Store content: catalog, collections and branding read from Shopify, plus the app designs, images, links to YouTube videos, push campaigns and discounts you create in Nativtap.
- Apple credentials you provide: App Store Connect API key and Apple Push Notification service (APNs) key, with their Team, Issuer and Key IDs. Keys are stored encrypted. We use them to create certificates, profiles and identifiers for your app, build and upload it, manage your App Store listing, read your app's install numbers and App Store Connect status, and send notifications. Nativtap also creates a code-signing certificate and private key for your app and stores them encrypted. We never ask for your Apple ID password.
- App Store listing details: app name, description, keywords, screenshots, support and privacy URLs, and App Privacy answers.
- Editor preview: the editor preview in the Nativtap admin loads fonts from Google Fonts, so Google receives your IP address when you preview a Google font.
- Usage and diagnostics: how you use the Nativtap admin (for example, which setup steps you complete), identified by a random shop identifier, and technical logs of our servers.
- Communications: messages you send to our support team and the emails we send you about your apps.
3. Data about shoppers using merchant apps
Data Nativtap servers do not store
When a shopper signs in, their name, email address, shipping addresses and order details are loaded directly from Shopify into the app on their device. Nativtap does not store this information. We design our analytics, logs and crash reports so that it is not included; crash reports are scrubbed on the device before they are sent. During sign-in and account deletion, the sign-in redirect and the customer's session token pass through our API; we do not store or log them. Shopify's privacy webhooks (customer data requests and erasure) can carry fields such as an email address or phone number to our API, and we drop them before processing.
Data Nativtap processes
- App usage events: app opens, products added to cart, checkout started and completed, notification opens and similar events, which carry product and variant IDs, quantities, a cart identifier and, where an event is linked to a notification, the campaign ID, linked to a random identifier generated on the device. These events do not contain names, emails, phone numbers, customer IDs or order IDs. We do not use the advertising identifier (IDFA), we do not show the App Tracking Transparency prompt, and we do not track shoppers across other companies' apps or websites.
- Push notification data: the device's push token, notification permission status, app version, time zone and last-active time (the Nativtap Preview app, which merchants use for testing, also records the device model), used to deliver the store's notifications.
- Orders placed through the app: Shopify order ID, order total, currency and the campaign that led to the order, so the merchant can see sales generated by the app. We do not receive the buyer's name, email, address or phone number with the order.
- Cart reminders: a hashed cart identifier, whether the cart is empty and the time of the last cart change, kept for up to 7 days in a short-lived cache.
- Technical request data: IP address and request details in server logs and short-lived rate-limit counters.
- Wishlist: stored in the shopper's account on Shopify when signed in, or only on the device when signed out. Nativtap does not keep a copy.
- Account deletion requests: the Shopify customer ID and request status, kept only while the request is processed and for a short time after (see sections 6 and 7).
- Crash reports: technical information about app errors (device model, iOS version, app version, stack trace) and basic app health data such as sessions and start-up timing. The app is set not to send personal data and scrubs events before they leave the device.
YouTube videos in merchant apps
A merchant can add YouTube videos to their app. The app shows a cover image stored by Nativtap and does not contact YouTube until the shopper taps Play. The video then plays in YouTube's embedded player in privacy-enhanced mode (youtube-nocookie.com), loaded by the shopper's device directly from YouTube, which receives the shopper's IP address, device and playback information under the Google Privacy Policy. The player keeps no cookies after it is closed. Nativtap does not receive this information. Merchant apps play these videos through YouTube API Services, subject to the YouTube Terms of Service.
4. How we use data
- To provide the service: sync the store catalog, render and update the app, process checkout through Shopify, send notifications and show analytics to the merchant.
- To build and publish apps to the App Store on the merchant's behalf.
- To keep the service secure and reliable, investigate errors and prevent abuse.
- To improve Nativtap using aggregated usage of the Nativtap admin by merchants (no shopper data).
- To run the store preview tool: send the verification code and the result, limit how often the tool can be used, and count how many visits reach each step (section 12).
- To answer early access requests sent with the form on nativtap.com/early-access, and to limit how often the form can be sent (section 13).
- To comply with legal obligations and with Shopify's and Apple's platform requirements.
We do not sell personal data, we do not share it for advertising, and we do not use it for automated decisions that have legal or similarly significant effects on a person.
5. Subprocessors and where data is processed
Our application servers and databases run on DigitalOcean in Singapore; file storage runs on Cloudflare R2. We share data only with the subprocessors below, which help us run Nativtap.
| Subprocessor | Purpose | Data involved | Location |
|---|---|---|---|
| Shopify | Store data, product catalog, customer accounts, checkout and orders; delivers the compliance webhooks (data requests, erasure, uninstall). | Merchant store data; shopper account data stays between Shopify and the shopper's device. | Provider-managed |
| Apple | App Store distribution, TestFlight, code signing and push notifications (APNs). | App binaries and listing details; push tokens and notification payloads. | Provider-managed |
| DigitalOcean | Application hosting, managed databases and queues. | All data described in this policy except what stays on shoppers' devices. | Singapore |
| Cloudflare | Website hosting; sending transactional email to merchants and to visitors of the store preview tool, and early access requests to our support inbox; file storage (R2) with a content delivery network for published app content and uploaded images. | Website requests; merchant and visitor email addresses, store addresses sent with the early access form, and message content; published app configuration and images merchants upload. | Provider-managed |
| Sentry | Crash reports and app health data (sessions, app start timing and a small sample of performance traces) from the iOS apps built with Nativtap. | Device model, iOS version, app version, stack trace, a short trail of app actions, and the app and store identifiers. The app is set not to send personal data and scrubs events before they leave the device. | Provider-managed |
| PostHog | Lifecycle events about merchants' use of Nativtap (for example installed, first preview, app live, uninstalled); step counts of the store preview tool. | Usage events identified by a random shop identifier; no shopper data. Store preview tool events are linked to a random session identifier and carry no email address, IP address or store address. | United States |
| PostHog (app analytics) | Usage analytics of the merchant's app (app opens, cart and checkout steps, push opens, website banner taps). | Events identified by a random device identifier, or the store for banner taps; no names, emails, IP addresses or order IDs. | United States |
| OpenRouter, and the model provider it routes a request to | Designs three sample looks for the preview of a store in the store preview tool, and writes their sample notifications. | The public catalog of the store only: store name, brand colours, product names, types, tags, options and prices, collection names, the look of its public home page (colours, font names and corner sizes) and one picture of the top of that page as a phone shows it, smaller copies (512 pixels at most) of up to six large pictures shown on that page, and small copies (256 pixels, without photo metadata) of the store's logo and of three product photos. Never product descriptions or reviews, the visitor's email address, IP address or the store address. | Provider-managed |
| Brevo | Email updates about Nativtap, sent only to visitors of the store preview tool who tick the consent box. | Email address, store name and the link to the visitor's preview. | Provider-managed |
| GitHub (GitHub Actions) | Builds and packages the iOS apps that merchants publish. | Build inputs for each app in the run: app configuration, images, the code-signing material for that build and the App Store Connect key used to upload it. One build run can include apps from several merchants, built one after another. | Provider-managed |
| Slack | Operational alerts for our team (errors, queue and uninstall notices). | Identifiers and counts only; no shopper data. | Provider-managed |
Some providers may process data in other countries, including the United States. We may also disclose data if required by law or to protect the rights and safety of our users and the public. When we add or replace a subprocessor we update this table.
6. Deleting a shopper account
Merchant apps let shoppers delete their account from inside the app. When a shopper requests deletion:
- the shopper is signed out of the app, and the store account is disabled as soon as the request reaches Shopify;
- we ask Shopify to erase the shopper's personal data (name, email, addresses and wishlist). The store keeps past orders for its records, with personal details removed;
- deletion usually completes in about 10 days. If the shopper placed an order in the last 180 days, Shopify may wait until 180 days after that order before erasing the data;
- the app shows when deletion is complete. We delete our record of the request 30 days after it completes.
7. Data retention
| Data | How long we keep it |
|---|---|
| App usage events | Individual event records: kept by our analytics provider; they cannot be linked to a shopper. Daily counts: kept while Nativtap is installed, deleted on shop erasure. |
| Account deletion requests (shopper customer ID and status) | 30 days after it completes. For requests that failed or were cancelled: 30 days after the last change. |
| Store data (settings, designs, listing, order summaries, push tokens, daily usage counts) | Kept while Nativtap is installed. After a merchant uninstalls, Shopify sends a deletion request (shop/redact, about 48 hours later) and we delete the store's data from our databases and file storage. If that request never arrives, we delete it about 30 days after the uninstall. This does not cover a short log of operator actions (who did what and why, for example a store lock), lifecycle events already sent to PostHog under the random shop identifier, crash reports already sent to Sentry, and alerts already sent to Slack; those are kept by those providers under their own retention. Anonymous app usage events already sent to PostHog (identified by a random device identifier, or by the store for website banner taps) are not deleted per shop, because they cannot be linked to a shopper; PostHog keeps them under its own retention. Backups are not edited and expire as they rotate. The managed PostgreSQL database keeps a point-in-time recovery window of 7 days. |
| Webhook payloads from Shopify | Not stored in our databases. A payload exists only inside a background job and is removed when the job finishes; a job that fails keeps it for up to 7 days. |
| Store preview tool (sessions, previews and the images copied for them) | Deleted about 30 days after the session starts. Verification codes expire after 10 minutes. A contact stored in Brevo because the visitor ticked the consent box is kept until the visitor unsubscribes. Step counts already sent to PostHog and emails already delivered are kept by those providers under their own retention. Backups are not edited and expire as they rotate. |
| Push tokens | Removed when Apple reports them as invalid, or when the store's data is deleted. |
| Support messages | As long as needed to resolve the request. |
| Early access requests | The email in our support inbox: as long as needed to answer the request and, if the store installs Nativtap, to support it. The counters that limit the form: deleted automatically within 2 days. |
8. Your rights
Depending on where you live (for example under the GDPR or the CCPA), you may have the right to access, correct, delete or export your personal data, and to object to or restrict certain processing.
- Merchants: contact us at the address below.
- Visitors of the store preview tool: contact us at the address below.
- Visitors who sent the early access form: contact us at the address below.
- Shoppers: contact the store you shopped with. Stores can send us data requests through Shopify, and we process Shopify's customer data request and redaction webhooks. For a data request we tell the store which order records we hold for the customer; for a redaction we remove the customer's order IDs from our order records. You can also delete your account inside the app (section 6).
9. Security
Traffic to nativtap.com, the Nativtap app and the Nativtap API uses HTTPS (TLS). Apple keys and signing certificates are additionally encrypted by the application (AES-256-GCM) before they are stored. Our Managed PostgreSQL database is encrypted at rest by DigitalOcean, and our Cloudflare R2 file storage is encrypted at rest by Cloudflare. No system is perfectly secure, but we work to protect the data we handle and will notify affected users and, where required by law, the authorities.
10. International transfers
Where data is transferred across borders, we rely on the transfer mechanisms our providers make available where the law requires them.
11. Children
Nativtap is a business service and is not directed to children. Merchant apps are shopping apps and are not intended for children under 13 (or the minimum age in your country).
12. Store preview tool
The page nativtap.com/preview lets anyone see how their Shopify store would look as a Nativtap iOS app. It is free, it does not install anything on the store, and it never asks for a store password or an admin login. We are the controller of the data below.
What we collect
- Your email address, to send you a 6-digit code and, when the preview is ready, a link to it.
- The store address you enter.
- The public catalog of that store, read the way any visitor of the store would see it: store name, logo and brand colour, products (names, types, tags, prices, images) and collections (names and images), plus product descriptions, options and images, and public ratings and reviews shown on the store's product pages (reviewer names shortened to a first name and initial). The images are copied to Nativtap's image storage so the preview can show them.
- The look of the store's public home page and one picture of its top as a phone shows it: we open the page once, without logging in and without keeping cookies, and we do not keep that picture. Up to six large pictures shown on the page (banners and similar) are copied to Nativtap's image storage too, and smaller copies of them are sent to OpenRouter as described below.
- The preview we build from that catalog. When you click Apply, we also record which of the three sample looks was on screen.
- A one-way code of your IP address. We turn the address into a keyed hash (HMAC, with IPv6 addresses grouped by their /64 network) and keep only the hash, so we cannot read the address back. It is used only to limit how many codes and previews one connection can request.
- The campaign tags (UTM parameters) of the link you used to reach the page.
We do not read the store's customers, orders or inventory. We never publish a preview to the App Store or anywhere else, and we do not change anything in the store.
Why we use it
- To send you the verification code and the result.
- To prevent abuse: the codes and previews one email address, or one connection (by its IP hash), can request are limited.
- To count how many visits reach each step of the tool. These counts carry no email address, IP address or store address.
Who processes it
- Cloudflare (Email Service) sends the code and result emails, so it handles your email address and the message.
- OpenRouter and the model provider it routes the request to receive only the public catalog of the store (store name, brand colours, product names, types, tags, options and prices, and collection names), the look of its public home page (colours, font names and corner sizes) and one picture of the top of that page as a phone shows it, smaller copies (512 pixels at most) of up to six large pictures shown on that page, and small copies of the store's logo and of three product photos (256 pixels, without photo metadata), so that a model can design three sample looks of the preview, check whether those pictures carry words, and write their sample notifications. They never receive product descriptions or reviews, your email address, your IP address or the store address.
- Brevo receives your email address, your store name and the link to your preview only if you tick the box that asks whether we may send you updates about Nativtap. If you do not tick it, Brevo gets nothing. Every email we send has an unsubscribe link.
- PostHog receives step events of the tool, linked to a random session identifier, without your email address, IP address or store address.
Our servers and storage (section 5) hold the rest. All of these providers are listed in the table in section 5.
How long we keep it
Verification codes expire after 10 minutes. The session, the preview and the copied images are deleted about 30 days after the session starts. If you ticked the consent box, your contact stays in Brevo until you unsubscribe. Step counts already sent to PostHog and emails already delivered are kept by those providers under their own retention.
13. Early access form
The form on nativtap.com/early-access lets a store owner ask for early access to Nativtap. We are the controller of the data below.
What we collect
- Your email address, so we can reply.
- Your store's myshopify.com address, if you give it, so we can prepare the install steps for that store.
- A one-way code of your IP address and of your email address. As in section 12, we keep only a keyed hash, which we cannot read back, and use it only to limit how often the form can be sent. These counters are deleted automatically within 2 days.
What happens to it
When you press the button, the Nativtap API sends your email address, the store address and the time to our support inbox as one email, through Cloudflare (section 5). We do not store the request in our database, do not add you to a mailing list and do not share it with anyone else. If you prefer, you can email support@nativtap.com instead of using the form.
How long we keep it
The email stays in our support inbox as long as needed to answer your request and, if your store installs Nativtap, to support it. You can ask us to delete it at the address in section 16.
14. Cookies and network requests on this website
The pages of nativtap.com set no cookies of their own and load no analytics or third-party resources. Our hosting provider may set a security cookie.
Most pages make no network requests after they load. There are two exceptions. The page nativtap.com/preview calls the Nativtap API at api.nativtap.com to run the store preview tool and shows product images from Nativtap's own image storage. The page nativtap.com/early-access calls the same API only when you press the button that sends the early access form. Neither page sets cookies or has third-party analytics.
15. Changes to this policy
We may update this policy as the service changes. We will post the new version on this page with a new "Last updated" date and, for significant changes, will try to notify merchants, for example by email or in the Nativtap admin.
16. Contact
Questions or requests about privacy: support@nativtap.com.