Your card never
touches the AI.

This is an architectural guarantee. The AI assistant that processes your purchase request is physically and logically separated from the system that holds your payment data.

Here's exactly how it works, what we store, what we never store, and where Stripe's independent compliance certifications fit in.

PCI SAQ-A compliant
Stripe-isolated vault
Token-only AI access
Hub-Spoke isolation
Architecture

The Hub-Spoke isolation model

Large language models are vulnerable to prompt injection — instructions embedded in web content that could manipulate the AI into leaking data. If an AI assistant held your card number in its context window, a malicious prompt could exfiltrate it. AGC eliminates this attack surface entirely.

Buyer

"Order my usual beans."

AI Spoke

Conversational layer

Handles intent. Knows only the Stripe customer token — never the card.

Token only — no card data crosses here

AGC Hub

Payment executor

Creates Stripe PaymentIntent. Creates Shopify DraftOrder. Issues confirmation. Holds no card data.

Stripe Vault

Card data only lives here

SAQ-A certified. Raw card numbers and MDES tokens stay inside Stripe's isolated infrastructure permanently.

The AI sees

  • Your intent ("light roast, 250g")
  • A Stripe customer token (cus_xxx)
  • The confirmed order total
  • A transaction confirmation

The Hub sees

  • The Stripe customer token
  • The Shopify product + variant ID
  • The confirmed total to charge
  • The Shopify DraftOrder ID

Stripe sees

  • Your raw card number (one time, at vault)
  • The MDES network token (never leaves Stripe)
  • Payment execution instructions from Hub
  • Nothing from the AI Spoke directly
Card vaulting

How your card is stored — and how it's used.

01

You enter your card into a Stripe Elements iframe

The card form is hosted directly by Stripe — not by AGC. The raw card number is transmitted over TLS directly to Stripe's servers. AGC's servers never receive it.

02

Stripe auto-provisions an MDES network token

Stripe's SetupIntent flow automatically requests a Mastercard Digital Enablement Service (MDES) network token — a cryptographically secure representation of your card that replaces the PAN for all future transactions.

03

AGC receives only a safe customer token

Stripe returns a cus_xxx customer token to AGC. This is what the AI assistant and Hub use for all future purchases. It cannot be used to reconstruct your card number.

04

Each purchase uses the MDES token

When a purchase is executed, Stripe uses the network token — not the raw PAN — to charge your card. The raw number is never transmitted again after initial vaulting.

PCI compliance level

SAQ-A

Self-Assessment Questionnaire A

SAQ-A is the simplest PCI compliance level. It applies when a merchant fully outsources card data handling to a certified payment processor and has zero contact with card data. This is the level AGC qualifies for because Stripe holds all card data — AGC's servers are completely out of scope.

Stripe certifications

PCI DSS Level 1SOC 2 Type IIISO 27001GDPR compliant

What AGC doesn't do

AGC does not act as the Merchant of Record — we do not hold funds, calculate taxes, or take financial liability for transactions. Payments are routed directly to merchants via Stripe Connect. Each merchant's existing Shopify tax and shipping configuration applies.

3D Secure / SCA

What happens when your bank asks for extra verification.

Some banks — particularly international issuers — require 3D Secure (3DS) authentication for card-not-present transactions. Because AI-initiated purchases happen off-session, we've built an explicit fallback for this.

01

Bank requests 3DS

The AI initiates the purchase with off_session: true. Stripe detects that your bank requires 3D Secure authentication and returns a requires_action error instead of completing the charge.

02

AGC pauses and notifies

The Hub catches the requires_action status. The AI assistant pauses the transaction and sends you a secure Stripe-hosted authentication URL — not a custom page, not AGC infrastructure.

03

You authenticate, purchase completes

You tap the link, complete the 3DS challenge (typically a one-tap approval in your banking app), and the payment resumes automatically. If you decline or it times out, the transaction is cancelled and you're not charged.

You are never charged if authentication fails. The PaymentIntent is cancelled and no funds leave your account. 3DS is triggered by your bank's risk rules, not by AGC — it's a consumer protection measure, not a bug.

Data scope

What we store. What we never store.

Precise inventory of every data point associated with a buyer account.

AGC buyer account — data inventory

Card number (PAN)

Never transmitted to AGC servers. Entered directly into a Stripe Elements iframe and transmitted by Stripe's client library to Stripe's servers only.

Never stored

MDES network token

Provisioned by Stripe internally. Stored in Stripe's vault only. AGC never receives it — only a reference token (cus_xxx) that cannot reconstruct it.

Never stored

CVV / CVC

Never stored anywhere. Stripe uses it at initial vaulting only, in accordance with PCI DSS — it is not retained after the SetupIntent completes.

Never stored

Stripe customer token (cus_xxx)

A safe reference ID that allows AGC to initiate charges through Stripe. Cannot be used to reconstruct or access the underlying card. Stored in AGC Firestore.

AGC stores

Email address

Used for account identification and transaction confirmations. Stored in AGC Firestore.

AGC stores

Order history

Product IDs, merchant IDs, order totals, and timestamps. Used for preference memory and recommendation context. No payment data.

AGC stores

Preference profile

Roast preference, grind, quantity, and frequency inferred from order history. Used by the AI assistant for recommendations. Never sold or shared with merchants.

AGC stores
Compliance

Independent certifications.

AGC's payment security model is built on Stripe — not on self-certified claims. Stripe's compliance certifications are independently audited and publicly documented.

PCI DSS Level 1

Stripe

The highest level of PCI compliance — mandatory for processors handling over 6 million transactions annually. Requires an annual on-site audit by a Qualified Security Assessor (QSA). AGC inherits this coverage because Stripe handles all card data.

SOC 2 Type II

Stripe

An independent audit of Stripe's security, availability, and confidentiality controls over a sustained period. Type II (not just Type I) means the controls were tested in practice, not just described on paper.

ISO 27001

Stripe

International standard for information security management systems. Covers how Stripe identifies, manages, and mitigates information security risks across its infrastructure.

SAQ-A (self-assessed)

Agentic Commerce

Because AGC has zero access to card data — all handling is fully outsourced to Stripe — AGC qualifies for the simplest PCI self-assessment level. The assessment consists of a 30-minute questionnaire confirming that AGC's servers are out of card data scope.

Ready to get early access?

Now that you understand how the security model works, join the waitlist for buyer accounts. We'll reach out when your spot is ready.