{
  "question": "How do I stop an AI agent from signing up for free trials and subscriptions that auto-renew?",
  "slug": "how-to-stop-an-ai-agent-from-signing-up-for-free-trials-and-subscriptions-that-auto-renew",
  "url": "https://www.rightshold.com/answers/how-to-stop-an-ai-agent-from-signing-up-for-free-trials-and-subscriptions-that-auto-renew",
  "short_answer": "Spend caps check the charge the agent makes. A subscription is different: the agent agrees once, often to a free trial that costs 0.00, and the merchant charges the card later on its own schedule, without the agent asking again. So a per-purchase check passes the sign-up and never sees the renewals. Treat 'agree to recurring billing' as its own action that needs a human. Have the agent describe the full terms (merchant, price after the trial, billing interval, trial end date, how to cancel) and send them to request_human_approval, which binds the approval to the hash of exactly those terms. Use authorize_spend for the first charge with the subscription id in reference. Then control the renewals where they happen, on the card: one virtual card per approved subscription with a limit matched to the plan, or a card you can turn off. Card network rules (Visa since April 2020, Mastercard since 2022) require merchants to remind you before a trial converts, and ROSCA requires consent and a simple way to cancel, so send those reminders to an inbox a person reads.",
  "checklist": [
    "Write the rule down: the agent may not accept recurring billing, auto-renewal or a trial that converts to paid without a human approving the specific terms. Put it in the agent's instructions, and enforce it in the checkout step rather than trusting the prompt.",
    "Have the agent extract the terms before it clicks: merchant, plan, price after the trial, currency, billing interval, trial end date, cancellation method and the account email the merchant will use. If it can't find them, it stops.",
    "Send those terms as the action object to request_human_approval (with a short summary and expires_in_minutes). The approval is bound to the SHA-256 of the canonical action, so approving a 9.00/month plan doesn't approve a 49.00/month one.",
    "Call authorize_spend for the first charge (even a small verification charge) with reference set to the subscription or order id, so the sign-up shows up in the signed spend record next to the approval.",
    "Pay recurring merchants with a dedicated virtual card per subscription. On Stripe Issuing, set spending_limits to the plan price per_authorization and a monthly (or yearly) interval, and add allowed_categories if you can. A renewal above the plan price, or an unexpected second charge, is declined at the card.",
    "Route merchant emails to a mailbox a person reads. Visa requires merchants to send the subscription terms at enrollment and a reminder with a cancellation link at least 7 days before a trial converts or terms change; Mastercard requires a reminder 3 to 7 days before a digital-goods trial ends.",
    "Keep a list of approved subscriptions with the trial end date and the card used. When a trial should end or the task is done, cancel with the merchant and set the card to inactive or canceled, so a missed cancellation can't keep billing.",
    "Review the card's authorizations monthly against the approved list. A recurring charge with no matching approval means the agent (or someone) signed up outside the process."
  ],
  "sections": [
    {
      "heading": "Why spend caps miss subscriptions",
      "points": [
        "A spend check runs when the agent asks to pay. A free trial costs nothing at sign-up, so it passes any cap, and the renewals are merchant-initiated charges on the stored card that the agent never requests. The decision that matters is agreeing to recurring billing, and that happens at sign-up.",
        "This is the negative option pattern regulators target. ROSCA (15 U.S.C. 8403) requires online sellers to disclose material terms before taking billing information, get express informed consent before charging, and provide simple ways to stop recurring charges. The FTC's 2024 click-to-cancel amendments were vacated by the Eighth Circuit in July 2025, and in February 2026 the FTC restored the older rule text, so ROSCA and state auto-renewal laws are what apply.",
        "Card networks add merchant duties: Visa's April 2020 rules for free trials and introductory offers require express consent, a copy of the terms at enrollment, a reminder at least 7 days before billing after a trial, and easy online cancellation. Those protect the cardholder only if a person sees the emails, which an agent signing up on your behalf may not forward."
      ]
    },
    {
      "heading": "Approve the terms, not just the first charge",
      "points": [
        "request_human_approval takes the action as an object and stores its SHA-256 (canonical JSON), a summary and an expiry (default 24 hours, up to 30 days). Only the owner's account key can decide it, and the decision is a signed record. Put the recurring terms in the action so the approval covers the renewal price and interval, not just today's 0.00.",
        "verify_human_approval lets the checkout step check that the approval exists and that its action hash matches the terms on screen. If the merchant changes the price or the interval, the hash no longer matches, and the agent has to ask again.",
        "authorize_spend then records the first charge against the agent's spending policy, with the subscription id in reference. Later renewals won't come through Rightshold, which is why the next step is at the card."
      ]
    },
    {
      "heading": "Control renewals at the card, and what Rightshold doesn't do",
      "points": [
        "Renewals hit the stored payment method, so the hard limit has to live there. Stripe Issuing spending_limits set an amount per authorization, day, week, month, year or all time, and a cardholder's limits apply across all of their cards. One card per subscription makes a stray charge stand out and lets you stop one subscription without touching others.",
        "Stripe notes that tips and fees can be posted later and push spend past a limit, and spend aggregation can lag by up to about 30 seconds, so keep the card limit close to the plan price and check statements.",
        "Rightshold records approvals and signs spend decisions. It doesn't see merchant-initiated renewals, cancel subscriptions or hold cards. Cancelling with the merchant and turning off the card are steps you run, and the Rightshold records show who approved which terms and when."
      ]
    }
  ],
  "checks": [],
  "ask_rightshold": {
    "start": "https://www.rightshold.com/start?ref=seo",
    "mcp_endpoint": "https://www.rightshold.com/mcp",
    "ask": "My agent wants to start a free trial of a SaaS tool that becomes 29.00 USD a month after 14 days. Ask me to approve those exact terms before it signs up, and tell me what the agent should record when the first charge happens.",
    "mcp_call": {
      "tool": "request_human_approval",
      "arguments": {
        "summary": "Agent wants to start a 14-day free trial that renews at 29.00 USD/month unless cancelled",
        "expires_in_minutes": 1440,
        "action": {
          "type": "subscription_signup",
          "merchant_domain": "app.example-saas.com",
          "plan": "Team",
          "trial_days": 14,
          "renewal_amount_minor": 2900,
          "currency": "USD",
          "interval": "month",
          "cancel_method": "online, account settings"
        }
      }
    },
    "also": [
      "Needs your owner account key, and only that key can decide the request (POST /v1/approvals/{id}/decide). It's in the trust toolset (connect to /mcp?toolset=trust).",
      "verify_human_approval is free. The checkout step uses it to confirm the approval matches the terms on screen before the agent clicks.",
      "authorize_spend records the first charge against the agent's spending policy; put the subscription id in reference. Renewals are charged by the merchant, so cap them on the card.",
      "ledger_verify is free and keyless for every approval and decision."
    ],
    "scope": "Rightshold records human approvals and spending policies and signs allow/deny decisions on a hash-chained ledger. It never holds, moves or settles money, does not see merchant-initiated renewals and cannot cancel subscriptions or cards: reading the terms, cancelling with the merchant and setting card limits are steps you run around those records. Not financial or legal advice."
  },
  "sources": [
    {
      "title": "15 U.S.C. 8403 (ROSCA): negative option marketing on the Internet",
      "url": "https://www.law.cornell.edu/uscode/text/15/8403"
    },
    {
      "title": "Federal Register, Feb 12, 2026: Revision of the Negative Option Rule to conform to federal court decisions",
      "url": "https://www.federalregister.gov/documents/2026/02/12/2026-02866/revision-of-the-negative-option-rule-withdrawal-of-the-cars-rule-removal-of-the-non-compete-rule-to"
    },
    {
      "title": "Visa: Updated policy for subscription merchants offering free trials or introductory promotions (effective 18 April 2020)",
      "url": "https://usa.visa.com/content/dam/VCOM/global/support-legal/documents/subscription-merchants-visa-public.pdf"
    },
    {
      "title": "TD: Payment card network updates for subscription merchants (Mastercard 3 to 7 day trial reminder)",
      "url": "https://www.td.com/content/dam/tdct/document/pdf/business-banking/pcn-updates-for-subscription-merchants-en.pdf"
    },
    {
      "title": "Stripe Issuing: spending controls",
      "url": "https://docs.stripe.com/issuing/controls/spending-controls"
    },
    {
      "title": "Agent spending policies on Rightshold",
      "url": "https://www.rightshold.com/agent-spending-policies"
    }
  ],
  "related": [
    {
      "title": "How to require human approval before an AI agent spends money",
      "url": "https://www.rightshold.com/answers/how-to-require-human-approval-before-an-ai-agent-spends-money"
    },
    {
      "title": "How to require quote-bound approval before an agent payment settles",
      "url": "https://www.rightshold.com/answers/how-to-require-quote-bound-approval-before-an-agent-payment-settles"
    },
    {
      "title": "How to give an AI agent a virtual card with a spending limit",
      "url": "https://www.rightshold.com/answers/how-to-give-an-ai-agent-a-virtual-card-with-a-spending-limit"
    },
    {
      "title": "How to temporarily pause an AI agent's spend without revoking its credential",
      "url": "https://www.rightshold.com/answers/how-to-temporarily-pause-an-ai-agents-spend-without-revoking-its-credential"
    }
  ],
  "computed_from": "Curated guidance; license verdicts computed from Rightshold's license profiles at render time. Not legal advice.",
  "updated": "2026-11-08"
}