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.
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
The Hub sees
Stripe sees
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
Email address
Used for account identification and transaction confirmations. Stored in AGC Firestore.
Order history
Product IDs, merchant IDs, order totals, and timestamps. Used for preference memory and recommendation context. No payment data.
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'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.
Now that you understand how the security model works, join the waitlist for buyer accounts. We'll reach out when your spot is ready.