Skip to main content
Apex
ProductHow it worksAgenciesPricingResources
Sign inStart free trialSign in
ProductHow it worksAgenciesPricingResourcesBook a walkthroughStart free trial
LegalTerms of ServicePrivacy PolicyData Processing AgreementSub-processorsAccessibility

Sub-processors

Last verified August 23, 2026

What this is: the complete list of third parties Apex Discover LLC engages to help deliver the platform, what each one does, and, for each, the specific categories of personal data it can actually receive. We publish it because a list you have to email us for is not a disclosure. It is a delay.

Who this is for:an agency's legal or procurement team deciding whether to sign, and any customer who wants to know exactly which companies touch their data before they trust us with a client.

Last verified: 2026-08-23.Every “what it receives” statement below was checked against the source code on that date, not inferred from a vendor's marketing page. Where a fact could not be verified from the code, this page says so in place of the fact.

1. How to read this page

Apex plays two roles, and the distinction decides which column matters to you.

  • For your agency's own account data (your logins, your billing, your team) Apex is the controller.
  • For your clients' end-consumer data (the people who fill in a form on your client's website) Apex is a processor. Your client is the controller. You and your client decide the purpose. We follow it.

Every company below is a sub-processor in the second sense only where the “consumer personal data” column says so. Several receive nothing but Apex's own operating data and are listed anyway, because a partial list is worse than none.

The companion record of processing, docs/ops/processing-records.md, carries the file-and-line evidence behind every claim on this page.

2. What the AI assistants Apex measures do and do not receive

Agencies ask this before anything else, so it comes before the list.

Apex measures ChatGPT, Gemini, Claude and Perplexity. They are not sub-processors of your clients' consumer data.

Here is the actual mechanic. Each client has a tracked question bank: a curated set of questions a real customer might ask an assistant, such as “who does emergency water damage restoration in Fort Collins”. The nightly measurement run sends those questions, and nothing else, to each assistant, along with an approximate market pin (city, region, country) taken from the client's own service area and business address. It records what came back: was the client named, which pages were cited, which competitors appeared.

What is sent is a question about a business. Not a person.

Two facts make this a structural property rather than a policy we promise to follow:

  • The questions come from site_config.aeo_queries, the client's own tracked bank, and from nowhere else (apps/portal/lib/server/visibility/run.ts:470). There is no code path that puts a consumer's words into a measurement query.
  • The lead-capture pipeline cannot reach an AI provider at all. A test walks the import graph from every file in the repository that holds a lead's own words and fails the build if any of them can reach a model provider (apps/portal/lib/server/lead/__tests__/no-llm.test.ts). It is enforced on every commit, not reviewed once.

So when a lead arrives and Apex tells your client “this person came from ChatGPT”, nothing about that person was sent to ChatGPT. The connection is made on our side, by joining the page they landed on to citations we already recorded for that page. The evidence attached to a lead is a list of the client's own tracked questions and how often each one produced a citation (packages/core/src/lead-intent.ts:100-103).

One exception, and it is a different feature. Apex has an SMS assistant that drafts replies to text messages. Where a client turns it on, a consumer's own message text is sent to Anthropic on purpose, because drafting a reply to a message requires reading the message. That is disclosed in the table below as consumer data going to Anthropic. It is not lead capture, and the SMS track is not currently sold: the A2P carrier campaign never cleared and no client is on it today. The code path is intact and would run the moment a conversation existed, which is why it is disclosed rather than omitted.

3. The sub-processor list

3.1 Infrastructure

Supabase, Inc. (United States)

What it does for ApexThe system of record: Postgres database, authentication, and file storage for report PDFs and agency logos
Consumer personal data it can receiveAll of it. Name, phone number, email address, free-text message, page visited, referral source, and the captured IP address
Customer personal data it can receiveAccount name, work email, password hash, user id
Where it processesus-west-2 (Oregon, United States). Verified against the live project on 2026-08-23
EU transfer mechanismStandard Contractual Clauses under Supabase's own data processing addendum

Every table carries Row Level Security, verified 32 of 32 against the live database on 2026-08-15, so one agency's rows are not reachable by another even inside the same database.

Vercel Inc. (United States)

What it does for ApexHosts both applications: the client portal and the hosted client websites. It is the network edge every request passes through
Consumer personal data it can receiveIncidentally, in transit: every form submission passes through Vercel's edge. Its runtime logs record request metadata including the visitor's IP address. No consumer field value is written to a log by the lead pipeline. Errors are logged by message only, never as an object, specifically so a database conflict cannot spill a phone number into the logs (apps/portal/lib/server/lead/ingest.ts:297-306)
Customer personal data it can receiveRequest metadata for logged-in sessions
Where it processesUnited States
EU transfer mechanismStandard Contractual Clauses under Vercel's own data processing addendum

