Plans and limits
Product limits for evaluating Signal Diff or troubleshooting blocked runs. For checkout, trials, and Stripe billing, see Pricing.
On this page
Feature matrix (free vs paid)
Free (GitHub) means you signed in with GitHub and do not have an active paid CI API key. Paid means at least one active API key from checkout on Pricing.
| Capability | Free (GitHub) | Paid |
|---|---|---|
| On-demand monitored runs | Yes | Yes |
| Recurring schedules | Yes | Yes |
| Run history & report payloads | 30 days | 30 days |
CI API keys (x-ci-api-key) |
No | Yes |
| Concurrent crawls (see below) | 1 | 3 |
| Deploy diff (same site, run report) | Yes | Yes |
| Cross-environment compare (Dev / Test / Prod) | No | Yes |
| Projects (compare presets) | No | Yes |
| Customer agents | Requires paid key | Yes |
| Organization members (invite by GitHub) | Yes | Yes |
| Per-monitor access grants | Yes | Yes |
Runs older than 30 days are pruned from history (UTC, from run completion). Paid checkout unlocks CI, cross-environment compare, projects, higher concurrency, and customer agents—not extended retention. Key lifecycle detail: API keys lifecycle guide. Team setup: Organizations and teams.
Organizations and teams
Every signed-in user belongs to one organization. Invite colleagues on the free or paid plan—there is no per-seat charge. Shared run history, schedules, ignore rules (per monitor), and paid CI keys are scoped to the organization.
- Roles — Owner (manage members and billing), Member (read/write), Viewer (read-only).
- One org per GitHub account — Invitees already in another organization must leave it first.
- Paid entitlement — Checkout by the Owner unlocks CI keys and paid limits for the whole org.
Invite members and restrict monitor access under Settings → Organization. Full walkthrough: Organizations and teams.
Anonymous vs signed-in
You can try a one-off scan without an account. Signing in with GitHub (free) unlocks persistent monitoring features.
| Capability | Anonymous try-a-scan | Signed in (free GitHub) |
|---|---|---|
| Run a scan and view the latest report | Yes | Yes |
| Saved sites & run history | No | Yes (30 days) |
| Deploy diff & compare previous run | No | Yes |
| Share link & export | No | Yes |
| Recurring schedules | No | Yes |
| Ignore rules | No | Yes |
Signed-in users can copy dashboard deep links and download completed runs as HTML reports—see Share links and Export in the dashboard guide. See also Baselines and diffs for how compare and retention interact, and Getting started for your first monitored run after sign-in.
Concurrent crawls
Signal Diff caps how many crawls your organization may have Pending or Running at once. Manual dashboard runs, schedules, CI triggers, and agent-backed jobs from any member all count toward the same org limit.
When you exceed the limit, new starts return 429 Too Many Requests with a message like
Too many crawls are already running for your account.
Wait for a run to finish, cancel a stuck job on the dashboard, or upgrade on
Pricing for a higher limit.
Troubleshooting: Rate limits and Schedules — last skipped.
Report storage (per-page detail)
All plans crawl the full sitemap (unless you set MaxPages) and store site-wide counts for every run.
Per-page findings in the dashboard and HTML export are capped at 25 pages by default to limit Cosmos document size and keep reports fast.
When a crawl exceeds the cap, stored pages are chosen in priority order: errors first, then warnings, then info, then clean pages. Large runs show a coverage banner in the report; deploy diff URLs changed counts are site-wide, but the path-level list is capped at 100 rows.
There is no paid-tier increase to the stored-page cap today.
Operators hosting Signal Diff can raise AgentProtocol:MaxReportPages on the API—see
Troubleshooting — report page coverage.
What happens when you cancel
You can cancel anytime via the Stripe billing portal. When signed in with an active paid plan, open it from Manage subscription on Pricing or Manage billing on Developers → API keys. Billing and trial FAQ answers stay on Pricing—this section covers product behavior only.
- During the paid period — Your CI API key stays active until its Expires date. Paid-tier concurrent crawl limits and customer agent enrollment continue to work.
- After the key expires — CI triggers and agent enroll return 401 Unauthorized. Your account drops back to free (GitHub) capabilities: on-demand runs, saved sites, schedules, and 30-day history in the app.
- Renew — Start a new checkout on Pricing to obtain a fresh active key.
Next steps
- Pricing — Compare plans, start checkout, and open Manage subscription for billing.
- API keys lifecycle — Reveal, rotate, revoke, and expiry behavior.
- CI and GitHub Actions setup — Wire paid CI triggers.
- Customer agent setup — Crawl internal URLs (requires paid key).