CarpeMessaging
Request early access

Carpe Messaging Privacy Statement

Last Updated: November 7, 2026
Effective Date: November 7, 2026


Preamble

Carpe Messaging ("we," "us," or "our") is operated by Carpe Per Diem, Inc. We are committed to protecting privacy and to being transparent about how information is handled. This Privacy Statement explains how information is collected, used, stored, disclosed, and protected when you use our email and text message marketing platform for Shopify merchants (the "Service").

Carpe Messaging is a sending platform. Merchants use it to send email and text messages to people who have given that merchant permission to contact them. That fact shapes everything in this document. We hold two distinct kinds of information, and we hold them in two distinct legal capacities: information about the merchants and staff users who operate the Service, which is ours to govern; and information about those merchants' own customers and subscribers, which is the merchant's to govern and which we process only on that merchant's documented instructions. Section 1 explains this division, and it is the key to reading the rest of this statement.

Text messaging is being introduced to the Service. The commitments in this statement bind it from its first message. Where a practice differs by channel, the difference is stated.

By using Carpe Messaging, you agree to the collection and use of information in accordance with this statement. If you do not agree, you should not use the Service.

This Privacy Statement is incorporated into, and forms part of, our Terms of Service, and should be read together with our Sending Policy and our Text Message Policy, which govern who may be contacted through the Service and how, by email and by text message respectively.


Table of Contents

  1. Our Two Roles: Controller and Processor
  2. Information We Collect
  3. How We Collect Information
  4. How We Use Your Information
  5. Consent: How It Is Captured, Recorded, and Enforced
  6. Our Anti-Spam Commitment
  7. Tracking, Analytics, and Cookies
  8. Data Storage and Security
  9. Data Retention and Deletion
  10. Sharing and Disclosure of Information
  11. Sub-Processors
  12. Shopify-Specific Data Handling
  13. Your Privacy Rights
  14. Rights of Merchants' Subscribers
  15. International Data Transfers
  16. Children's Privacy
  17. Changes to This Privacy Statement
  18. Contact Us

Schedule A — Messaging and Privacy Laws We Recognize
Schedule B — Current Sub-Processors


1. Our Two Roles: Controller and Processor

Carpe Messaging handles two categories of personal information, and our obligations differ for each.

A. Merchant Data — We Are the Controller

This is information about the businesses that subscribe to the Service and the individual staff users who log in and operate it. We decide the purposes and means of processing this information. Under the GDPR and UK GDPR we are the controller; under the CCPA/CPRA and comparable US state laws we are a business.

B. Subscriber Data — We Are the Processor

This is information about the merchant's own customers, subscribers, site visitors, and prospects — the people who receive the merchant's messages. The merchant determines who is contacted, what is sent, and why. We do not. We process this information solely to deliver the Service the merchant has asked for, and only on that merchant's documented instructions.

Under the GDPR and UK GDPR we are the processor and the merchant is the controller. Under the CCPA/CPRA and comparable US state laws we are a service provider (or processor, as those laws term it), and we do not retain, use, or disclose subscriber data for any purpose other than performing the Service, and specifically not for any commercial purpose of our own.

C. What This Means in Practice

D. Data Processing Terms

Where a merchant is subject to the GDPR, UK GDPR, or a US state privacy law requiring a written processing agreement, our Data Processing Addendum applies and is incorporated into the Terms of Service by reference. A copy is available at any time from ….


2. Information We Collect

A. Merchant Account and Business Information

B. Merchant Authentication Data

C. Subscriber Profile Information (processed for the merchant)

For each person in a merchant's audience, we may hold:

We do not extract or retain subscribers' payment card numbers, bank account details, government identifiers, health information, or biometric data in their profiles. A profile may include details a subscriber chooses to share with the merchant — such as a birthday for a birthday offer, of which only the month and day are kept, never the year. (Amended October 14, 2026, to say that only the month and day of a birthday are kept.) A profile may also include its location — country, state or region, city and postal code — derived from the merchant's store records (the customer's default address in the merchant's Shopify store or, where there is none, the ship-to address of their latest order), from records the merchant imports, and, for country and region only, from onsite activity, so that a merchant can, for example, send to their customers in one state, and so that an advertising account the merchant connects can recognize the person (Section 10.G). Street addresses are not kept in profiles. (Amended October 14, 2026, to add the postal code.) The ship-to name and address of an order are kept in that order's events — the order placed, fulfilled and shipment events synchronized from the merchant's Shopify store, and the order history the merchant imports (Section 2.F) — so that a merchant can send a shipping notice to the address the order is going to, and they are erased with the person's other event history (Section 12.C). (Amended September 29, 2026.) The ship-to name and address a shopper enters at checkout are kept the same way, in that checkout's event, and erased the same way. Raw order webhooks from Shopify are held briefly so that a failed webhook can be reprocessed and are erased within seven days.

For each subscriber and each channel separately:

Consent evidence and that history of changes are append-only (amended October 8, 2026): the database itself refuses any edit or deletion, so that a merchant can always demonstrate the origin of any recipient's permission. The exceptions are erasure — a data subject erasure request or a store purge removes it, as described in Sections 9 and 12 — and, for the history of changes alone, two records of the same customer being combined: the record folded into the other is removed with its history, and the consent it carried is recorded on the record that remains wherever it changes what that record holds (added October 8, 2026).

E. Message and Engagement Data (processed for the merchant)

F. Onsite and Commerce Activity (processed for the merchant)

G. Technical and Service Data

H. Information We Do Not Collect

One clarification, because the line above used to be broader. We do not collect a tax identification number belonging to any individual, and we never ask a subscriber for one. We do collect a merchant's business registration or tax identification number, and only where that merchant chooses to start a carrier registration for text messages, which cannot be filed without it (Section 2.A).

We do not purchase, rent, license, or otherwise acquire personal information from any third-party data source. Every subscriber record in the Service originates from the merchant's own store, the merchant's own website, the merchant's own upload, or the merchant's own account with another email platform that they connect and instruct us to read (Section 3.E).

A connected email platform is not a data source in the sense this paragraph refuses. It is the merchant's own account, holding records the merchant already controls, opened to us with a credential the merchant creates for that purpose and can revoke. We do not buy it, we are not sold access to it, and we read it only while the merchant has connected it.

I. Sensitive Information in Merchant-Supplied Fields

Merchants may write arbitrary custom properties onto subscriber profiles. We do not inspect, use, or interpret the contents of those fields. Merchants are responsible for not placing special-category data — health information, precise location, government identifiers, or information about children — into them, and the Terms of Service prohibit doing so.

J. Early-Access Requests

When someone asks for early access on our public website, we collect what they typed in that form: their store URL, their email address, the platform they use today, the size of their list, and roughly how much they send each month. We do not record the IP address or the browser user-agent of that request, and we never visit the store address they gave us.

We use it to get in touch about early access and to understand who is asking. An early-access request is not marketing consent — it never adds anyone to a mailing list, and we write back only about early access. Retention is in Section 9.B, and deletion is by request to ….


3. How We Collect Information

A. Directly From the Merchant

Information provided at registration, entered into the Service, or configured in Settings — including sending identity, physical mailing address, segment definitions, message content, and form designs.

B. From the Merchant's Shopify Store

With the merchant's authorization, and using only the access scopes they granted at installation, we receive:

(Amended October 7, 2026.) We request the following Shopify access scopes and no others, each for the purpose beside it:

ScopeWhat it is for
read_customersTo keep each person's profile — name, email address, telephone number, tags, marketing consent, and the month and day of the birthday from the store's Birth date field — in step with the store's customer records, and to look a customer up by email address. (Amended October 14, 2026, to name the birthday read from the store's Birth date field.)
write_customersTo write consent changes back to the store, to correct a customer's first or last name when a member of the merchant's team corrects it in the Service, and to delete a customer who has placed no order when the merchant deletes that person (Section 10.B). No other customer field is changed.
read_ordersTo record orders, refunds and what was in them, so the merchant can send messages based on what people bought and see the sales that follow a message.
read_all_ordersTo read the store's whole order history when it is connected, not only the last 60 days Shopify otherwise allows, so audiences and automations can use real purchase history.
read_fulfillmentsTo know when an order ships or is delivered, so a message can follow at the right time.
read_returnsTo record when a return is requested, approved or declined, so the merchant can build audiences on returns.
read_productsTo show the store's products in messages, follow stock levels for back-in-stock notices, and offer the store's products and collections when the merchant builds an audience or a message.
read_discountsTo show the store's own discounts, so the merchant can attach one to a message or a form.
write_discountsTo create, under a discount the merchant chose, a copy of it for each day its codes are issued; to add a unique code for each person to those copies; and to delete codes that have been used or will not be sent, and copies that have expired. Each copy repeats the merchant's discount terms as the merchant set them. The merchant's own discounts are never edited or deleted.
read_rolloutsTo warn the merchant when one of their discounts is in a rollout that may keep some shoppers from getting it.
write_pixelsTo add, and keep current, the Service's web pixel, which records the storefront activity described in Section 2.F.
read_customer_eventsTo receive the storefront events that web pixel collects.
read_themesTo read the published theme: its two brand typefaces for the "Match my theme" setting, which places it offers for the Service's forms, whether the back-in-stock block is on the product page, and whether the checkout's text-message consent label carries the required disclosure. The theme is never changed.
read_online_store_pagesTo list the store's pages, so the merchant can link to one from a message, and to find the page described next.
write_online_store_pagesTo create one page, "Text sign-up", holding the store's text-message sign-up form, only when the merchant presses the button for it; a later press republishes that page or points it at the current form. No other page is changed.
write_metaobject_definitionsTo declare one definition, owned by the Service, that holds the list of the store's published embedded forms.
write_metaobjectsTo keep that list current — an entry added when a form is published and removed when it is not — so the theme editor offers the merchant's forms by name.
write_app_proxy(Added October 9, 2026.) To let the store tell the Service's signup forms which signed-in customer is browsing, so the merchant's form rules apply to that customer (Section 7.C). The Service keeps no record of the request; like every request, it appears in our server logs (Section 2.G), and it carries the customer's identifier there.

write_customers is used for three purposes, all described in Section 10.B: to write a subscriber's consent change back to the merchant's store; to correct a customer's first or last name when a member of the merchant's team corrects it in the Service; and, since September 23, 2026, to delete a customer from the merchant's store at the merchant's direction — only as a result of the merchant deleting that person in the Service, and only when the customer has placed no order in that store. Where the merchant chose, when deleting, that the people deleted can never be contacted again, a customer with one of those addresses who later appears in the store is deleted there again, on the same condition (added October 7, 2026). We do not use it to alter any other customer field.

C. From the Merchant's Website

D. From a File the Merchant Uploads

A merchant may bring people over from another platform by uploading a file of their own — a spreadsheet with one person per row. We read the columns we recognize (an email address, a name, a telephone number, what the merchant recorded about consent and when), and we keep any column we do not recognize as a field on that person's profile, spelled the way the merchant's file spells it.

Before an upload is imported, the merchant confirms three things in their own name — that these people gave them permission, that the list was not bought, rented, or scraped, and that they will honor a request to stop. We record who confirmed it and when, and that record is kept as a compliance record under Section 9.B. The file itself is not: the rows are held only as long as the import needs them, on the clock stated in that same section.

E. From Another Email Platform the Merchant Connects

A merchant leaving another email platform may connect their own account there so that we can bring their records across. They create a credential in that platform for this purpose and give it to us; we confirm which account it opens and ask the merchant to say, in their own name, that it is the account they are migrating from. Nothing is read until they do.

What we read is the merchant's own audience and the record of what that platform did with it: the people on it and their contact details, what that platform recorded about each person's consent and when and how it was given, the history of messages sent to them and what those messages did, the lists and audience rules the merchant built, their message designs, and their automated message sequences. Images referenced by those designs are copied into the merchant's own image library. We also keep that platform's own copy of each message design we import, exactly as it was stored there, so that the merchant can later rebuild the design here as editable content; it is never rendered, never sent, and never shown to anyone. We read the people who asked never to be contacted first, before anything else, so that nothing brought across afterwards can put them back on a mailing list.

We only read. The credential is used for retrieval and nothing else; there is no operation in the Service that writes to a connected platform, changes anything in it, or deletes anything from it. The connection is not a synchronization: it copies once, it can be re-run to catch up on what changed while the merchant is still using both tools, and it is expected to end in disconnection. Because it is not a synchronization, an opt-out recorded here does not travel back to that platform — the merchant is told so on screen, and the Service gives them a file of everyone they must not email so they can carry it across themselves.

The credential's custody, the retention of what is read, and the merchant's control over it are described in Sections 8.B and 9.B.

F. From Our Sending Providers

Delivery outcomes, bounce notifications, spam complaints, opt-out keywords, and carrier responses, received through cryptographically verified feedback channels.

And text messages sent to the store's number. Where a store has a text message number, our message provider passes us every message people send to it — the message, the number it came from, and any image attached — over the same verified channel. We receive it because the store's own number received it; we do not go looking for it anywhere else.

G. Automatically

Server logs, session records, and diagnostic data generated as the Service operates.

H. From Someone Asking for Early Access

The five fields of the early-access form on our public website, as described in Section 2.J. Nothing else about that request is stored.


4. How We Use Your Information

A. Delivering the Service

B. Account and Access Management

C. Compliance and Enforcement

D. Service Improvement and Support

We do not use subscriber data to improve the Service beyond the merchant it belongs to, and we do not train machine-learning models on any merchant's customer data.

E. Communication With Merchants

Where we act as controller of merchant data:

BasisApplies to
Contractual necessityProviding the Service, managing accounts, billing
Legitimate interestsSecuring the Service, preventing abuse and fraud, improving the product
Legal obligationRetaining records required by law, responding to lawful requests
ConsentAny processing for which we separately ask, and which you may withdraw at any time

Where we act as processor of subscriber data, the legal basis is determined by the merchant as controller. Our processing rests on the merchant's documented instructions and on the Data Processing Addendum between us.


Consent is the foundation of this Service. This section describes the mechanism, because a promise about consent is only as good as the machinery behind it.

Permission to send marketing email is not permission to send marketing text messages, and neither implies the other. A telephone number given for order notifications does not become permission to send marketing. We hold one consent record per person per channel, and each is evaluated independently.

Each record carries one of three states:

Suppression is terminal, with one exception. It is enforced in the database itself, not in application logic a merchant could bypass. The one exception (added September 26, 2026): where an email address hard-bounced, the store’s owner — and no one else, never our team — may release it once, and only when the store itself later saw the mailbox in use: an order, a checkout, or a signup on one of the store’s own forms, dated after the bounce. A release restores what the store says now about the person’s email consent, or leaves them unsubscribed where the store holds no customer record for them; it never subscribes anyone. It is never available where the person has ever reported a message as spam, where the address was found invalid or was suppressed at the merchant’s direction, where the person was erased, or where the address carries a never-contact record. The owner must give a reason, which is kept with the record of the release, and the email provider’s own block on the address is lifted at the same time. An address can be released only once, ever: if it bounces again, it stays suppressed for good.

Alongside the current state, we keep an append-only evidence record: what was asserted, when it occurred, which system and method it came from, the form or external identifier involved, how complete the evidence is, and the policy version in force. This record exists so that a merchant challenged about a recipient's permission can show where it came from.

D. Identity Verification Before Sending

Consent alone is not sufficient. Before a merchant may send marketing to an address or number, that identity must be corroborated by real activity in the merchant's own store — a synchronized Shopify customer record, a verified onsite form submission, or a purchase. Identities that appear without corroboration are held back and cannot be messaged. This is a deliberate defense against list injection, typo-squatting, and imported addresses of unknown origin, and it fails closed: if verification cannot be established, no message is sent.

E. The Sending Gate

Every message passes through a single checkpoint before it leaves the system. In order, that checkpoint confirms: sending authority; that a deliverable address exists; that the recipient is not suppressed; that the recipient is not on a permanent never-contact record; that marketing consent exists for the channel; that identity is verified; that the merchant has not paused the recipient; that a valid sending configuration exists; and that the message is within size limits. Consent is then checked once more, immediately before the message is handed to the sending provider.

For marketing email, the gate additionally refuses to send any message whose rendered content lacks a working unsubscribe link, or whose plain-text version lacks either that link or the merchant's physical mailing address. The message editor blocks these omissions at design time as well; the gate is the backstop.

If the suppression check itself is unavailable for any reason, the send fails rather than proceeds.

Every refusal is recorded with its reason and is visible to the merchant.

F. Opting Out

G. Marketing Versus Transactional Messages