3.2 Delivery and messaging

Resend (United States, operated by Plus Five Five, Inc.)

What it does for ApexAll outbound email: new-lead notifications, monthly report notifications, sequences, operational alerts
Consumer personal data it can receiveThe consumer's name, in the subject line (apps/portal/lib/server/lead/notify.ts:459-462), and their message verbatim, in the body (:477-481)
What it structurally cannot receiveThe consumer's phone number and email address. This is not a policy. The argument type the email builder accepts has no field for either one, so neither can ride in the email however the caller is written (notify.ts:66-114). The identity lives behind the login link in the email, inside the client's own tenant
Customer personal data it can receiveThe email address of each person the agency nominated to receive lead alerts, plus the name of whoever added them
Where it processesUnited States
EU transfer mechanismStandard Contractual Clauses under Resend's own data processing addendum

One qualifier worth stating rather than leaving to be discovered: the “no phone or email in this email” guarantee is about the shapeof the message, not its contents. A phone number typed into a badly labelled “name” box would appear in the subject line, and a free-text message can contain anything a person chose to type.

Twilio Inc. (United States). Has received consumer data. Not in use today.

What it does for ApexClient phone numbers, voice webhooks, missed-call text-back, SMS delivery
Consumer personal data it receivesPhone number and message text. Where texting is switched on, Twilio is the gateway a consumer's message arrives through, so it handles both
Has that happenedYes. Two inbound consumer messages carrying genuine Twilio message identifiers are held, both dated 13 July 2026, on Apex's own test business. Stated rather than rounded down to zero: an accurate list names a past recipient, not only a current one
Current statusParked by owner decision on 2026-07-19. No client is sold texting, and nothing flows today. The code is kept rather than deleted, so it is disclosed rather than omitted
Where it processesUnited States
EU transfer mechanismStandard Contractual Clauses under Twilio's own data protection addendum

3.3 Operations and reliability

Upstash, Inc. (United States)

What it does for ApexRedis rate limiting on the unauthenticated surfaces: login, signup, and both consumer form doors
Consumer personal data it can receiveThe consumer's raw IP address, used as the rate-limit key. Both consumer-facing form doors send it: the website snippet door (apps/portal/app/api/lead/[token]/route.ts:151) and the Apex-hosted site form (apps/sites/app/[slug]/lead/route.ts:77-78), both through one shared key function (packages/db/lib/rate-limit.ts:163-166)
How long it is heldIt expires on its own sliding window: 20 requests per 10 minutes on the snippet door, 10 per 10 minutes on the hosted form. Nothing else is stored
Stated plainlyAn erasure request does not reach this copy. The erasure path deletes across the database and nulls the stored IP on the audit trail; it does not touch Redis. The key expires on the window above instead
Where it processesUnited States
EU transfer mechanismStandard Contractual Clauses under Upstash's own data processing addendum

The second door, the webhook door for form builders that cannot run the snippet, keys on a hash of the webhook secret and sends no personal data at all.

Sentry (United States, operated by Functional Software, Inc.)

What it does for ApexError tracking for both applications, so a crash is diagnosable
Consumer personal data it can receivePossibly, incidentally, inside an error message, and only after a scrubber runs on every event before it leaves (packages/core/src/scrub.ts)
What the scrubber removesIt rebuilds the request from an allow list of three headers rather than deleting known-bad keys, so a field the SDK invents next cannot walk through. It then scans every remaining string in the event and removes email addresses, phone numbers of the shape this platform stores, and opaque tokens of 32 characters or more. If any of that throws, the event is replaced with a stub rather than sent
What the scrubber does not removeNames and free text.A consumer's name appearing inside an error message would reach Sentry. This is stated because it is the honest limit of the control, and no reader should have to find it themselves
Where it processesDetermined by the reporting endpoint set on the production environment, which this verification could not read. Sentry offers a US and an EU region; confirm which one the account uses
EU transfer mechanismStandard Contractual Clauses under Sentry's own data processing addendum

Inngest, Inc. (United States)

What it does for ApexRuns the nightly measurement queue, fanning each client's measurement out to its own job, and the nightly retention sweep
Consumer personal data it can receiveNone. Four event types exist, and every payload was read: queue/visibility-daily.requested, queue/visibility-tenant.requested, queue/retention-sweep.requested, queue/wiring-probe.requested. Their payloads carry a tenant slug, a timestamp, and a run phase. The job results Inngest stores alongside them carry counts, tenant slugs, engine names, tracked questions from the client's own bank, and truncated error messages. No consumer field reaches any of them
Structural noteThe lead-capture pipeline is fully synchronous and does not use the queue at all
Where it processesUnited States
EU transfer mechanismStandard Contractual Clauses under Inngest's own data processing addendum

