<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <title>Refund Policy — Roam · 30-day money-back + EU 14-day withdrawal</title>
  <meta name="description" content="Roam refund policy: PR Replay refund terms, planned hosted subscription refunds, EU 14-day right of withdrawal, and private-deployment pilot terms.">
  <link rel="canonical" href="https://roam-code.com/refund">
  <meta property="og:title" content="Refund Policy — Roam">
  <meta property="og:description" content="Refund mechanics for PR Replay, planned hosted subscriptions, and private-deployment pilots.">
  <meta property="og:url" content="https://roam-code.com/refund">
  <meta property="og:image" content="https://roam-code.com/og.png">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:image" content="https://roam-code.com/og.png">

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "WebPage",
    "name": "Refund Policy",
    "url": "https://roam-code.com/refund",
    "inLanguage": "en",
    "dateModified": "2026-05-18",
    "isPartOf": {"@type": "WebSite", "name": "Roam", "url": "https://roam-code.com/"},
    "publisher": {"@type": "Organization", "name": "Cranot", "url": "https://github.com/Cranot"},
    "breadcrumb": {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://roam-code.com/"},
        {"@type": "ListItem", "position": 2, "name": "Refund", "item": "https://roam-code.com/refund"}
      ]
    }
  }
  </script>
  <link rel="icon" type="image/svg+xml" href="/favicon.svg">
  <meta name="theme-color" content="#0049b7">
  <meta name="apple-mobile-web-app-title" content="Roam">
  <link rel="apple-touch-icon" href="/favicon.svg">
  <link rel="manifest" href="/manifest.webmanifest">
  <link rel="preload" href="/fonts/space-grotesk-variable.woff2" as="font" type="font/woff2" crossorigin>
  <link rel="preconnect" href="//github.com" crossorigin>
  <link rel="preconnect" href="//pypi.org" crossorigin>
  <link rel="preload" href="./landing.css" as="style">
  <link rel="stylesheet" href="./landing.css">
  <meta name="robots" content="index,follow">