Transactional messages — order confirmations, shipping notices, password resets, and comparable operational communications — are not marketing and are not gated on marketing consent, because they are the fulfillment of a transaction the recipient initiated. They are, however, subject to the same identity and suppression checks, they may never contain marketing content, and they are never used as a pretext to reach someone who has opted out of marketing. Marketing content in a transactional message makes it a marketing message, and our Terms of Service treat it as one.


6. Our Anti-Spam Commitment

This section is a statement of what we will and will not permit, and it binds us as much as it binds the merchants who use us.

No message is sent through Carpe Messaging to anyone who did not consent to receive it in that channel. This is not an aspiration; it is enforced at the point of sending, on every message, without exception and without an override.

We do not permit, and the Service will not knowingly deliver:

We review delivery, bounce, opt-out, and complaint rates for merchants in both channels, and we reserve the right to throttle or stop any merchant's sending where it puts recipients, other merchants, or our standing with mailbox providers and carriers at risk. Serious or repeated violations end the account. Nothing in this section obliges us to review any particular account or message, and our failure to detect a violation is neither a waiver nor an endorsement.

We would rather lose a customer than contact someone who did not ask to hear from them.

Reports of abuse should be sent to …. We investigate every report.


7. Tracking, Analytics, and Cookies

A. Email Open and Click Tracking

Marketing email sent through the Service carries:

Transactional email has its links rewritten for click tracking in the same way, and carries no open pixel. (Amended October 13, 2026.)

Merchants can see this engagement data for their own subscribers. We do not aggregate it across merchants.

B. Text Message Tracking

Text messages carry no open tracking; the channel does not support it. Where a text contains a link, that link may be shortened and attributed in the same manner as email clicks. Delivery receipts and carrier status codes are recorded.

C. The Onsite Pixel

Our Shopify web pixel runs inside Shopify's strict sandbox and observes five commerce events only (Section 2.F). Visitor identity is Shopify's own first-party visitor identifier, which Shopify sets and controls. (Amended October 7, 2026.) The pixel sets one cookie of its own, _carpe_vid: a first-party analytics cookie on the merchant's storefront that carries that same store analytics visitor identifier to the Service's signup forms on that storefront. The forms use it for these things only: to recognize a returning visitor, so that the merchant's forms can choose what to show them and offer a one-tap back-in-stock request; to record which forms a visitor saw or closed; to join a signup to the browsing that came before it; and to limit how often one browser can submit a form. It holds nothing but that identifier and is set to last up to one year (some browsers, including Safari, keep it for less); if a browser clears it, the pixel writes Shopify's same identifier back on a later page. It is set only while the visitor allows analytics and marketing cookies and has not opted out of the sale or sharing of their data; while it is withheld, the forms send no visitor identifier at all. (Amended October 8, 2026.) When the visitor withdraws that permission or opts out, the pixel removes the cookie if it runs on that page; otherwise the Service's signup forms remove it on the next page that shows one of them, and until then it stays in the visitor's browser. Delivery of the pixel is governed by the merchant's Shopify customer-privacy configuration, which means that in jurisdictions requiring consent for analytics or marketing cookies, the pixel does not collect until the visitor has consented through the merchant's banner.

(Added October 9, 2026.) A shopper signed in to the merchant's store. When a shopper is signed in to the store with a customer account, the Service's signup forms on that storefront ask the store which customer is signed in. Shopify answers on the store's own behalf: it adds the signed-in customer's identifier to the question and signs it, so the answer is the store's and not the browser's. What comes back to the forms is a sealed string that names the matching profile without revealing it, works only for the browser that asked, and expires after thirty minutes. The forms use it for three things only: to decide which of the merchant's forms that shopper sees, under the merchant's own rules; to let a link the store already made between that browser and that same customer — at checkout or on a form — carry their recognition to a later step of a form and to the shorter back-in-stock request; and (added October 10, 2026), when the shopper submits a form with the email address their own profile carries, to record that signup as theirs and link that browser to their profile, so a later step of the form saves to it. While a shopper is signed in, that recognition is never carried from a link the browser has to anybody else, and when the store cannot say who is signed in, it is not carried from any link. The Service keeps no record of the question; like every request, it appears in our server logs (Section 2.G), carrying the signed-in customer's identifier and the browser's visitor identifier. The forms ask only under the same permission as the cookie above: while the visitor has not allowed analytics and marketing cookies, or has opted out of the sale or sharing of their data, they do not ask. (Added October 10, 2026.) The boxes a signed-in shopper finds filled in. For a shopper signed in to the store, the storefront page Shopify renders for that shopper carries their own email address, first name and last name, and the forms put them into the matching boxes. Their telephone number is never written into the page or filled into a form. That happens in the shopper's browser from the store's own page: nothing is sent to the Service, and nothing is recorded, until the shopper changes what they like and submits the form.

(Added November 6, 2026.) A shopper who signs up on a form. When a shopper submits one of the merchant's signup forms with an email address or telephone number, or asks with their email address to be told when a product is back in stock, that browser's visitor record is linked to the profile it belongs to, whether a new profile or one the store already has, the same way an email address typed at checkout links it. Their browsing on the store before and after is then recorded to that profile, and the merchant's form rules apply to them. The record notes when that link was made. A link made this way never shows that browser anything already on the profile and never lets a form change what the profile already holds, unless the shopper is signed in to the store with that address or confirms a code sent to a telephone number the profile already had.

(Added November 6, 2026.) The boxes a shopper finds filled in after signing up. The forms keep, in the shopper's own browser (the store site's local storage), the email address and first name typed into their most recent signup or back-in-stock request, so a later form can fill those boxes in. We keep no copy. The browser sends us only a code computed from the store, its visitor identifier, the time of that signup and the profile it was then linked to; it contains nothing the shopper typed. We answer only whether the browser has since been identified as somebody else, and if it has, the browser deletes what it kept. It is kept only under the same permission as the cookie above and removed when that permission is withdrawn. It has no time limit, and clearing the site's data in the browser removes it.

Events observed before a visitor is identified are held separately. If the visitor later identifies themselves — by submitting a form or entering an email address at checkout — that earlier activity is associated with their profile. If they never identify themselves, the record is deleted after 730 days and is never linked to a person.

D. Cookies on Our Own Website and Application

CookiePurposeDurationOptional
Session cookieKeeps a merchant user signed inSession lifetimeNo — required
Two-factor cookieCarries a pending sign-in between the password step and the second factorMinutes, during sign-in onlyNo — required where two-factor authentication is enabled

We protect against cross-site request forgery using origin checks and request headers rather than a cookie.

We use no advertising cookies, no third-party tracking cookies, no analytics cookies, and no social media pixels on our own website or in the application, apart from the video player on our homepage described below. We run no session-replay or error-monitoring service of any kind on our website or in the product, and no analytics of any kind in the product. (Added October 10, 2026.) Our server keeps its own request logs, with our hosting provider and a log service named in Schedule B, to operate and secure the Service (Section 2.G); they are not analytics, and nothing runs in a visitor's browser to make them.

(Added October 19, 2026.) The video on our homepage. Our homepage carries a video hosted on YouTube, a service of Google LLC, in YouTube's privacy-enhanced mode. The player loads with the page, so YouTube receives each visitor's IP address and information about their browser. If a visitor plays the video, YouTube may also store information in their browser, under Google's own privacy policy. No merchant, team member, profile or subscriber data is involved, and YouTube is not a sub-processor of ours.

Page-view counts on our public website. Our public website (not the application) counts page views through a cookieless analytics feature of our hosting provider, named in Schedule B. It records the page visited, the referring page, the visitor's approximate location (country, region and city), device type, browser and operating system, and the time. It sets no cookie. A visit is told apart from other visits by a hash computed from the request, which that provider discards after 24 hours, so a visitor cannot be recognized across days; the provider states that the data is anonymous, aggregated, and not tied to or associated with any individual or IP address. It runs on no page of the application, and no merchant, team member, profile or subscriber data is involved. Our web fonts are self-hosted, so loading a page of ours does not disclose your address to a font provider. Disabling essential cookies prevents use of the Service.

E. Do Not Track and Global Privacy Control

We do not sell or share personal information for ourselves and do not engage in cross-context behavioral advertising of our own, so there is no sale or sharing of ours for a Global Privacy Control signal to opt out of. A merchant who sends an audience segment to their own advertising account (Section 10.G) makes that decision as controller. When the merchant's Shopify store records that a person has opted out of the sale or sharing of their data, we never send that person to any advertising account, and we remove them from any audience they were already in. We honor opt-out preference signals where a state law requires it. Merchants remain responsible for honoring such signals on their own storefronts, and for recording there, or excluding from what they send, any other request not to use a person's information for advertising. (Amended October 14, 2026.)