Better Stack

What it does for ApexUptime monitoring and dead-man heartbeat pings, so a scheduled job that silently stops running raises an alarm
Consumer personal data it can receiveNone. A heartbeat is an empty ping to a fixed URL, and an uptime check is a request to a public page
Where it processesNot asserted. No personal data is sent, so the location does not carry a transfer question. Confirm the operating entity and its jurisdiction at contract review
EU transfer mechanismNot applicable: no personal data is sent

Cloudflare, Inc. (United States)

What it does for ApexTurnstile, the invisible bot check on the Apex signup page
Consumer personal data it can receiveNone.Turnstile guards Apex's own signup page, not any consumer form
Customer personal data it can receiveThe IP address of a person signing up for an Apex account, sent as the optional remoteip field alongside the challenge token (apps/portal/lib/server/turnstile.ts:111-112)
Where it processesGlobal edge network, including the United States
EU transfer mechanismStandard Contractual Clauses under Cloudflare's own data processing addendum

3.4 Billing

Stripe, Inc. (United States)

What it does for ApexSubscription billing and seat management for Apex's own customers
Consumer personal data it can receiveNone.No client's customer data reaches Stripe
Customer personal data it can receiveThe email address of the person signing up (apps/portal/app/signup/plan/actions.ts:70), plus whatever they enter into Stripe's own hosted checkout page
Card detailsEntered directly into Stripe's hosted page. Apex never sees, transmits, or stores a card number
Where it processesUnited States
EU transfer mechanismStandard Contractual Clauses under Stripe's own data processing agreement

3.5 AI processing

Anthropic PBC (United States)

Anthropic appears here for two distinct reasons, and only one of them involves a consumer.

Use 1: measurementClaude is one of the assistants Apex measures. It receives questions from the client's own tracked question bank. No consumer data. See section 2
Use 2: the SMS assistantWhere a client has SMS enabled, a consumer's own message text is sent to Anthropic to draft a reply, verbatim and by design (apps/portal/lib/server/assistant/run.ts:296-316). This is consumer personal data. It is dormant in practice because the SMS track is parked, and the code path is intact
Use 3: report narrativesThe monthly report narrative is drafted from aggregate facts: counts, percentages, and the business name. No consumer name, phone number, email address, or message is included (packages/core/src/reports.ts:490)
Use 4: internal analysisAn operator-only pass summarising how assistants describe a business, drawn from the assistants' own answers. No consumer data
Where it processesUnited States
EU transfer mechanismStandard Contractual Clauses under Anthropic's commercial terms
TrainingApex uses Anthropic's commercial API. Under Anthropic's commercial terms, API inputs and outputs are not used to train models. Confirm the current terms as part of contract review

Google LLC (United States), OpenAI, L.L.C. (United States), and Perplexity AI, Inc. (United States)

What they do for ApexGemini, ChatGPT and Perplexity are measured the same way Claude is. Each receives questions from the client's own tracked question bank, plus an approximate market pin
Consumer personal data they can receiveNone. See section 2
Where they processUnited States
EU transfer mechanismStandard Contractual Clauses under each provider's own API terms

3.6 Business data sources

Google LLC (Places API) and Foursquare Labs, Inc. (Places API)

What they do for ApexThe listings audit: checking that a client's business name, address and phone number are consistent across the places people look
What they receiveThe client's own business name, address and market. Business information, not consumer information
One honest qualifierFor a sole trader, a business address and a business phone number can also be that person's personal data. It is the client's own information, submitted by the client, and no end consumer is involved
Where they processUnited States
EU transfer mechanismStandard Contractual Clauses under each provider's own API terms

3.7 Apex's own business operations

These handle Apex's data about its customers and prospects. They never receive a client's end-consumer data.

ServiceWhat it doesWhat it receives
Google LLC (Google Workspace)Apex's business email and the operational alert inboxWhatever a customer or prospect sends us by email
LovableHosts the client intake form used during onboardingContact and business details a prospective client types into the intake form

3.8 Listed for completeness, not sub-processors

GitHub, Inc.hosts the source code and runs continuous integration. It holds no customer or consumer personal data. It is named here because procurement teams ask, and “not on the list” reads worse than “on the list with the reason”.

4. International transfers

All personal data is stored in the United States. Apex does not offer EU data residency today, and no statement on this page should be read as implying one. The database runs in us-west-2, verified live on 2026-08-23.