</head>
<body>

  <a class="skip-link" href="#main">Skip to content</a>

  <nav class="site-nav" aria-label="Main navigation">
    <div class="nav-inner">
      <a href="/" class="site-logo">roam<span class="logo-dot">.</span></a>
      <input type="checkbox" id="nav-toggle" class="nav-toggle-checkbox" aria-label="Toggle navigation menu">
      <label for="nav-toggle" class="nav-toggle-label">
        <span class="nav-burger" aria-hidden="true"></span>
        <span class="visually-hidden">Menu</span>
      </label>
      <ul class="nav-links">
        <li><a href="/">Home</a></li>
        <li><a href="/pricing">Pricing</a></li>
        <li><a href="/compare">Compare</a></li>
        <li><a href="/setup">Setup</a></li>
        <li><a href="/docs/">Docs</a></li>
        <li><a href="https://github.com/Cranot/roam-code">GitHub</a></li>
      </ul>
    </div>
  </nav>

  <main id="main" class="legal-page">
    <header class="legal-header">
      <h1>Refund Policy</h1>
      <p class="legal-meta">Last updated: <time datetime="2026-05-18">2026-05-18</time> · Effective: <time datetime="2026-05-18">2026-05-18</time></p>
    </header>

    <article>
      <p>
        We back our paid services with a clear refund policy. The summary:
        <strong>PR Replay is refundable before kickoff (Day 1)</strong>,
        and Roam Cloud will carry a 30-day first-charge refund once
        generally available. Other tiers have specific terms below.
        For PR Replay engagements, the signed
        <a href="https://github.com/Cranot/roam-code/blob/main/templates/legal/sow-pr-replay.md">Statement of Work</a>
        takes precedence over this page where the two diverge.
      </p>

      <h2>Roam Cloud (when available) — 30-day first-charge refund</h2>
      <p>
        When Roam Cloud is available, if you subscribe to any tier (Starter,
        Team, Growth) and decide it's not for you within <strong>30 days of
        your first charge</strong>, we will refund the full subscription amount.
      </p>
      <ul>
        <li><strong>How to claim:</strong> email <a href="mailto:hello@roam-code.com?subject=Refund%20request">hello@roam-code.com</a> from the email address on the account, with the order ID or charge date. No reason required.</li>
        <li><strong>Mechanism:</strong> the refund is processed via Stripe back to the original payment method. Card refunds typically appear in 5-10 business days.</li>
        <li><strong>Eligibility:</strong> first charge per account. Subsequent renewals are not eligible (cancel anytime to stop the next charge — see below).</li>
        <li><strong>What stops:</strong> on refund, the subscription is cancelled and access ends immediately.</li>
      </ul>

      <h2>Roam Review — 14-day withdrawal, then term-bound</h2>
      <p>
        Roam Review is planned as a flat-tier subscription (Starter $99,
        Team $299, Business $799, Scale $1,499/mo) with usage caps, billed
        monthly or annually. EU consumer law gives you a 14-day right of
        withdrawal from any distance contract. Within those 14 days, email
        us for a full refund.
      </p>
      <p>
        Beyond 14 days: monthly plans renew month-to-month and you can
        cancel any time from your account (the cancellation stops the next
        renewal but does not refund the current month). Annual plans are
        paid up-front and not refundable for convenience after the 14-day
        window; you may still cancel auto-renewal any time.
      </p>
      <p>
        Roam Review remains <strong>free for open-source projects forever</strong>
        (no charge, nothing to refund).
      </p>

      <h2>Roam Self-Hosted — case-by-case</h2>
      <p>
        Self-Hosted is not a packaged GA product today. Private-deployment
        pilots are scoped individually, and refund terms are negotiated and
        written into the order form before work starts.
      </p>

      <h2>PR Replay — refund before kickoff</h2>
      <p>
        <a href="/audit">PR Replay</a> terms are governed by the signed
        Statement of Work (SOW) Section 8, which takes precedence over
        this page where the two diverge. Reference template:
        <a href="https://github.com/Cranot/roam-code/blob/main/templates/legal/sow-pr-replay.md">sow-pr-replay.md</a>.
        The clauses most material to a chargeback or dispute:
      </p>
      <ul>
        <li><strong>Pre-kickoff (Day 1 only):</strong> full refund, no
          questions asked, on written request to
          <a href="mailto:hello@roam-code.com?subject=PR%20Replay%20refund%20request">hello@roam-code.com</a>.
          Kickoff is defined as Day 2 of the engagement timeline in
          SOW Section 4 — the day the replay run begins.</li>
        <li><strong>EU 14-day right of withdrawal:</strong> EU consumers
          may withdraw within 14 calendar days of payment per Directive
          2011/83/EU. Where the buyer is a business (B2B), the right of
          withdrawal does not strictly apply but we honour it in practice.</li>
        <li><strong>Zero-findings clause (Team tier only):</strong> if a
          Team engagement surfaces zero findings worth wiring into CI
          (our reasonable judgement, narrated in the report), we will
          at your choice either (a) re-run the replay on a different
          range at no additional fee, or (b) refund 50% of the fee.
          Deep engagements do not carry this clause due to the longer
          window.</li>
        <li><strong>Post-kickoff cancellation (buyer request):</strong>
          non-refundable, but we will deliver the work-in-progress at
          the time of cancellation if you request it.</li>
        <li><strong>Acceptance window:</strong> deliverables are deemed
          accepted 5 business days after the walk-through call unless
          you raise specific written objections in writing within that
          window (SOW Section 6). If objections are raised and not
          resolved within 30 calendar days, SOW Section 8 refund
          clauses apply.</li>
      </ul>
      <p>
        Data-handling for PR Replay engagements is governed by the
        <a href="https://github.com/Cranot/roam-code/blob/main/templates/legal/dpa.md">Data Processing Agreement (DPA)</a>,
        incorporated by reference into every SOW.
      </p>

      <h2>How to cancel a subscription</h2>
      <ol>
        <li>Sign into your account dashboard at <a href="https://app.roam-code.com">app.roam-code.com</a> (when available)</li>
        <li>Settings → Billing → Cancel subscription</li>
        <li>Or email <a href="mailto:hello@roam-code.com?subject=Cancel%20subscription">hello@roam-code.com</a> from the account email</li>
      </ol>
      <p>
        Cancellation takes effect at the end of your current billing period.
        You keep access until then. We don't pro-rate cancellations of
        already-paid periods unless within the refund windows above.
      </p>

      <h2>EU consumer rights notice</h2>
      <p>
        EU consumers have a 14-day right of withdrawal from distance contracts
        (Directive 2011/83/EU as transposed in Greek law via Joint Ministerial
        Decision Z1-891/2013). Where your local law gives you stronger rights
        than this Refund Policy, those rights apply.
      </p>
      <p>
        For digital content delivered immediately after launch (for example,
        the Roam Review GitHub App being installed and active immediately upon
        subscription), we ask that you explicitly consent to immediate delivery
        and acknowledge that the right of withdrawal lapses upon use. If you
        don't want immediate delivery, contact us before completing checkout
        and we'll arrange a delayed start.
      </p>

      <h2>Disputes and chargebacks</h2>
      <p>
        Please contact us first at
        <a href="mailto:hello@roam-code.com?subject=PR%20Replay%20refund%20or%20dispute">hello@roam-code.com</a>
        before initiating a credit-card chargeback. We aim to acknowledge
        refund or dispute requests within <strong>2 business days</strong>
        and to resolve them within <strong>5 business days</strong>.
        Most disputes are resolved by clarifying scope against the signed
        SOW; please reference your SOW effective date and tier in the
        first email so we can match the engagement record quickly.
      </p>
      <p>
        For EU consumer disputes only, the EU Online Dispute Resolution
        platform at <a href="https://ec.europa.eu/consumers/odr">ec.europa.eu/consumers/odr</a>
        is also available (Regulation (EU) No 524/2013).
      </p>
      <p>
        Chargebacks initiated without prior contact may incur a
        chargeback-handling fee on subsequent reinstatement, and we
        reserve the right to submit the signed SOW, delivery proof,
        engagement record, and walk-through-call record to the card
        network as evidence in the dispute.
      </p>

      <p class="legal-foot">
        Questions? <a href="mailto:hello@roam-code.com">hello@roam-code.com</a>.
      </p>
    </article>
  </main>

  <footer>
    <div class="footer-inner">
      <div class="footer-col">
        <strong>Roam</strong>
        <span>The local codebase intelligence layer for AI agents and the teams that run them.</span>
        <span class="footer-meta">Built in Athens. Made in the EU.</span>
      </div>
      <div class="footer-col">
        <a href="https://github.com/Cranot/roam-code">GitHub</a>
        <a href="https://pypi.org/project/roam-code/">PyPI</a>
        <a href="/docs/">Docs</a>
      </div>
      <div class="footer-col">
        <a href="/setup">Setup</a>
        <a href="/about">About</a>
        <a href="/press">Press</a>
        <a href="/changelog">Changelog</a>
        <a href="/status">Status</a>
        <a href="/security">Security</a>
        <a href="/accessibility">Accessibility</a>
      </div>
      <div class="footer-col">
        <a href="/privacy">Privacy</a>
        <a href="/terms">Terms</a>
        <a href="/refund">Refund</a>
        <a href="/no-cookies">No cookies</a>
      </div>
      <div class="footer-col">
        <a href="mailto:hello@roam-code.com">hello@roam-code.com</a>
        <a href="mailto:security@roam-code.com">security@roam-code.com</a>
        <span class="footer-meta">No cookies. No tracking. No analytics.</span>
        <span class="footer-meta"><a href="https://github.com/Cranot/roam-code/tree/main/templates/distribution/landing-page">This page is open source</a></span>
      </div>
    </div>
  </footer>

</body>
</html>