8. Data Storage and Security

A. Where Data Is Stored

All persistent data is stored in the United States, in managed PostgreSQL infrastructure, in object storage and, for server request logs, at a log service (added October 10, 2026), operated by the providers listed in Schedule B. Two providers keep limited copies under their own retention, as Schedule B describes: our address-check provider processes the addresses it checks in the European Union and keeps them for a limited period, and our bot-challenge provider keeps the signals it receives under its own terms. (Added October 22, 2026.) Application code and static assets are served through a global content delivery network with edge locations worldwide; that network does not store merchant business data or subscriber data.

B. Security Measures

C. Tenant Isolation

The Service is multi-tenant. Each merchant's data is scoped by a store identifier present on every record, and cross-store references are made structurally impossible by composite database constraints rather than by application logic alone. No merchant can query, export, or receive another merchant's data.

D. Security Limitations and Breach Notification

No system is completely secure. In the event of a personal data breach:

E. An AI Assistant a Merchant Connects

A merchant's team member may connect an AI assistant of their own choosing to their store. The assistant is the merchant's own tool, selected by them and operated by a provider they have their own relationship with; it is not software we supply and its provider is not a sub-processor of ours. Nothing is connected unless a team member signs in here and approves it on our own screen, and the merchant may end the connection at any time.

What a connected assistant can reach. The store's own working material — campaigns, automations, segments and their counts, lists, email designs and templates, and reports in aggregate. Reports are aggregate; no facility returns a list of message recipients.

Reading an individual profile: not yet, and what it will be when it arrives. A connected assistant cannot read an individual person's profile today. No such facility exists and nothing a merchant connects can ask for one. We are building it, and the three paragraphs that follow describe what it will return and the bounds it will carry — stated here before the first record moves rather than afterwards. What it will return, one record at a time, is a single profile: consent per channel, whether the identity is confirmed, when the person was last active, and the names and dates of their most recent events.

What it cannot do, structurally. A connected assistant cannot send or schedule a message, publish or enable anything, cancel or pause a live program, delete anything, export data, alter a consent record, or change a setting. These are refused by the same permission layer that governs our own staff, checked before anything else, and no function exists through which the assistant could attempt them. It produces drafts, which a person reviews and acts on.

A profile read will be a disclosure to the merchant's chosen provider, on the merchant's instruction. When that facility arrives and a connected assistant reads an individual profile, that record leaves our systems and reaches the provider of the assistant the merchant connected. That transmission happens because the merchant instructed it, to a provider the merchant selected; the merchant decides whether to connect an assistant at all, which one, and on what terms that provider may process what it receives. As controller of their subscribers' data, the merchant is responsible for that choice, including any notice or legal basis it requires and any international transfer it involves. A merchant's own assistant is not a sub-processor of ours, so the notice in Section 11.B does not apply to a connection the merchant makes themselves.

The bounds it will carry. Profile lookup will be by exact email address or exact full name; partial matches will return nothing, and there will be no wildcard, no pagination and no bulk read. A search will return at most ten minimal results. Across every assistant connected to a store, no more than 200 distinct profiles may be disclosed in a day; further lookups will be refused until the next day. Every disclosure will be recorded by profile identifier and time, and never by address or name. Event payloads are never returned.

Accountability. A connection is bound to one team member's seat at one store and carries that member's permissions and no more; a viewer's assistant can only read. Every draft the assistant writes is recorded against the connection and the member it acted for. Removing or deactivating that team member revokes the connection permanently, and revoking a connection takes effect immediately.


9. Data Retention and Deletion

A. While an Account Is Active

Merchant data and subscriber data are retained for as long as the merchant's account is active and the Service is in use, except where a shorter period is stated below.

B. Specific Retention Periods