Apex has no establishment in the European Union and does not target EU data subjects. The realistic EU exposure is a European visitor filling in a form on a US client's website. In that case:

  • Apex acts as processor. The client is the controller and is the party making the transfer decision.
  • Apex's Data Processing Agreement incorporates the Standard Contractual Clauses, Module Three (processor to sub-processor), where a client requires them.
  • The sub-processors above are US entities contracting on the basis of Standard Contractual Clauses, the EU-US Data Privacy Framework, or both.

On Data Privacy Framework certification: several of the companies above publish a current certification, and several do not. This page deliberately does not assert any individual vendor's certification status, because that status changes without notice and a stale claim in a published document is worse than no claim. Confirming each vendor's current status at the moment of signature is an item for counsel, and each vendor's live entry on the official Data Privacy Framework list is the authority, not this page.

5. Sub-processor changes and your right to object

Apex commits to the following, and it applies to every customer on every plan.

Notice. Before a new sub-processor begins processing customer or consumer personal data, Apex will give 30 days' written notice, sent by email to each customer's account contact and published as a dated revision to this page.

What the notice contains. The same facts every entry above carries: the legal entity, what it will do, the categories of personal data it can receive, where it processes, and the transfer mechanism. Not a name and a link.

Objection. A customer may object to a new sub-processor, in writing to privacy@apexdiscover.ai, within the 30-day notice period, on reasonable grounds relating to data protection. Apex will work with the customer in good faith to find an alternative. Where no alternative can be found, the customer may terminate the affected subscription without penalty and receive a pro-rata refund of any prepaid, unused fees.

The exception, stated up front rather than buried. Where a sub-processor must be replaced urgently for security, legal, or availability reasons, Apex will make the change and give notice as soon as it reasonably can, rather than waiting out 30 days while the service is at risk. The objection right survives the change.

Watching this page.This document lives in the platform's own repository and every revision is dated. Customers who want the change history rather than the current state can ask for it at privacy@apexdiscover.ai.

6. Contact

EntityApex Discover LLC, a Wyoming limited liability company
Privacyprivacy@apexdiscover.ai
Legallegal@apexdiscover.ai
Data protection officerNone appointed. Apex sits below every Article 37 threshold
EU representative (Art. 27)None appointed. See section 4

Related documents: the Data Processing Agreement, and the record of processing activities at docs/ops/processing-records.md.

7. Notes on this document

What is guaranteed. Accuracy about the software. Every statement about what a service receives was verified against the source code on 2026-08-23, and the file and line are cited so anyone can check the claim rather than trust it.

What was verified on 2026-08-23:the Resend email contents and the structural absence of phone number and email address from it; the Upstash rate-limit key on both consumer form doors and the absence of any Redis step in the erasure path; the Sentry scrubber's allow-list rebuild and its three string rules, and its silence on names and free text; every Inngest event type and its payload shape; the SMS assistant's Anthropic call and the import-graph test that bars the lead pipeline from any model provider; the source of every measurement question; and the database region, read live as us-west-2.

What was not verified, and is therefore not asserted:

  • The contents of the production hosting environment. This session cannot read that dashboard. One consequence is worth naming: if the Upstash credentials are not set in production, no IP address reaches Upstash at all, because no rate limiter is ever constructed. That is a smaller disclosure and a larger security gap, and it is tracked separately. The same unreadability is why this page does not name Sentry's data region: the reporting endpoint is set there.
  • Each vendor's legal entity name, taken from the vendor's own public terms rather than from a signed agreement held by Apex. Counsel should confirm each against the executed contract.
  • Each vendor's current Data Privacy Framework certification status. See section 4.
  • Retention periods applied by each sub-processor inside its own systems. Apex controls what it sends, not what a vendor keeps.
  • The security posture of the lead-capture surface under adversarial testing. No penetration test has been run against it. Nothing on this page should be read as claiming one has.

One product limitation this document must not imply. Apex does not delete a client's customer data on a timer. That is the client's data and the client's decision. A configurable per-client retention cap is not available today: the field exists in the schema and the nightly sweep correctly skips every client that has no value set, but no screen and no script sets one. Any description of a settable retention cap would be wrong.

Keeping this true. Re-verify and re-date this page whenever a service is added or removed, whenever an existing service starts receiving a new category of personal data, or whenever a collection point changes.

Apex

We show you how often AI assistants recommend the businesses you manage, and what to fix so they recommend them more.

Product
PlatformHow it worksPricingCost calculatorFree trial
Company
AboutAgenciesResources
Legal
TermsPrivacyAccessibilitySign in

© 2026 Apex Discover LLC · hello@apexdiscover.aiChatGPT · Gemini · Perplexity · Claude