Privacy Policy

    Last updated: October 2026

    What we collect

    We collect your email address, store data from your connected Shopify store including orders, products, and inventory levels, advertising spend data from connected ad platforms, and, through Safwa's own Shopify web pixel, how visitors move through your storefront and checkout (see Storefront & checkout analytics). We do not collect payment card information. If you fill in our founding cohort form, what it collects is described under Founding cohort form.

    Your customers' data

    To attribute orders and calculate per-order profitability, Safwa stores limited personal information about your customers that Shopify provides with each order: name, email address, phone number, and the address an order shipped to. Where your courier returns delivery details with a tracking or settlement update — such as the address a parcel went to, or the name of the person who received it — that response is stored too. We do not store payment details. This information is used only to link orders to repeat customers and to reconcile deliveries and courier charges, and is never sold, shared, or used for advertising.

    Erasure requests

    • Individual customer. When a shopper asks you to erase their data, Shopify notifies Safwa automatically and we delete that person's record. The order itself is kept as your financial record, but it is detached so it no longer identifies anyone.
    • Whole store. 48 hours after you uninstall Safwa, Shopify notifies us and we delete all of your customers' personal information.
    • Data requests. If a shopper asks what you hold on them, Shopify notifies us and we provide it so you can respond within the required window.

    Storefront & checkout analytics

    When checkout analytics is switched on for your store, Safwa adds its own web pixel, which you can see under Settings > Customer events in your Shopify admin. It shows you where shoppers leave your checkout and why: which step, which field, which checkout error, and whether a delivery charge appeared just before they left.

    What the pixel records

    • Pages and products viewed, items added to the cart, and each checkout step reached, with the time of each.
    • Which checkout fields were used, whether a field was left empty, and the type of any checkout error Shopify showed — never what was typed.
    • The delivery option chosen and its price, the order subtotal and total, the payment method type, the country Shopify reports for the checkout, and whether the order is the customer's first with your store.
    • The landing page's path with only its campaign tags (UTM parameters and ad click identifiers), the referring website's domain, the browser family, the operating-system family, the device type (phone, tablet or computer), whether the page was opened inside an app's built-in browser (for example Instagram's), and the window size and scroll position.
    • An identifier Shopify sets for the shopper's browser, so a visit's steps can be put in order, and the order's ID when a checkout completes, so the visit can be matched to the order Safwa already holds. The browser identifier also lets Safwa count orders placed from one browser for different customers (a sign of orders entered by staff) and erase all of a browser's visits on request; reports show counts, never one browser's visits listed together.

    The browser identifier is pseudonymous personal data: it names no one, but it can single out a browser, which is why it is covered by erasure and data-access requests like any other personal data.

    What it never records

    Names, email addresses, phone numbers, postal addresses, discount codes, anything a shopper types into a field, payment details, or full page addresses. These are removed in the shopper's browser before anything is sent, and again on our server before anything is stored.

    Request logs

    When a shopper's browser sends these events, our hosting provider, Supabase, records standard request logs: the browser's IP address, user agent, TLS fingerprint, internet provider and approximate location (city and postal code). Safwa does not copy these into its database; Supabase keeps them for a limited period.

    Consent

    The pixel is registered with Shopify as analytics only — not marketing, and not a sale of personal data. Shopify runs it only for visitors whose privacy choices allow analytics: where consent is required, it records a page's events only after the shopper accepts analytics, and elsewhere it stops as soon as they opt out. Safwa never uses this data for advertising and never sends it to advertising platforms.

    Retention and erasure

    • Kept for 60 days: each day's recorded events, the visits built from them and their daily totals are deleted once they are 60 days old. Collection stops at once when you uninstall.
    • Individual customer. When Shopify tells us a shopper asked to be erased, we delete, within 7 days, the recorded visits from every browser that completed one of that shopper's orders.
    • Whole store. When Shopify notifies us (48 hours after you uninstall), we delete all of your store's pixel visit records, and the daily totals built from them, within 7 days.
    • Test data. Safwa runs an automated daily check on its own test store that sends invented test events; they are normally deleted the same day.

    How we use your data

    Your data is used solely to calculate and display profit analytics for your store. We do not sell your data to third parties. We do not use your data for advertising purposes. What you give us in the founding cohort form is used as that section describes.

    Data storage

    Your data is stored securely using industry-standard encryption. We use Supabase for data storage with servers located in Singapore.

    Third-party services

    We connect to Shopify, Meta Ads, and Google Ads on your behalf. We never create, change or delete campaigns, ads, budgets or bids in those platforms — Safwa reads your advertising results; it does not run your advertising. Two of the permissions Meta's consent screen lists — managing ads, and managing your business portfolio — would allow that, and we do not use them for it: they are what lets us list the ad accounts you have access to, under the business portfolio that owns them, so you can choose which ones to connect. Safwa writes in two places only. If you enable Cancelled-order sync (off unless you switch it on), Safwa tells Google Ads when an order you cancelled was counted as a sale; that is described in the next section, along with everything else we do with Google data. And in your Shopify store, Safwa adds its own analytics pixel, described under Storefront & checkout analytics; it never changes your orders, products, customers or theme.

    Google user data

    Safwa uses Google OAuth in two places: to connect your Google Ads account, and optionally to sign in to Safwa with your Google account. This section describes exactly which Google user data each one touches, how we use it, where it is kept, and how you take it back. Safwa's use and transfer to any other app of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.

    What we access

    • Google Ads data (scope https://www.googleapis.com/auth/adwords). When you connect Google Ads we read the list of Google Ads accounts your Google login can access and their names, so you can pick the one to sync. For the account you pick we then read performance data on a schedule: campaign, ad group, ad, placement and search-term metrics (cost, impressions, clicks, conversions and conversion value), the names of your conversion actions, and each ad's tracking template and final URL. Google Ads has a single API scope with no read-only variant. Safwa uses it to read, and — only if you turn on Cancelled-order sync — to correct conversions you have already cancelled. It never creates, edits, pauses or deletes campaigns, ad groups, ads, budgets, bids or audiences in your Google Ads account.
    • Cancelled-order sync (optional, and off unless you turn it on). Cash-on-delivery stores cancel a large share of orders before they ship, but Google Ads has already counted those orders as sales — so its automated bidding keeps buying more of the traffic that produced them. With your permission, Safwa sends Google a conversion adjustment (a “retraction”) for orders you cancelled in Shopify, so Google stops counting a sale that did not happen. We send only the order number, the conversion action it belongs to, and the time of the correction. We never send customer details. We send nothing for orders that were delivered or are still in transit. This changes reporting and bidding signals only — it never changes your campaigns, budgets or bids. Only an account owner can turn it on, we record who turned it on and when, and you can turn it off at any time in Safwa. Note that a retraction is permanent: Google does not let it be undone, so corrections already sent stay sent.
    • Basic account information (scopes openid, email, profile). When you connect Google Ads we store the email address and Google user ID of the Google account you used, so the Ad Spend settings page can show which account is connected. If you sign in to Safwa with Google, we receive your email address, name and profile picture to create and identify your Safwa login. If you sign in before we have set up your store, we also use that email address and name to fill in the founding cohort form for you.

    How we use it

    Only to calculate and show your own analytics inside Safwa: ad spend against cash, ROAS on delivered orders, and per-order, per-product and per-campaign profit; and, from Google sign-in, your email address and name, to identify your login and to fill in the founding cohort form for you as described above. What you then save in that form is handled as set out under Founding cohort form. Google data is never used for advertising, never sold, never used to train models, and never shared with any third party. Our hosting provider (Supabase, on AWS in Singapore) stores it on our behalf and has no other access to it. Humans at Safwa read it only to support you when you ask, or to investigate a security incident.

    How we store it

    OAuth tokens and synced Google Ads data are stored in our Supabase database in Singapore, encrypted at rest and in transit. The tokens are readable only by our server-side sync jobs, never by the browser, and are not written to logs. Synced performance data is retained while your subscription is active so historical ROAS stays available, and is deleted within 30 days of account termination or on request.

    How to revoke access, and what happens then

    • Inside Safwa: Ad Spend → Configuration → Disconnect. Safwa immediately revokes its token with Google and deletes the stored credentials.
    • At Google: myaccount.google.com → Security → "Third-party apps & services" → Safwa → Remove access. Our next scheduled sync (within 12 hours) sees the revoked grant, stops, and deletes the stored credentials.
    • Either way, the spend history already in your dashboard stays until you delete your Safwa account or ask us to remove it at [email protected].

    Meta user data

    Safwa uses Facebook Login for Business to connect your Meta Ads account. This section describes exactly which Meta data we touch, how we use it, where it is kept, and how you take it back. Safwa reads; it never manages. We do not request the permissions that would let us create, edit, pause or spend on your ad accounts.

    What we access

    • Ad performance (permission ads_read). We read the list of ad accounts your Meta login can access and their names, so you can pick which to sync, and each account's currency. For the accounts you pick we then read daily performance on a schedule, per ad and per placement: spend, impressions, reach, frequency, clicks, link clicks, CPM, CPC, and the aggregate action counts and values Meta reports against each ad. We also read your ads' tracking parameters and destination links so spend can be matched to the orders it produced.
    • Your Facebook name and user ID (granted with login). Shown on the Ad Spend settings page so you can see which account is connected, and used to recognise your account if Meta later tells us you have removed Safwa or asked for your data to be deleted.
    • Your Pages (permissions pages_show_list and pages_read_engagement). An ad boosted from an existing Page post carries no link of its own — the destination lives on the post. We list your Pages and read the destination of the posts your ads promote, so boosted-post spend can be attributed like any other ad. We do not read your Page's messages, comments, followers or audience.

    We receive no personal data about your shoppers from Meta: no Meta Pixel event data, no customer-level conversion events, and no Custom Audience member lists. The action figures we store are the aggregate per-ad, per-day counts Meta returns — never individual people.

    How we use it

    Only to calculate and show your own analytics inside Safwa: ad spend against cash, ROAS on delivered orders, and per-order, per-product and per-campaign profit. Meta data is never used for advertising, never sold, never used to train models, and never shared with any third party or with other Safwa customers. Our hosting provider (Supabase, on AWS in Singapore) stores it on our behalf and has no other access to it. Humans at Safwa read it only to support you when you ask, or to investigate a security incident.

    How we store it

    Access tokens, Page tokens and synced Meta Ads data are stored in our Supabase database in Singapore, encrypted at rest and in transit, and scoped by row-level security so one merchant's data is unreachable from another's account. The tokens are readable only by our server-side sync jobs: the database withholds those columns from the browser entirely, so they cannot be read by your own logged-in session, and they are not written to logs. Synced performance data is retained while your subscription is active so historical ROAS stays available, and is deleted within 30 days of account termination or on request.

    How to revoke access, and what happens then

    • Inside Safwa: Ad Spend → Configuration → Disconnect. Safwa revokes its access with Meta and deletes the stored credentials. Spend stops syncing immediately; the ad history already in your dashboard stays, and you can reconnect at any time.
    • At Facebook: Settings & privacy → Settings → Apps and websites → Safwa → Remove. Meta notifies Safwa, and we delete the stored credentials and stop syncing without waiting for the next scheduled run.
    • Deleting the data itself: removing the app also lets you send a data deletion request from the same Facebook screen. That deletes the advertising data we received from Meta on your behalf — your ad accounts, campaigns, ad sets, ads, their daily spend and results, and the tokens — and returns a confirmation code you can check at safwa.io/data-deletion. Your own store's orders and costs belong to you and are not affected. You can also email [email protected] and we will action it by hand.

    Founding cohort form

    While we onboard our first stores by hand, you can ask to join our founding cohort at safwa.io/founding. This section covers that form only.

    What it collects

    • What you type in: your name, email address, phone number, country, your Shopify store's admin link and its website.
    • If you are signed in to Safwa, the form fills in your account's email address, and the name your sign-in gave us, for you. You can change them, and they are saved only as your own answers are, when you leave the field or move on. If you sign out, your browser's copy of them is removed.
    • The problems you pick from the list, and anything you write in the “Something else” box.
    • How you reached the form: which version of our home page you saw, the campaign tags in the link you followed to Safwa (utm_source, utm_medium and utm_campaign), and the name of the website that sent you to us, if there was one. Your browser keeps the tags and that name for the visit only, so they are recorded even when you open the form from another of our pages. These are recorded without being shown on the page.
    • To limit how many forms one connection can start in an hour, a scrambled code made from your network (IP) address. Your address itself is never stored, the code cannot be turned back into it, and it is deleted about two hours after you start the form.

    Saved as you type

    The form saves each answer as you fill it in, before you press send, so that we can still contact you if you stop part way through. Your browser also keeps a copy of your answers on your own device, so you can pick up where you left off; clearing this site's data in your browser removes that copy.

    How we use it

    Your answers are used to contact you about setting up Safwa, and how you reached the form tells us which of our pages and links bring people to it. When you send the form, or if you leave it part way with an email address or phone number filled in, your details are emailed to Safwa's founders through our email provider so that one of them can get in touch. When you send the form, we also email you a short thank-you at the address you gave, from a founder's address; it repeats your store, the last four digits of your phone number and the problems you picked, and replying to it reaches that founder. Your details are stored in the same database as the rest of Safwa's data (see Data storage). We do not sell them, share them with anyone else, or use them for advertising.

    Having it deleted

    Email [email protected] with the email address or phone number you used in the form, and we will delete what you gave us.

    Data deletion

    You can request deletion of all your data at any time by emailing [email protected]. We will permanently delete your account, store data, order history, and all connected platform data within 30 days. To disconnect Safwa from your Shopify store, uninstall the app from your Shopify admin — syncing stops immediately, your customers' personal information is deleted automatically 48 hours later, and the storefront visit records collected by Safwa's pixel are deleted within 7 days after that.

    Data retention

    • Shopify store data: Retained while your subscription is active. Deleted within 30 days of account termination.
    • Google Ads data: Retained for the duration of your subscription for historical ROAS analysis. Deleted within 30 days of termination.
    • Meta Ads data: Retained for the duration of your subscription. Deleted within 30 days of termination.
    • Courier data (Leopards, PostEx, etc.): Retained for 90 days minimum to settle billing disputes. Deleted within 30 days of account termination.
    • Storefront and checkout analytics (Safwa's pixel): Kept for 60 days, then deleted (events, visit records and daily totals); collection stops at uninstall. Visit records are deleted within 7 days of Shopify's store-deletion notice, and per shopper within 7 days of an erasure request.
    • We do not use your data to train machine learning models or build aggregated analytics products.

    Contact

    For privacy questions: [email protected]

    Mailing address
    Safwa — Office # 01, Falcon Complex, Malir Cantt, Karachi, Pakistan