CategoryRetention
Raw inbound webhook payloads — from the store platform, and from the text-message carrier7 days, then erased
Unidentified site visitors and their staged browsing events730 days, then deleted
Server request logs (Section 2.G) (added October 10, 2026)1 day at our hosting provider; 30 days at the log service it copies them to, then deleted by that service. Neither the uninstall purge nor an individual erasure request reaches them; they expire on this clock alone
All data for a store, after the app is uninstalled30 days, then permanently purged. Reinstalling within the 30 days calls the deletion off
The routing record left behind by that purge — which store the data belonged to, when the app was uninstalled, when the purge ran, and which stage of the uninstall record had been reached — holding nothing about the merchant or about any individualKept as part of the minimal shell described in Section 9.D, so that an erasure request arriving as late as 7 months after a store leaves can still be routed to the right store and answered
The record of what a paid address check cost a merchant — how many addresses were checked, the rate per address, and the totalKept as part of the minimal shell described in Section 9.D, because it is a financial record of what a merchant agreed to and what they were charged for. It is a bill: a count, a rate and a total, together with how that check came out — how many of those addresses could then be emailed and how many still could not — and the internal references tying it to the import it was run for. The outcome is counts and one word, never a list. It holds no address, no name and nothing about any individual
The record of what a store was billed through Shopify for its plan and usage — the plan and its billing period, how many of each kind of message or check were counted and when, and our own reference for each report we sentKept as part of the minimal shell described in Section 9.D, because it is a financial record of what a merchant was charged, and because Shopify accepts the last of a store's usage for a day after the app is uninstalled. It is counts, dates and references. It holds no address, no name and nothing about any individual
A file a merchant uploads to import people, held row by row while the import runsErased when the import finishes — the cells are gone as soon as what they say has reached the profiles. An upload that never finishes is never imported, and its rows are deleted 24 hours after it was started
The per-row record of an import, so a merchant can read what happened to each row30 days after the import finished, then deleted
Rows an import held back for a decision — people waiting to be released or the import canceledKept until released or canceled, and in any case 180 days after the import finished, then deleted
The credential for another email platform a merchant connectsHeld until they disconnect, and erased from the record at that moment; erased in any case when the app is uninstalled, ahead of the 30-day purge
The report of what a migration brought across, and what it could notKept for the life of the account — it names the merchant's own message designs, audience rules and automations, and nothing about any individual
The other platform's own copy of each message design we import, kept so the merchant can rebuild it here as editable contentKept for the life of the design — deleted the moment the merchant deletes the design it belongs to, and purged with the store. It is the merchant's own message design as another platform stored it; it is never rendered, never sent and never shown, and it names nothing about any individual
Media assets a merchant deletes30 days in a recoverable state, then permanently deleted
Removed analytics metrics30 days, then permanently deleted
A person a merchant deletes in the Service (Section 10.B)Erased when the merchant deletes them, as an individual erasure request is, except that a never-contact record is written only for a channel in which the person had withdrawn their consent or was already on the never-contact record — or, where the merchant chose on the confirmation that the people deleted may never be contacted again, for every email address and telephone number of every person deleted, permanently. The record of the deletion itself — who pressed it, when, what was deleted from, and how many people, with an irreversible hash of each email address or telephone number the deletion left free — is kept for the life of the account and purged with the store; the hashes are consulted for 30 days for the reason given in Section 12.C, and for as long as the account exists so that a later import from another email platform does not bring a deleted person back (see “Profiles a merchant deleted” below) (amended October 28, 2026)
Addresses already checked: when a merchant pays to check whether an imported address can receive email, a one-way coded form of that address and which import paid for it, so the merchant is never charged twice for the same address (added October 28, 2026)Kept while the store’s account exists and deleted with the store’s data
Profiles a merchant deleted: when a merchant deletes a profile, a one-way coded form of its email address (for a deletion made before October 28, 2026, of each email address and telephone number the deletion left free), so that a later import from another email platform does not bring that person back. It never stops a person who comes back on their own, for example by ordering or signing up (added October 28, 2026)Kept while the store’s account exists and deleted with the store’s data
Export files a merchant requestsWithin 24 hours of being asked for, then permanently deleted — the clock starts when the export is requested, and nothing that happens afterwards extends it
Early-access requests (store URL, email, current platform, list size, monthly sends) and the notification we send ourselves about each one24 months, then deleted — by hand, not by a purge process (see below)
Never-contact (suppression) recordsRetained indefinitely, as an irreversible hash
The record that the store released an address from “Do not email” after a bounce (Section 5.B) (added September 26, 2026)Retained for the life of the account, then purged with the store. On an individual erasure request, everything it says about the person — the bounce, the order or signup that showed the address was alive, what their consent was restored to, and the reason the store gave — is erased at once, and only a one-way keyed digest of the address survives, with which team member released it and when. It is kept so that an address can be released only once, even after the person is erased and the address comes back
Consent evidenceRetained for the life of the account, as a compliance record
A store's text-message sending record, including the carrier registration a merchant filed and the business identity in it (Section 2.A)Retained for the life of the store — a registration is a declaration the merchant made and may have to answer for, and it is what a resubmission is edited from. Purged with the store
Text messages people send to the store's number — the message itself, any image attached, and the number it came from — together with the delivery receipts the carrier sends back for text messages the store sent themRetained for the life of the profile: it is one side of a conversation with the store and the store keeps the other, and a person who texts STOP or asks a question is owed the record of having done so. Purged with the store; erased immediately on an individual erasure request, including a message we never matched to a profile and a delivery receipt that named nobody, both of which are reached by the number at either end. A message we could not attribute to any store at all is reached by neither, so it is deleted outright 30 days after it arrives. A message from a number none of the store's profiles carries is deleted outright 30 days after it arrives too, with any image attached — except a STOP or START, which is kept, because it is the only record of what that number asked (added October 8, 2026)
The one automatic reply a store sends to a number none of its profiles carries, and the record that it was sentThe reply is a text the store sent, kept in the store's send record like any other, except that the number it went to is erased from that record, and from the carrier's delivery receipts for that reply, 30 days after it was sent — the same clock as the texts from that number. While one of the store's profiles carries that number, the texts from it are kept with that person's conversation, and so is the reply, until none does (amended October 9, 2026). Either way, it is erased at once on an individual erasure request reaching that number. So that a number is never answered twice, we keep an irreversible keyed hash of the number — never the number itself — with the time of the reply, for the life of the store; it survives an individual erasure for the same reason the never-contact record does (Section 12.C), and is purged with the store (added October 8, 2026)
A request to be told when a product is back in stock, and the record of how we answered itRetained for the life of the account. Purged with the store; erased immediately on an individual erasure request — including a request we never matched to a profile, which is reached by the address it was made with
The record of an AI assistant a team member connected — which assistant, which team member, when it was connected and last usedRetained for the life of the store, and purged with it. Access ends at once and the record does not: revoking a connection, and removing or deactivating the team member who made it, each end that assistant's access immediately and permanently, and the row is then kept — marked revoked, with the day it was made and the day it was last used — as the merchant's own record of what has had a door to their store. It names an assistant and a team member and nothing about any individual
The sign-in credentials behind a connected assistant — the one it presents on each request, and the one it uses to renew thatUntil the renewal credential expires, then deleted by a sweep that runs on a schedule, so a pair may persist briefly past its expiry until the next pass. A renewal writes a fresh pair rather than replacing the old one, so a long-lived connection leaves a short trail of expired pairs behind it, and each is deleted on the same rule. All of them are deleted with the team member's login when the store is purged. They are keys to the door and nothing else: no message, no profile, and no content of the store
The record that a team member approved an assistantRetained with that team member's login, and deleted with it — which happens when the store it is the last seat on is purged. One record is written each time a team member goes through the approval screen, so approving the same assistant again adds another. Each names the team member, the assistant, and what was approved; none of them names any individual person on the store's list, and none of them is a credential
The registration of an assistant — the name it gives itself, the addresses it asks to be answered at, and the identifier it is known by afterwardsRetained until we clear it, and today we clear it by hand. A registration is written when an assistant first introduces itself, which happens before anybody has signed in and approved anything, so most of these records belong to no team member and no store: they are not reached by a store's purge, and an assistant nobody ever approved leaves one behind all the same. Where a team member was signed in when it was written, it is retained with that team member's login and deleted with it. A registration names an assistant and nothing else — no store, nobody on any store's list, and nothing any assistant was shown
A team member's mobile number for test texts, and the digest of its confirmation code (added October 13, 2026)Kept with that team member's seat at the store until they remove or change it, they are removed from the team, or the store is uninstalled or purged. The code's digest is deleted when the code is used, and is useless after ten minutes.
The record of each test text and confirmation code sent to a team member's number (added October 13, 2026)Retained for the life of the store with its other text-message records, and purged with it. It keeps the number it was sent to, even after the team member removes or changes their number, because it is the record of what the store's number sent and to whom; it names no person on the store's list.
The hashed identifiers we last sent to a merchant's advertising account for each person in a synced audience, so that we can remove the person when they leave the segment, are erased, or opt out of data sharing (added October 14, 2026)While the person remains in that audience; deleted when they are removed, when the merchant stops sending that segment or disconnects the account, or at most 30 days after the person is erased, whichever is first
The record of each update we sent to an advertising account — when, how many people were added and removed, and whether it succeeded; it names no person (added October 14, 2026)90 days, then deleted
The record that a profile was disclosed to a connected assistant — the profile identifier, the store, and the dayNo such record exists yet: no facility shows a connected assistant an individual person's profile (Section 8.E). When that facility arrives, each record will be kept 400 days and then deleted. It will hold no address and no name, and it is what will let a merchant, or us, answer afterwards which records went where
Message records, engagement events, and the record of which products a message selected for one individual, and whether it was sentRetained for the life of the account, then purged with the store; erased immediately on an individual erasure request or when the merchant deletes that person, except the message record itself, which is scrubbed of everything identifying

The periods above are the maximum for which we retain each category. Deletion is carried out by purge processes; a category may persist briefly past its stated period until the next purge completes.

Two exceptions, stated rather than implied: early-access requests and assistant registrations are deleted by hand. There is no automated purge for either, and in both cases the reason is the same: the record is attached to no store, so nothing in the uninstall purge or an individual erasure reaches it. We delete an early-access request, the copy of the notification we sent ourselves about it, and that notification in our own mailbox, when the person asks us to at …, and otherwise when we clear the queue at the retention period above. We delete an assistant's registration when we clear the registrations nobody ever connected, and a merchant who wants their own assistant's registration removed can ask us at the same address.

C. Why Suppression Records Are Kept Forever

When a person is erased from our system, we retain an irreversible cryptographic hash of their address — and, where the store had once released that address from “Do not email” after a bounce, a one-way keyed digest of it with which team member released it and when, so that the address can be released only once, ever (Section 9.B) (amended September 26, 2026); and, where the store once sent its one automatic reply to a number of theirs before any profile carried it, a one-way keyed hash of that number with the time of the reply, so that the number is never answered twice (Section 9.B) (added October 8, 2026); and, where the erasure is the echo of the merchant’s own deletion of that person, the one-way coded form of their email address that keeps a later import from another email platform from bringing them back (“Profiles a merchant deleted”, Section 9.B) (added October 28, 2026) — and nothing else. When a merchant deletes a person instead (Section 10.B), that hash is retained as a never-contact record only where the person had withdrawn their consent, was already on the never-contact record, or had a spam complaint on record (amended October 30, 2026); a person deleted while subscribed, or never asked, is not barred from being contacted again — unless the merchant chose, when deleting them, that the people deleted may never be contacted again, in which case the hash of each of their email addresses and telephone numbers is retained as a never-contact record for good. This is the only way to guarantee that an erased address is never mailed again — if the record were deleted with the rest, a subsequent import could resurrect the address and message someone who had asked never to be contacted. The person's own new consent is the one exception (added October 30, 2026): a START texted to the store from a telephone number that carries such a record removes the record for that number (Section 12.C), whether or not any profile still carries that number, unless the merchant chose to make it permanent, the record was written before October 30, 2026, or, when the person was erased or deleted, their text messages were Suppressed or a complaint was on record. Retaining the hash is a data-minimizing measure taken in the data subject's own interest, and it is the basis on which we retain it.

D. Uninstallation and Account Deletion

When a merchant uninstalls the app from their Shopify store:

A merchant may request an earlier purge at any time by writing to … from an authorized account, and we carry it out rather than waiting for the 30 days to run.

An individual’s own erasure request is never held for this period. Where a person asks the merchant to erase them, or the merchant’s store sends us that instruction on their behalf, we carry it out when it arrives — during a store’s 30 days or outside them. The period above protects a merchant’s ability to return; it delays nobody’s right to be forgotten.

We may retain certain records beyond these periods where required by law — financial records for tax purposes, security and audit logs, and suppression records as described above. Aggregated data that no longer identifies any person may be retained indefinitely.

F. Backups

Data present in automated backups is removed in the ordinary backup rotation following deletion, and in no case later than 30 days after the purge completes.


