Data handling reference

How BroomAI handles your data

A technical summary of what data BroomAI accesses, why, where it is stored, how it is secured, who it is shared with, and how it is deleted — written as a reference for the Shopify App Store and Google OAuth verification reviews and for security due diligence.

Product: BroomAI — AI workforce for e-commerce sellers Last updated: 23 June 2026 Version: 2.0
Scope of this document

This document is a summary overview of BroomAI's data-handling practices, intended for Shopify App Store reviewers, Google OAuth verification reviewers, and prospective customers conducting preliminary security due diligence. A full architectural security specification — infrastructure diagrams, vendor security assessments, key-management procedures, and incident-response playbooks — is available under a mutual NDA to enterprise customers and institutional reviewers via legal@broom-ai.com. The binding legal framework is set out in the Terms of Service, the Privacy Policy, and the Data Processing Agreement; this document is a technical companion to those instruments, not a replacement for them.

1. What BroomAI is

BroomAI is an AI workforce platform for multi-channel e-commerce sellers. A seller (the store owner) connects their store and communication channels, then hires named AI agents:

Every action that changes the store or sends an outbound communication is intercepted and held for the owner's explicit approval before it runs (propose → approve → execute). Agents propose; the owner approves; only then does the action execute.

2. Our role as data processor

2.1 Under UK GDPR Article 28, BroomAI acts as a data processor when processing store customer personal data on behalf of the store owner (data controller). BroomAI acts as data controller for account and billing data.

2.2 All processing of store data and email data by BroomAI's AI Agents is carried out on the store owner's documented instructions as expressed through: (a) the Terms of Service (including the Data Processing Agreement); and (b) the owner's active configuration and use of the Platform.

2.3 BroomAI processes personal data only to the extent necessary to operate the agents the owner has hired. Data minimisation principles apply throughout.

2.4 The formal controller/processor arrangement, sub-processor authorisations, and deletion obligations are in the Data Processing Agreement.

3. Data we access & collect

Data falls into four groups:

3.1 Account & authentication data

3.2 Store (Shopify) data

3.3 Communication data

3.4 Owner-provided configuration

4. Shopify data & OAuth scopes

BroomAI connects via Shopify's standard OAuth install. The access token is verified, encrypted (AES-256-GCM), and stored server-side. All webhook payloads are verified with HMAC-SHA256 before processing.

4.1 Requested scopes & why

ScopeWhy BroomAI needs it
read_customersVerify that a support request comes from the order's customer (sender email must match order email) and personalise order lookups.
read_draft_ordersResolve an order number that exists only as a Shopify draft — used by the order-lookup fallback and order search.
read_reportsPower Kai's native Shopify analytics (sessions, conversion rate, traffic sources). Independent of the optional GA4 connection in §6.
write_ordersAdd order notes/tags and manage order state on the owner's instruction (approval-gated).
write_fulfillmentsJim fulfils orders, updates tracking, and manages holds (approval-gated).
write_productsMaya edits products, variants, SEO, and images (approval-gated).
write_inventoryMaya adjusts and moves inventory across locations (approval-gated).

Shopify treats write_X scopes as supersets of read_X. When required scope sets grow, connected stores are shown a Reconnect banner requiring re-authorisation.

4.2 Protected Customer Data

Customer personal data (name, email, address, phone) is used only to deliver owner-requested functionality, retained only as long as needed, encrypted in transit and at rest, and excluded from observability/analytics exports.

4.3 Webhooks

BroomAI subscribes to orders/create and inventory_levels/update for proactive monitoring. Every webhook body is HMAC-SHA256 verified before any processing.

4.4 Mandatory privacy webhooks

BroomAI implements Shopify's three required privacy webhooks, each HMAC-verified:

5. Gmail data & OAuth scopes

5.1 Gmail access is per-store and opt-in. Each store connects its own Google account through a dedicated OAuth consent screen separate from the sign-in flow.

5.2 Two distinct purposes:

ScopeClassWhy BroomAI needs it
.../auth/gmail.modifyRestrictedRead inbound support email via incremental history sync so Sarah can triage and reply; apply organising labels. We do not permanently delete messages.
.../auth/gmail.sendSensitiveSend supplier drafts (Maya) and support replies (Sarah) that the owner has approved, threaded into the correct conversation.
.../auth/userinfo.emailBasicIdentify which Google account is connected, shown to the owner in settings.

We request gmail.modify rather than full mail scopes because we never need to permanently delete messages or manage account settings.

5.3 Inbound email flow

New mail is delivered via Gmail's users.watch → Google Cloud Pub/Sub push → a verified webhook. Only changes since the last sync cursor are fetched. Deterministic guards run before any reply: an identity check (sender email must equal the order email), automatic escalation of refund/cancel/dispute requests, and field-whitelisting that strips internal data before the model sees it.

6. Google sign-in & Google Analytics (GA4)

6.1 Google sign-in

Owner authentication uses Google OAuth (OpenID Connect) through a separate OAuth client from the Gmail and Analytics integrations, requesting only basic profile/email. Sign-in does not grant any Gmail, Analytics, or Drive access. Access is gated by an email allowlist — unrecognised accounts see a "Request Access" screen rather than being signed in.

6.2 Google Analytics (GA4)

GA4 is an optional, per-store, opt-in connection that powers the Kai analytics agent with web-analytics data (sessions, traffic sources, conversions) that Shopify's native reports don't expose. It uses its own dedicated OAuth client — separate from both sign-in and Gmail — and is strictly read-only: BroomAI can never modify a GA4 property. The owner can connect or disconnect GA4 at any time; disconnecting revokes the token with Google and clears the stored credentials.

