{
 "id": "semgrep",
 "name": "Semgrep",
 "category": "developer_tools",
 "website": "https://semgrep.dev",
 "domains": [
  "semgrep.dev"
 ],
 "summary": "No self-serve cancel is documented: email billing@semgrep.com to modify or cancel a plan. Card-paid Team plans are charged monthly; invoice and purchase-order plans go through billing, Enterprise contracts through Semgrep Sales. Export findings as CSV first. The Free Edition allows at most 10 contributors.",
 "routes": [
  {
   "channel": "direct_web",
   "label": "Team plan paid by card",
   "applies_to": "Team plans paid by credit card in Semgrep AppSec Platform (charged monthly through Stripe)",
   "who": "Whoever manages the organization's plan, by emailing Semgrep billing (the billing page doesn't say who may ask)",
   "method": "email",
   "start_url": "https://docs.semgrep.dev/usage-and-billing/plan-changes-and-payments.md",
   "steps": [
    {
     "do": "Export any findings you want to keep (see Export) before you ask to cancel",
     "expect": null
    },
    {
     "do": "Email billing@semgrep.com and ask to cancel (or change) your plan",
     "expect": null
    }
   ],
   "confirm_by": "A written reply from Semgrep billing; the billing page doesn't describe another confirmation",
   "effective": null,
   "notice": null,
   "refund": null,
   "fees": null,
   "source_ids": [
    "s1",
    "s2",
    "s11"
   ]
  },
  {
   "channel": "sales_contract",
   "label": "Enterprise, invoice or purchase order",
   "applies_to": "Enterprise plans on an agreed billing cycle or annual contract, and plans paid by purchase order or invoice",
   "who": "The customer contact for the contract, through Semgrep billing, Semgrep Sales or the Semgrep Account Executive",
   "method": "contact_sales",
   "start_url": null,
   "steps": [
    {
     "do": "For a purchase-order or invoice plan, email Semgrep billing at billing@semgrep.com",
     "expect": null
    },
    {
     "do": "For an Enterprise plan, email Semgrep Sales at sales@semgrep.com (or your Semgrep Account Executive) about billing-cycle and contract changes",
     "expect": null
    }
   ],
   "confirm_by": null,
   "effective": null,
   "notice": null,
   "refund": null,
   "fees": "No termination fee is published. Under an annual contract, contributors beyond the licences bought are charged from the month after the overage",
   "source_ids": [
    "s3",
    "s4",
    "s5",
    "s12",
    "s13"
   ]
  }
 ],
 "pay_less": [
  {
   "type": "free_plan",
   "what": "Free Edition: scans up to 10 repositories and allows a maximum of 10 contributors",
   "evidence": "documented",
   "source_ids": [
    "s6",
    "s7",
    "s8"
   ]
  },
  {
   "type": "discount_program",
   "what": "Discounted startup pricing for small teams; apply through the form linked from Semgrep's usage and billing page",
   "evidence": "documented",
   "source_ids": [
    "s10",
    "s18"
   ]
  }
 ],
 "export": [
  {
   "data": "Findings (Code, Supply Chain and Secrets), with rule, severity, status, repository and triage details",
   "how": "Open the product's findings page in Semgrep AppSec Platform and click the download icon near the Group & Sort filters; use the API for more",
   "format": "CSV",
   "limits": "Up to the 10,000 most recent findings; the export ignores page filters. Use the API for more",
   "source_ids": [
    "s14",
    "s15",
    "s16"
   ]
  }
 ],
 "after_cancel": {
  "access_until": null,
  "data_kept": "Not stated for scan data. The privacy policy says no purpose in it requires keeping personal information longer than 2 years",
  "you_lose": []
 },
 "agent_notes": {
  "sign_in_needed": false,
  "phone_or_chat_only": false,
  "retention_step": null,
  "tips": [
   "No in-app cancel button is documented: Settings > Billing is for buying products, while cancelling goes through billing@semgrep.com",
   "Enterprise and annual-contract customers deal with Semgrep Sales or their Account Executive, not the app",
   "Organizations on a free license may be started on a free Teams trial automatically",
   "Ask Semgrep billing to confirm the cancellation and its end date in writing"
  ]
 },
 "sources": [
  {
   "id": "s1",
   "url": "https://docs.semgrep.dev/usage-and-billing/plan-changes-and-payments.md",
   "title": "Upgrade your Semgrep subscription plan",
   "publisher": "vendor",
   "quote": "To modify or cancel your plan, contact",
   "supports": "cancelling a plan goes through Semgrep billing, with no self-serve steps"
  },
  {
   "id": "s2",
   "url": "https://docs.semgrep.dev/usage-and-billing/plan-changes-and-payments.md",
   "title": "Upgrade your Semgrep subscription plan",
   "publisher": "vendor",
   "quote": "mailto:billing@semgrep.com",
   "supports": "the Semgrep billing email address"
  },
  {
   "id": "s3",
   "url": "https://docs.semgrep.dev/usage-and-billing/plan-changes-and-payments.md",
   "title": "Upgrade your Semgrep subscription plan",
   "publisher": "vendor",
   "quote": "If you would like to pay through a purchase order or invoice, contact",
   "supports": "purchase-order and invoice plans go through Semgrep billing"
  },
  {
   "id": "s4",
   "url": "https://docs.semgrep.dev/usage-and-billing/plan-changes-and-payments.md",
   "title": "Upgrade your Semgrep subscription plan",
   "publisher": "vendor",
   "quote": "Enterprise plan users are charged on an agreed-upon billing cycle.",
   "supports": "Enterprise plans are billed on an agreed cycle; billing-cycle questions go to Semgrep Sales"
  },
  {
   "id": "s5",
   "url": "https://docs.semgrep.dev/support.md",
   "title": "Support",
   "publisher": "vendor",
   "quote": "mailto:sales@semgrep.com",
   "supports": "the Semgrep Sales email address"
  },
  {
   "id": "s6",
   "url": "https://semgrep.dev/pricing",
   "title": "Semgrep pricing",
   "publisher": "vendor",
   "quote": "Free Edition",
   "supports": "a free plan exists"
  },
  {
   "id": "s7",
   "url": "https://semgrep.dev/pricing",
   "title": "Semgrep pricing",
   "publisher": "vendor",
   "quote": "Scan up to 10 repositories",
   "supports": "the free plan's repository limit"
  },
  {
   "id": "s8",
   "url": "https://semgrep.dev/pricing",
   "title": "Semgrep pricing",
   "publisher": "vendor",
   "quote": "Maximum 10 contributors.",
   "supports": "the free plan's contributor limit"
  },
  {
   "id": "s9",
   "url": "https://semgrep.dev/legal/privacy",
   "title": "Privacy policy",
   "publisher": "vendor",
   "quote": "No purpose in this policy will require us keeping your personal information for longer than 2 years.",
   "supports": "how long personal information is kept (scan data is not covered)"
  },
  {
   "id": "s10",
   "url": "https://docs.semgrep.dev/usage-and-billing/overview.md",
   "title": "Usage and billing",
   "publisher": "vendor",
   "quote": "discounted startup pricing",
   "supports": "discounted startup pricing exists for small teams"
  },
  {
   "id": "s11",
   "url": "https://docs.semgrep.dev/usage-and-billing/plan-changes-and-payments.md",
   "title": "Upgrade your Semgrep subscription plan",
   "publisher": "vendor",
   "quote": "who pay using a credit card are charged monthly. Payments are processed through Stripe.",
   "supports": "card-paid Team plans are charged monthly through Stripe"
  },
  {
   "id": "s12",
   "url": "https://docs.semgrep.dev/usage-and-billing/reconciliation.md",
   "title": "License reconciliation",
   "publisher": "vendor",
   "quote": "Contact your Semgrep Account Executive if you need more licenses than initially purchased.",
   "supports": "contract customers work with a Semgrep Account Executive"
  },
  {
   "id": "s13",
   "url": "https://docs.semgrep.dev/usage-and-billing/reconciliation.md",
   "title": "License reconciliation",
   "publisher": "vendor",
   "quote": "you will be charged for each extra license starting the month after the overage occurs",
   "supports": "overage charges under an annual contract"
  },
  {
   "id": "s14",
   "url": "https://docs.semgrep.dev/semgrep-code/findings.md",
   "title": "Semgrep Code findings",
   "publisher": "vendor",
   "quote": "Export findings by navigating to the product page and clicking the",
   "supports": "where the findings export starts"
  },
  {
   "id": "s15",
   "url": "https://docs.semgrep.dev/semgrep-code/findings.md",
   "title": "Semgrep Code findings",
   "publisher": "vendor",
   "quote": "Semgrep exports all findings to the CSV file regardless of the filters you apply on the page",
   "supports": "CSV format; page filters are ignored"
  },
  {
   "id": "s16",
   "url": "https://docs.semgrep.dev/semgrep-code/findings.md",
   "title": "Semgrep Code findings",
   "publisher": "vendor",
   "quote": "10,000 most recent findings",
   "supports": "the export limit"
  },
  {
   "id": "s17",
   "url": "https://docs.semgrep.dev/usage-and-billing/overview.md",
   "title": "Usage and billing",
   "publisher": "vendor",
   "quote": "Semgrep automatically starts a free trial of the",
   "supports": "free-license organizations get an automatic Teams trial"
  },
  {
   "id": "s18",
   "url": "https://semgrep.dev/pricing",
   "title": "Semgrep pricing",
   "publisher": "vendor",
   "quote": "Yes, and we love startups",
   "supports": "startup pricing on request"
  }
 ],
 "verification": {
  "level": "partial",
  "checked_on": "2026-10-08",
  "by": "stackcut-research",
  "unverified": [
   "Who in an organization may ask to cancel, when a cancellation takes effect, and whether any refund applies aren't stated on Semgrep's billing pages or its public terms",
   "Renewal and notice terms for Enterprise and annual contracts are in signed agreements that aren't published",
   "What happens to scan data and findings after a paid plan ends isn't stated",
   "What happens when the automatic Teams trial ends isn't stated in Semgrep's billing docs"
  ],
  "review": {
   "by": "stackcut-review",
   "on": "2026-10-08",
   "result": "fixed",
   "notes": [
    "Summary said invoice plans go through Sales; the billing page sends them to Semgrep billing (Enterprise goes to Sales)",
    "Added that card-paid Team plans are charged monthly through Stripe, resolving the open billing-period question",
    "Added the annual-contract overage charge and the Account Executive contact from the reconciliation page",
    "Added the documented CSV findings export (10,000 most recent findings; API for more)",
    "Added the automatic free Teams trial for free-license organizations",
    "Public terms checked: they don't cover customer cancellation, refunds or renewal; no marketplace or app-store billing is documented"
   ]
  }
 },
 "page": "https://stackcut.io/cancel/semgrep",
 "json": "https://stackcut.io/exits/semgrep.json",
 "evidence": {
  "packet_revision": "192ea7dde875cdb226b6c7f5118b052b8b092cd58456541c20c0c3ba157208a8",
  "docs_checked_on": "2026-10-08",
  "last_observed_success_on": null,
  "verification": "partial",
  "freshness": {
   "as_of": "2026-10-09",
   "status": "current",
   "checked_on": "2026-10-08",
   "age_days": 1,
   "stale_after_days": 30,
   "next_check_on": "2026-11-07"
  },
  "routes": [
   {
    "route_id": "semgrep--direct-web--r1",
    "channel": "direct_web",
    "checked_on": "2026-10-08",
    "freshness": {
     "as_of": "2026-10-09",
     "status": "current",
     "checked_on": "2026-10-08",
     "age_days": 1,
     "stale_after_days": 30,
     "next_check_on": "2026-11-07"
    }
   },
   {
    "route_id": "semgrep--sales-contract--r2",
    "channel": "sales_contract",
    "checked_on": "2026-10-08",
    "freshness": {
     "as_of": "2026-10-09",
     "status": "current",
     "checked_on": "2026-10-08",
     "age_days": 1,
     "stale_after_days": 30,
     "next_check_on": "2026-11-07"
    }
   }
  ]
 },
 "license": "CC-BY-4.0",
 "credit": "Stackcut Exits (https://stackcut.io/cancel), CC BY 4.0"
}