10. Sharing and Disclosure of Information

We do not sell, rent, trade, or share personal information for ourselves as those terms are defined under the CCPA/CPRA or any comparable state privacy law. We disclose information only in the circumstances set out below. None of them is a sale or a share of ours; Section 10.G describes the one disclosure a merchant may direct to their own advertising account, and why that decision is the merchant's. (Amended October 14, 2026.)

A. Sub-Processors

We engage the service providers listed in Schedule B to operate the Service — to send messages, host the application, store data, and perform specific technical functions. Each is contractually bound to process data only on our instructions, to maintain confidentiality and appropriate security, and never to use the data for its own purposes. Section 11 governs how this list changes.

B. The Merchant's Own Shopify Store

We exchange data with the merchant's Shopify store as necessary to provide the Service. We read customer, order, product, discount, and fulfillment data, and we register the webhooks and storefront configuration the Service requires. We write to the store's customer records in exactly three ways, all described below: consent changes; a name correction made by the merchant's team; and — at the merchant's direction — deleting a customer. (Amended October 7, 2026.) Beyond customer records, we write to the store only as the scope table in Section 3.B describes: the Service's web pixel, day-dated copies of a discount the merchant chose and the codes under them, the text sign-up page the merchant asks for, and the list of the merchant's published embedded forms.