ScopeClassWhy BroomAI needs it
.../auth/analytics.readonlySensitiveRead-only access to the GA4 property the owner selects, so Kai can report sessions, traffic sources, and conversion trends. No write access is requested or possible.

7. Google API Services — Limited Use affirmation

Limited Use

BroomAI's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Data obtained from Gmail, Google Analytics (GA4), and any other Google API:

  • is used only to provide and improve the user-facing features the store owner has explicitly enabled;
  • is not transferred or sold to third parties for advertising, market research, or any unrelated purpose;
  • is not used to train, fine-tune, or develop generalised or non-personalised AI/ML models — email content is sent to Anthropic's API solely to generate the specific reply or decision for that message, under API terms that prohibit training on submitted data; and
  • is not read by humans, except (a) with the owner's explicit consent, (b) where necessary for security or to comply with law, or (c) where aggregated and anonymised.

8. AI processing — what goes to the model

8.1 What is sent. To generate a reply, triage an email, or carry out an instruction, the relevant content is sent to Anthropic's API over TLS. Only data necessary for the specific task is sent.

8.2 No training on your data. Calls are made through Anthropic's commercial API under terms where submitted data is not used to train Anthropic's models.

8.3 Deterministic guards. Inventory arithmetic, oversell detection, identity verification, and critical-action escalation are deterministic code, not AI model decisions. The model renders results and makes bounded, low-stakes judgments within those guardrails. The model can only narrow what an agent does, never widen it past these guards.

8.4 AI accuracy disclaimer. AI systems are known to produce erroneous, misleading, or confabulated outputs ("hallucinations"). No AI output should be treated as authoritative without human review. All material store changes and outbound customer communications require the owner's explicit approval. BroomAI's liability for AI errors is excluded and limited as set out in Section 13 of the Terms of Service. The Business, as data controller, is responsible for human oversight over all AI Agent activity.

9. PII redaction and observability

9.1 We use Braintrust for observability of AI calls. Before any trace leaves our process, a redaction layer removes personal data: emails, phone numbers, names, addresses, postal codes, IPs, and card-shaped numbers are replaced with salted hashes. Safe identifiers (order ID, SKU, quantity) pass through. Raw customer PII is never shipped to the observability layer.

9.2 When the observability key is unset, no traces are emitted.

10. Storage and encryption

11. Security practices

12. Sub-processors

Sub-processorPurposeData sharedTransfer mechanism
Anthropic (Claude API)AI agent reasoning, triage, reply generationMessage/email content and order facts. Not used for model training.UK IDTA / SCCs
RailwayApplication hosting, PostgreSQL, RedisAll application data, encrypted as aboveSCCs / UK IDTA
Google (Gmail / OAuth / Pub/Sub / Analytics)Email integration, owner sign-in & GA4 analyticsPer granted scopes; Limited Use policy appliesUK Adequacy / SCCs
ShopifyStore data source and write targetPer granted scopesUK Adequacy / SCCs
StripeToken top-up paymentsStripe-hosted Checkout only. BroomAI never receives card numbers.UK IDTA / SCCs
Braintrust (optional)AI observability (can be disabled)Redacted traces only — PII removed before exportUK IDTA / SCCs
TelegramOwner messaging channelOwner ↔ agent messages, if connectedSCCs

13. Retention and deletion

13.1 Disconnecting an integration. On disconnection, BroomAI immediately revokes the token with the provider and clears stored encrypted credentials. Agents lose all access immediately.

13.2 Shopify mandatory deletion. BroomAI honours Shopify's shop/redact webhook automatically ~48 hours after app uninstall: all store personal and operational data is purged and stored credentials are removed. The billing ledger is retained under a tax/accounting legal basis.

13.3 Customer data requests. On receipt of a customers/redact webhook, BroomAI erases the relevant shopper's personal data in support tickets.

13.4 Gmail-derived data. Email content is retained only as support-ticket context. It is never repurposed or shared beyond the sub-processors listed above, and is removed on inbox disconnection or account deletion.

13.5 Account deletion. On full account closure, all personal and operational data is deleted within 30 days, except billing records retained for the legally required 7-year period.

13.6 Data export. During the subscription term, owners can export data through the dashboard where export functionality is available. Export all required data before cancellation — BroomAI is not responsible for retaining data after termination.

14. Your controls

15. Data breach response

15.1 In the event of a confirmed personal data breach: (a) BroomAI will notify the affected store owner without undue delay upon confirming the breach following reasonable investigation; (b) notification will include, to the extent available, the nature of the breach, categories and approximate number of data subjects, BroomAI's privacy contact details, likely consequences, and measures taken or proposed; (c) the store owner, as data controller, is solely responsible for notifying their own customers and the ICO under Articles 33 and 34 of the UK GDPR; and (d) BroomAI's notification does not constitute an admission of liability, which is subject to the limitations in Section 13 of the Terms of Service and the DPA.

16. Legal framework and document hierarchy

16.1 This Data Handling Reference is a summary. The binding legal framework is: (a) the Terms of Service — commercial agreement, liability limitations, disclaimers; (b) the Privacy Policy — UK GDPR Art.13 disclosure, lawful bases, data subject rights, retention; and (c) the Data Processing Agreement — Art.28 processor obligations, sub-processor authorisations, technical and organisational measures, deletion.

16.2 Every account holder accepts the Terms of Service (incorporating the Privacy Policy and DPA) in-app before using the Platform.

17. Contact

Privacy / data rights: contact@broom-ai.com Legal / enterprise due diligence: legal@broom-ai.com Data controller: the store owner; BroomAI acts as processor for store and customer data.
This page describes BroomAI's current data-handling practices and is maintained alongside the product. BroomAI · AI workforce for multi-channel sellers · ← back to the team