Skip to main content
◆ Legal · Sub-processors

Sub-processors

These are the third-party services Zayos uses to operate. Each is reviewed for security posture before we onboard them, and each row links the vendor's own document covering the transfer of personal data: a Data Processing Addendum where the vendor publishes one, otherwise its privacy notice.

Last updated: 2026-10-05

ProviderRoleRegionDPA / policy
Supabase
Postgres database, magic-link authentication, file storage (menu photos, brand logos, media library).
All customer and operator data, hashed credentials, file metadata.
Database + Auth + StorageUnited States (AWS us-east region)DPA →
Zay Revenue Group (ZayCRM)
For restaurants onboarded by Zay Revenue Group, the platform sends account-management signals (tenant lifecycle, subscription/billing state, aggregate order health) and the owner's contact details to the ZayCRM so the agency can manage the account, support, and billing relationship. No diner/customer data crosses this bridge.
Restaurant owner name, email, phone; subscription/billing status + MRR; aggregate order counts/GMV; tenant lifecycle events. No diner/customer PII.
Agency CRM / account managementUnited States (Fly.io)DPA →
Vercel
Runs the Next.js application across our four projects (marketing, storefront, admin, operator).
Request/response logs, IP addresses, error traces.
Application hosting + edgeGlobal (edge); USA primaryDPA →
Cloudflare
Domain resolution, edge CDN, layer-7 DDoS + WAF.
IP addresses, request metadata.
DNS + CDN + bot mitigationGlobalDPA →
Stripe
Card processing for customer orders; per-tenant Connect account flows funds to the restaurant.
Card tokens, billing addresses, transaction metadata (never raw PAN).
Payments + payouts (Stripe Connect)United StatesDPA →
Resend
Magic-link emails, password reset, order receipts, review-request emails, customer survey invites, owner invitations.
Recipient email, email body, delivery status.
Transactional emailUnited StatesDPA →
Twilio
Order status SMS (received / ready / delivered), one-time passwords for customer auth.
Recipient phone, message body, delivery status.
Transactional SMSUnited StatesDPA →
Anthropic
AI shift briefing, menu-item description generation, menu photo critique, review-response drafting, support-ticket triage, invoice OCR, PDF menu import.
Operator-submitted text + images; never customer payment data.
AI model API (Claude)United StatesDPA →
Google (Places, Business Profile, Sign in with Google)
AI restaurant audit autocomplete, nearby competitor lookup, Google review polling for the operator inbox, eventual response posting. Map images for the store locator are fetched by our servers from Google's Map Tiles API and passed on to the visitor, so the visitor's browser does not contact Google for them. Separately, a diner who chooses "Sign in with Google" authenticates with Google, which returns their name and email address to us.
Operator-supplied place IDs; public business data returned by Google. For map images: the map tile coordinates being viewed, sent from our servers (not the visitor's IP address). For sign-in: the diner's Google account name and email address.
Business data + review polling + customer sign-inUnited StatesDPA →
AgeChecker.net
For tenants that must verify a buyer is 21+, checks the shopper's identity against records databases at checkout and, when that fails, collects a photo ID and a selfie to review manually. Wired for the smoke-shop tenants; no order has been verified through it yet.
Diner first and last name, full address, date of birth, email, IP address; where a records match fails, a photo of a government ID and a selfie.
Age / identity verification (21+ tenants)United StatesPrivacy →
NMI
Alternative card processor for tenants a mainstream processor will not underwrite. The card number itself never reaches our servers: the storefront's hosted fields exchange it for a single-use token, and we post that token plus the amount. Wired; no tenant is configured on it yet.
Diner email, single-use card token, order amount and currency, transaction identifiers. Never the raw card number.
Card processing (high-risk / smoke-shop tenants)United StatesPrivacy →
Upstash
Serverless Redis that counts requests per caller so abuse is throttled across instances, and holds the short-lived claim that stops a duplicate email or SMS going out twice. Values expire in minutes to 24 hours.
Rate-limit keys derived from the caller's IP address; message/order identifiers used as send-once claim keys.
Rate limiting + send-once claim storeUnited StatesDPA →
Komoot (Photon geocoder)
Suggests and geocodes delivery addresses from the diner's browser when a tenant has no Google Places key configured, so a courier is sent to the right building. A free, key-free community endpoint built on OpenStreetMap; we hold no account with it.
The street address the diner is typing, partial or complete, and their IP address, sent from the diner's own browser. No name, email, phone or order detail.
Address autocomplete and geocoding (keyless fallback)Germany (EU)Privacy →
U.S. Census Bureau (geocoder)
Converts a street address into map coordinates so a courier is sent to the right building rather than a ZIP-code centroid. A public, key-free government service; we hold no account with it.
A single street address line (street, city, state, ZIP). No name, phone, email or order detail.
Address geocodingUnited StatesPrivacy →
Slack
Our own staff workspace. Tenant provisioning, approval requests, bug and incident notices are posted there so the team can act on them.
Restaurant owner name and email; Zay staff email; tenant and order identifiers; alert text. No diner name, address or payment data.
Internal operations notificationsUnited StatesDPA →
Inngest
Scheduled crons (Google review polling, expire stale announcements, post-delivery survey send, retention sweeps).
Job metadata; minimal payload (org IDs, order IDs).
Durable job queueUnited StatesDPA →
Otter
When a tenant connects Otter, we receive marketplace order events (DoorDash, Uber Eats, Grubhub) + 86-list state + payout reports.
Order data, fulfillment events, payout amounts.
POS + marketplace integrationUnited StatesDPA →
Shipday
Books the courier for a delivery order and brokers it to a driver network (DoorDash, Uber). Sends us courier status, courier name, and the live tracking link.
Diner name, full delivery address + coordinates, phone; restaurant name/address/phone; order items and prices; delivery fee and tip.
Delivery dispatch brokerUnited StatesPrivacy →
Uber Direct
Quotes and books the courier for a delivery order directly with Uber's driver network, and returns courier status, courier name, and the live tracking link.
Diner name, full delivery address + coordinates, phone; restaurant name/address/phone; order items; delivery fee and tip.
Delivery dispatch (courier network)United StatesPrivacy →
DoorDash Drive
Second courier network in the delivery dispatch cascade, disclosed ahead of go-live. No order has been dispatched through it and no location is paired yet. Once armed it receives the same delivery details as the other couriers, so a courier can be assigned.
Diner name, full delivery address + coordinates, phone; restaurant name/address/phone; order items; delivery fee and tip.
Delivery dispatch (courier network)United StatesPrivacy →
Meta (Facebook) Conversions API + Pixel
Attributes a paid Zayos signup back to the advertisement that produced it, so paid campaigns can be optimised toward signups rather than clicks. Runs on /start, and on a tenant storefront when that tenant has configured its own Meta pixel, in which case diner page views and purchases are reported to Meta under the tenant's pixel. Suppressed on a Global Privacy Control signal and on the route denylist in app/layout.tsx.
Hashed (SHA-256) business contact email and phone of the person signing up, the plan price paid, and page-view events on /start.
Advertising measurement for Zayos' own signup funnelUnited StatesTerms →
Google Analytics 4 + Google Ads
Reports storefront page views and completed orders to the tenant's own Google Analytics property, and, where the tenant has configured Google Ads, the purchase conversion. Enabled only when the tenant supplies its own measurement id. Suppressed on a Global Privacy Control signal and on the route denylist in app/layout.tsx, which withholds the order tracker, review and success pages so the merchant order number is never in a reported URL.
Page URLs and referrers, the Google advertising/analytics cookie identifiers, order value, currency, item names, and an opaque per-order UUID as the transaction id. Not the merchant order number, and no name, email or phone.
Storefront analytics and advertising measurement, per tenantUnited StatesPrivacy →
Shippo
Rates a parcel with the carriers, validates the destination address, and buys the shipping label for a nationwide-shipping order.
Recipient name, shipping address, phone, email; parcel weight and dimensions; carrier tracking number.
Shipping rates + carrier labelsUnited StatesPrivacy →
PrintNode
Relays a print job from our servers to a location's own thermal printer, so a shipping label prints in the store without anyone opening a dashboard.
The label document and its title, which contain recipient name and shipping address; printer identifiers and job status.
Cloud printing relayUnited States / United KingdomPrivacy →
OpenStreetMap
Draws the small map on a storefront's homepage and the store locator's map when Google map tiles are not available. On the homepage map the tiles are loaded by the visitor's own browser straight from OpenStreetMap's tile servers; on the store locator our servers fetch them and pass them on. A free community service; we hold no account with it.
The map tile coordinates around the restaurant's address (not the visitor's location). For the homepage map, also the visitor's IP address and the address of the storefront page, which their browser sends when it loads the images. No name, email, phone or order detail.
Map images (fallback when no Google map tiles are configured)United Kingdom / European Union (OpenStreetMap Foundation; tiles served from a global cache)Privacy →
KnightsHQ
Shows a restaurant's own booking calendar inside its Business Room page, only for a restaurant that has set its own KnightsHQ booking link. The calendar is KnightsHQ's page shown in a frame: the guest's browser loads it from KnightsHQ and the booking is made in the restaurant's own KnightsHQ account. Nothing the guest types passes through our servers.
The guest's IP address and browser details, sent by their browser when the calendar loads; and whatever the guest enters to book (typically name, email, phone, party size, date and time), sent by the guest directly to KnightsHQ.
Table and event booking calendar, per tenantUnited StatesPrivacy →
Cal.com
Shows a restaurant's own booking calendar inside its Business Room page, only for a restaurant that has set its own Cal.com booking link. No restaurant has one configured today. The calendar is Cal.com's own script and frame: the guest's browser loads it from Cal.com and the booking is made in the restaurant's own Cal.com account. Nothing the guest types passes through our servers.
The guest's IP address and browser details, sent by their browser when the calendar loads; and whatever the guest enters to book (typically name, email, party size, date and time), sent by the guest directly to Cal.com.
Table and event booking calendar, per tenantUnited StatesPrivacy →
PagerDuty
Wakes the person on call when something is broken: a refund that failed at the processor, an order stuck in a kitchen, storefronts not serving, a courier booking failing repeatedly. Active only when our on-call key is configured; until then nothing is sent.
Alert text; order numbers and internal order ids; restaurant (organisation) ids and storefront host names; amounts; the titles of staff approval requests. No diner name, email, phone, address or payment detail.
On-call alerting for our own engineersUnited StatesDPA →
RocketReach
When a Zayos sales rep asks, finds the owner or manager of a restaurant we are talking to and returns their business phone and email. Used for our own outreach; no diner data is ever sent.
The restaurant's name, city, state and website, and the owner's name when the rep gives it. RocketReach returns that person's business contact details, which stay in our internal records.
Business contact lookups for our own sales teamUnited StatesDPA →
Axiom
Stores timing traces and service metrics from our servers so slow or failing requests can be found. Active only when our telemetry endpoint is configured; until then nothing is exported.
Request routes with tokens redacted, timings, status codes, host names, internal ids and error names. No request or response bodies; no diner name, email, phone, address or payment detail.
Performance traces and metricsUnited StatesPrivacy →
Sentry
Captures unhandled exceptions + performance traces from our four Vercel projects.
Stack traces, request metadata; we redact PII before send.
Error monitoringUnited StatesDPA →

Notification of changes

We'll publish updates to this page before adding a new sub-processor. Enterprise customers can request advance notification (typically 30 days) via the DPA addendum.

Questions

Email abdallah@zayrev.com for DPA requests, sub-processor verification, or to flag a security concern.