Consent synchronization runs in both directions. We read the consent state held in the merchant's store and honor it, and we write consent changes back — so that an opt-out recorded in either place is honored in both. When someone unsubscribes from a message we sent, or replies STOP, that withdrawal takes effect in the Service immediately — no message we deliver will ever go to them again — and is written to their record in the merchant's store promptly, with automatic retries until the store accepts it. Until that write completes (for example, while a merchant's authorization or Shopify itself is unavailable), the store's own record may briefly lag ours; ours is the one our sending obeys.

Correcting a name (added October 7, 2026). When a member of the merchant's team corrects a person's first or last name in the Service and that person is a customer in the store, we write the corrected name to the store too, so the store's next update of that customer does not put the old name back. We write the two name fields and nothing else. An email address cannot be corrected this way, and a store customer's telephone number is changed by the merchant in the store, never by us.

Deleting a person, at the merchant's direction (added September 23, 2026). A merchant's owner may delete a person from the Service — one profile at a time, or everyone in an audience segment or a list at once. A deletion carries out the same erasure described for customers/redact in Section 12.C, with one difference in what it leaves behind: where the person had withdrawn their consent in a channel, or was already on the never-contact record, we first write an irreversible never-contact record for that channel, exactly as an erasure does; where they had not — they were subscribed, or had never been asked — we write none, because a merchant tidying their own audience has made no statement that the person must never be contacted, and a mistaken deletion should not become a permanent ban. For such a person we keep only the same irreversible hash of each address we left free, for the reason given in Section 12.C. A merchant may instead choose that the people deleted can never be contacted again (added September 23, 2026) — the confirmation offers it, already chosen when the people are the Service's own "Probably not a person" segment, which exists to catch automated checkouts: then we write an irreversible never-contact record for every email address and telephone number of every person deleted, whatever their consent, and none is left free. That record is a one-way fingerprint, cannot be turned back into an address, and blocks the address for good: if it reaches the store again — through a signup, an order or an import — nothing the merchant sends is delivered to it. And if it arrives as a customer in the merchant's Shopify store, we delete that customer there again, under the same order check described next, trying at most once a day; a customer the Service still holds as somebody else is left alone (added October 7, 2026). We then delete the corresponding customer in the merchant's Shopify store, but only where that customer has placed no order there. We ask the store how many orders the customer has before asking it to delete anyone, and a customer with any order is left untouched, because the store's own sales record is not ours to destroy. A person who is not a customer in the store is not looked for there. If the store does not confirm that it deleted the customer — it cannot be reached, it refuses, or it cannot find them — the deletion in the Service still happens, and the customer may remain in the store; we send again a store request that was cut off before the store answered, but once the store has answered we never ask it to delete that customer again — we retry only passing on a withdrawal of consent the store had not yet received. For a deletion of a segment or a list, the merchant is shown how many customers we could not confirm were deleted there.

We may disclose information where required by law or valid legal process, including court orders, subpoenas, and lawful regulatory requests, and where necessary to protect rights, property, or safety, or to investigate fraud or abuse.

Where we are compelled to disclose a merchant's data, we disclose only the minimum required, and — where legally permitted — we give the merchant prompt notice beforehand so they may seek protective relief.

D. Business Transfers

If we undergo a merger, acquisition, financing, or sale of assets, data may transfer as part of that transaction. We will give notice before any data becomes subject to a different privacy statement, and the acquiring party will be bound by commitments no less protective than these.

E. Confidentiality of Merchant Data

All merchant business data — audience lists, consent records, segment definitions, message content, campaign performance, and subscriber information — is treated as confidential and proprietary to the merchant.

This commitment survives termination of the account.

F. Publicly Accessible Media

Images and files a merchant uploads to their media library are served from a public content domain so that they can be displayed inside email messages and, when a merchant attaches one to a text message, delivered by the text-message provider and the phone companies. Both must be able to load them without authentication. (Amended October 14, 2026.) Anyone who knows or guesses the URL of an uploaded file can retrieve it. Merchants should not upload confidential material, personal information, or anything they would not be willing to publish.

G. An Advertising Account the Merchant Connects

(Added October 14, 2026.) A merchant's team member may connect the store's own Meta advertising account (for Facebook and Instagram) or Google advertising account, and choose audience segments to send to it — to show ads to those people, or to keep ads away from them. These are the merchant's own advertising providers, chosen by the merchant and governed by the merchant's own terms with them; they are not sub-processors of ours. Nothing is sent unless a team member connects an account and chooses a segment.

What is sent. For each person in a chosen segment: their email address, telephone number, first and last name, city, state, postal code and country — normalized and, except where the provider requires a postal code or country to be sent as written, converted to a one-way hash before it leaves our systems — and nothing else: no consent record, no message or browsing history, no order, and not the segment's name. The provider uses them only to find matching accounts on its own service, under its own terms with the merchant.

Who is never sent. A person who has been erased or deleted; a person whose identity we have not verified; a person whose record in the merchant's Shopify store says they opted out of the sale or sharing of their data; a person who has complained about the merchant's email, to any audience meant to show them ads; and anyone who appears to be in the European Economic Area, the United Kingdom or Switzerland — judged from the country on their profile, the country of their telephone number, or the country of their email address's domain. This feature is not offered to a store located in those places.

How it stays current. About once an hour we add people who joined the segment and remove people who left it, were erased, or opted out. To be able to remove someone, we keep the hashes we last sent for them, for the periods in Section 9.B.

Ending it. A merchant may stop sending a segment, or disconnect the account, at any time; we then stop all updates, revoke our access, and delete the hashes we kept. People already sent remain in the audience in the merchant's advertising account until the merchant deletes it there. Uninstalling the app does the same.

The merchant's responsibility. As controller, the merchant decides whether to send anyone, and is responsible for a lawful basis; for telling the people in their audience, in the merchant's own privacy notice, that their information may be shared with advertising providers — which those providers' own terms also require; and for honoring a person's request not to be used for advertising, by recording it in their Shopify store or by excluding the person from what they send.


11. Sub-Processors

We publish the full list of our sub-processors in Schedule B, and we keep it current.

A. What We Require of Them

Every sub-processor is engaged under a written contract that requires it to:

Where personal data leaves the EEA, the UK, or Switzerland, the engagement includes Standard Contractual Clauses or another approved transfer mechanism.

B. Changes to the List

We tell merchants before a new sub-processor begins processing subscriber data, or before an existing one is replaced, and give them a reasonable time to object.

C. Our Responsibility

We remain fully responsible to the merchant for the acts and omissions of every sub-processor we engage.


12. Shopify-Specific Data Handling

A. Access and Authorization

We access the merchant's store exclusively through Shopify's official Admin API, under the access scopes the merchant granted at installation and listed in Section 3.B. Installation uses Shopify's managed installation flow with token exchange. Access tokens are encrypted at rest and are never shared, exported, or used for any purpose beyond serving that merchant.

We comply with Shopify's API Terms of Service, Partner Program Agreement, Protected Customer Data requirements, and app store policies.

B. Protected Customer Data

Our use of Shopify Protected Customer Data is limited to providing the Service described in this statement. We collect the minimum fields required, retain them only as long as necessary, encrypt them in transit and at rest, and apply the access controls and audit logging described in Section 8.

C. Mandatory Compliance Webhooks

All three of Shopify's mandatory privacy webhooks are implemented, HMAC-verified, and acted upon:

D. Uninstallation

The app/uninstalled webhook triggers the sequence described in Section 9.D.


13. Your Privacy Rights

This section concerns merchants and their staff users, for whom we are the controller. Rights of merchants' subscribers are addressed in Section 14.

A. GDPR and UK GDPR Rights

If you are in the European Economic Area, the United Kingdom, or Switzerland, you have the right to:

B. United States State Privacy Rights

Residents of states with comprehensive privacy laws — listed in Schedule A — have rights that generally include:

C. Canadian Rights

Under PIPEDA and, in Québec, under Law 25, you have the right to access your personal information, to request correction, to withdraw consent, to data portability, and to complain to the Office of the Privacy Commissioner of Canada or the Commission d'accès à l'information du Québec.

D. How to Exercise Your Rights

Write to … with "Privacy Rights Request" in the subject line, telling us what you are asking for and giving us enough information to verify your identity. We will not ask for more information than is necessary to do so.

We respond within 30 days, or within the shorter period any applicable law requires. Where a request is complex we may extend once, and we will tell you why before we do.

An authorized agent may submit a request on your behalf with proof of authorization.


14. Rights of Merchants' Subscribers

If you received an email or text message sent through Carpe Messaging and you want it to stop, or you want your information removed, the fastest route is the merchant who sent it.

A. Why We Direct You to the Merchant

The merchant chose to contact you, holds the relationship with you, and is the controller of your information. We are their processor. We cannot verify your identity against a store we do not operate, and answering your request directly would mean acting on a store's data without that store's instruction. So we route your request to the merchant and we assist them in answering it.

B. What You Can Do Immediately, Without Anyone's Help

Neither requires you to contact us or the merchant. Your opt-out is recorded immediately — it governs every message from the moment you act — and is written back to your record in that merchant's own store, with automatic retries until it lands. A merchant may not lawfully reverse it. If you believe a merchant has re-subscribed you without your permission, write to … and we will place you on a permanent never-contact record for that merchant, which no one can reverse.

C. If You Cannot Reach the Merchant

If you have tried and cannot reach the merchant, or you believe a merchant is ignoring your request or has contacted you without your consent, write to us at … (or … to report a message). We will:

  1. Suppress you from that merchant's sending immediately, so that no further message can reach you while the matter is open.
  2. Identify the merchant and require them to respond.
  3. Where a merchant fails to honor a lawful request, act on it ourselves and take enforcement action against that merchant under our Terms of Service.

You do not need to prove anything to us to be suppressed. We will act first and investigate afterwards.

D. Shopify Customers

If you are a customer of a Shopify store, you may also exercise your rights through Shopify's own privacy mechanisms. Requests that reach us through Shopify's mandatory privacy webhooks are handled as described in Section 12.C.


15. International Data Transfers

The Service is operated from the United States, and our own persistent data is stored there, apart from the limited copies two providers keep under their own retention (Section 8.A). If you or your subscribers are located elsewhere, information will be transferred to and processed in the United States.

A. Transfer Mechanisms

For transfers of personal data from the European Economic Area, the United Kingdom, or Switzerland to the United States, we rely on:

B. Sub-Processor Transfers

Every sub-processor engagement involving personal data leaving the EEA, UK, or Switzerland incorporates Standard Contractual Clauses or an equivalent approved mechanism.

C. Merchant Responsibilities

Merchants sending to recipients outside their own jurisdiction remain responsible for the lawfulness of that sending under the recipient's local law. Schedule A lists the regimes we recognize; it is not legal advice, and merchants should take their own.


16. Children's Privacy

The Service is a business tool and is not directed to children. We do not knowingly collect personal information from anyone under 18 in the operation of merchant accounts.

Merchants are prohibited by our Terms of Service from using the Service to send marketing messages to anyone under the age of 13, and from uploading to the Service personal information about anyone under 13. Merchants whose own customers may include minors are responsible for compliance with the Children's Online Privacy Protection Act and equivalent laws in their markets.

If you believe we hold information about a child under 13, write to … and we will delete it.


17. Changes to This Privacy Statement

We may update this statement to reflect changes in our practices, our sub-processors, or the law.

We keep prior versions of this statement and will provide any of them on request. Continued use of the Service after a change takes effect constitutes acceptance of the revised statement.


18. Contact Us

For questions, concerns, or requests regarding this Privacy Statement or our data practices:

Carpe Messaging
Operated by Carpe Per Diem, Inc.

PurposeAddress
Privacy and data protection…
Reporting spam or abuse…
Legal notices…
Product support…
General enquiries…

Website: carpemessaging.com

Mailing Address:
Carpe Per Diem, Inc.
365 W 125th St, UNIT 2666
New York, NY 10027
United States

For GDPR requests: email … with "GDPR Request" in the subject line.
For US state privacy requests: email … with "Privacy Rights Request" in the subject line.
For a copy of our Data Processing Addendum or Standard Contractual Clauses: email ….

All requests are answered within 30 days, or sooner where the law requires.


Schedule A — Messaging and Privacy Laws We Recognize

We built Carpe Messaging to satisfy the strictest applicable standard rather than the most convenient one. The regimes below inform the design of the Service. This list is illustrative and not exhaustive; it describes laws we have taken into account, does not limit our obligations under any other law, and is not legal advice to merchants, who remain responsible for their own compliance and should take their own counsel.

A. United States — Messaging

LawScope
CAN-SPAM Act (15 U.S.C. §§ 7701–7713) and the FTC's implementing rule (16 C.F.R. Part 316)Commercial email: accurate headers and sender identification, non-deceptive subject lines, a functioning opt-out honored promptly, and a valid physical postal address in every message
Telephone Consumer Protection Act (47 U.S.C. § 227) and FCC rules (47 C.F.R. § 64.1200)Marketing text messages: prior express written consent for autodialed or pre-recorded marketing, revocation of consent by any reasonable means, and honoring revocation promptly
Federal Trade Commission Act § 5Unfair or deceptive acts and practices in marketing
State telephone solicitation and commercial email statutes, including Maryland's Stop the Spam Calls Act, Oklahoma's Telephone Solicitation Act, Florida's Telephone Solicitation Act, Connecticut's telephone solicitation amendments, Virginia's Telephone Privacy Protection Act, Texas's telephone solicitation provisions, Tennessee's and Arizona's text message solicitation provisions, and Washington's Commercial Electronic Mail ActAdditional consent, timing, identification, and do-not-call requirements for text messages and commercial email, several of which exceed the federal floor and carry their own private rights of action
CTIA Messaging Principles and Best Practices, and the A2P 10DLC and toll-free verification programs operated by the wireless carriersIndustry requirements for application-to-person messaging: brand and campaign registration, consent evidence, opt-out keyword handling, and message content standards

B. United States — Privacy

The California Consumer Privacy Act as amended by the California Privacy Rights Act, together with the comprehensive state privacy laws now in effect in:

Virginia · Colorado · Connecticut · Utah · Texas · Oregon · Montana · Delaware · Iowa · Nebraska · New Hampshire · New Jersey · Tennessee · Minnesota · Maryland · Indiana · Kentucky · Rhode Island

We also account for the Florida Digital Bill of Rights, which imposes comparable obligations but applies only to businesses above a substantial revenue threshold.

We monitor laws enacted and not yet effective — Oklahoma and Louisiana (both January 1, 2027), Alabama (May 1, 2027), and Vermont (January 1, 2028) — and we track amendments to the laws above.

Related regimes we account for: the Children's Online Privacy Protection Act, Washington's My Health My Data Act and comparable consumer health data laws, and state data breach notification statutes.

C. Canada

LawScope
Canada's Anti-Spam Legislation (CASL)Express or narrowly-defined implied consent for commercial electronic messages including text, sender identification, and a working unsubscribe honored within 10 business days. CASL's treatment of implied consent, and administrative monetary penalties of up to CAD $10 million per violation for a business, make it among the strictest regimes we handle.
Personal Information Protection and Electronic Documents Act (PIPEDA)Consent, access, correction, and accountability for personal information
Québec Law 25 (An Act to modernize legislative provisions as regards the protection of personal information)Consent, transparency, data portability, privacy by default, and breach reporting
Provincial privacy statutes in Alberta, British Columbia, and QuébecSubstantially similar provincial regimes

D. European Economic Area and United Kingdom

LawScope
General Data Protection Regulation (EU 2016/679)Lawful basis, data subject rights, controller/processor obligations, transfer restrictions, and breach notification
ePrivacy Directive (2002/58/EC) as implemented in each member stateConsent for electronic marketing and for storing or accessing information on a subscriber's device
UK GDPR and the Data Protection Act 2018The UK equivalent regime
Privacy and Electronic Communications (EC Directive) Regulations 2003 (PECR)UK rules on electronic marketing and cookies
Swiss Federal Act on Data Protection (revFADP)Swiss data protection

E. Other Jurisdictions

LawScope
Australia — Spam Act 2003 and Privacy Act 1988Consent, sender identification, and functional unsubscribe
Brazil — Lei Geral de Proteção de Dados (LGPD)Lawful basis and data subject rights
Japan — Act on the Protection of Personal InformationConsent and cross-border transfer
Singapore — Personal Data Protection Act and Do Not Call provisionsConsent and do-not-call registry screening
New Zealand — Unsolicited Electronic Messages Act 2007 and Privacy Act 2020Consent and sender identification
South Africa — Protection of Personal Information Act (POPIA)Consent for direct marketing

F. Platform Requirements

We comply with Shopify's Partner Program Agreement, API Terms of Service, App Store Requirements, and Protected Customer Data requirements, and with the acceptable-use and anti-abuse policies of every provider listed in Schedule B.


Schedule B — Current Sub-Processors

Last reviewed: October 28, 2026.

A. Message Delivery — Email

Sub-processorFunctionData processedLocation
Amazon Web Services, Inc. — Simple Email Service (SES) and Simple Notification Service (SNS)Delivers all outbound email; returns bounce and complaint feedbackRecipient email address, message content, delivery outcomeUnited States

B. Message Delivery — Text Messages

(Amended October 5 and October 7, 2026.) The provider below carries the Service's text messages. It delivers the messages a store sends, receives the replies people send back, including STOP and HELP, and returns delivery receipts; and, for a store that sets a number for calls to be forwarded to, it connects each call made to the store's text-message number to that number. What it handles is the recipient's or caller's telephone number, the content of each message, the time of each call, delivery receipts and inbound keywords, together with the merchant's own registration identity and forwarding number described below.

Two things reach the carrier from the merchant rather than from a subscriber. A merchant who chooses to start a carrier registration sends their own business identity with it (Section 2.A); that is the merchant's own information, given deliberately by the merchant, and it describes no subscriber. And a merchant who sets a number for calls to be forwarded to sends that number to the carrier (Section 2.A), and from then on the carrier forwards each call to the store's text-message number to it — so the carrier handles the calling number and the time of each call from anyone who rings that number, as any telephone carrier does to connect a call. We receive and keep no record of those calls; the forwarding number itself is kept with the store's text-message record until the merchant clears it or the store is purged.

Sub-processorFunctionData processedLocation
Telnyx LLCDelivers outbound text messages; receives inbound messages including STOP and HELP; provides carrier registration for merchant sending numbers; forwards calls to the store's text-message number to a telephone number the merchant chooses (added October 5, 2026)Recipient telephone number, message content, delivery receipts, inbound keywords. For a carrier registration, additionally the merchant's business identity as described in Section 2.A: legal and trading name, business address, business registration or tax identification number, entity type, and the name, email address and telephone number of the business contact. For call forwarding, the merchant's forwarding telephone number, and the calling number and call times of anyone who calls the store's number; we keep no record of those callsUnited States

C. Infrastructure

Sub-processorFunctionData processedLocation
Vercel Inc.Application hosting, edge network, scheduled jobs, web application firewall; serves the merchant's own branded link hostnames; cookieless page-view counts on the public website only (Section 7.D)All data in transit; no persistent storage of merchant or subscriber data, with two exceptions. The first, added September 19, 2026: the merchant's own branded link hostnames (for example go.yourdomain.com) are held at this provider as configuration, together with the certificate issued for each, so that links in the merchant's messages can be served on their own domain. They are configuration rather than personal data, and they are retained at the provider after a store leaves until they are detached. The second, added October 10, 2026: the server request logs described in Section 2.G — the requesting IP address, the address requested together with its query string (which can carry, for example, a signed-in customer's identifier, a browser's visitor identifier and the store's address), the browser's user agent, the time, and the response — kept for 1 day, and copied from there to the log service below. For the public website's page-view counts: the page, the referrer, the visitor's approximate location (country, region and city), device type, browser and operating system, and the time, keyed by a hash computed from the request and discarded after 24 hours; no cookie, not tied to any IP address, no subscriber dataUnited States (primary), global edge
Neon Inc.Managed PostgreSQL databaseAll persistent merchant and subscriber dataUnited States
Axiom, Inc. (added October 10, 2026)Stores and searches the Service's server request logs, which our hosting provider copies to it, so that we can investigate failures, abuse and security incidents (Section 2.G)Every server log line: the requesting IP address, the address requested together with its query string (which can carry, for example, a signed-in customer's identifier, a browser's visitor identifier and the store's address), the browser's user agent, the time, and the response, and the messages the application writes while handling that request; retained for 30 daysUnited States
Cloudflare, Inc.Object storage for merchant media libraries, merchant-requested data exports, images people text to a store's number; authoritative DNS; and the bot challenge that runs on a store's back-in-stock form (Section 2.G)Merchant-uploaded images and files; export files containing subscriber contact and consent records, retained for 24 hours; any image attached to a text message sent to a store's number, retained for the life of the profile, or for 30 days when the number is on none of the store's profiles (added October 8, 2026); and, for the bot challenge only, a storefront visitor's IP address together with signals about their browser and how they interacted with the page, sent when a store's back-in-stock form is shown on a page they visit (amended October 28, 2026) and retained by that provider under its own termsUnited States. The inbound message buckets, created September 14, 2026, are created under the United States jurisdiction, which this provider fixes at creation and which cannot be changed afterwards; the data-export bucket is created the same way. The media library buckets are held with the same provider in the United States under its account region, and no jurisdiction is asserted for them
Zoho Corporation (added October 22, 2026)Our mailbox for … and …What a person or merchant writes to those addressesUnited States

D. Specific Functions

Sub-processorFunctionData processedLocation
Anthropic PBCPowers Talaria, the assistant built into the Service: drafts audience segment definitions, emails, subject lines and preview text, rules for who sees part of an email, and text messages from a merchant's plain-English description or from the email being worked on; converts the HTML of an email a merchant imports into the Service's email format; drafts alternative text for merchant-uploaded images; and answers a merchant's help questions from our published help pages (amended October 6, 2026, to list every task, what each sends, and help questions); and, only when a merchant's team member asks for one, suggests a reply to a text message a customer sent the store, which the team member reads and decides whether to send (amended October 8, 2026, to add suggested replies)The merchant's typed description; their store's name, time zone and brand colors; their store's event, property, tag and list names, and the countries and regions its profiles are in (counted across the store, never one profile's); the names and SKUs of the products a description names, and descriptions of the store's images; the text of the email being worked on, its current subject line and preview text, or the HTML of an email being converted; and a low-resolution thumbnail of an uploaded image. A help question carries no store or profile data: only the question, the help pages it is answered from and the names of the app's screens are sent, and questions and their answers are kept with the store's records and deleted with them. For a suggested reply: the words of the last twenty text messages in that one conversation, the customer's first name, how many orders they have placed and their latest order's number, date and fulfillment state, and the discount codes they hold unused with each code's value and expiry — never an image, and never their phone number, email address or location; we keep neither the conversation sent nor the suggestion returned. Apart from a suggested reply, no subscriber personal information is sent.United States
Bouncer Sp. z o.o. (name corrected October 22, 2026)Verifies at submission time that an email address entered into an onsite signup form is deliverable, before it is added to a merchant's audience; and, when a merchant chooses to check imported addresses, verifies those addresses (added October 22, 2026)The email address onlyEuropean Union

E. Platform

Sub-processorFunction
Shopify Inc.The merchant's own commerce platform. Data is exchanged under the merchant's authorization to provide the Service; Shopify is the merchant's own provider rather than one we selected on their behalf. Billing for the Service will be processed through Shopify's billing infrastructure, and we do not receive or store payment card details.

F. Notes


© 2026 Carpe Messaging. All rights reserved.

Carpe Messaging is a product of Carpe Per Diem, Inc.
Made with ❤️ in New York City, USA