Skip to content
Alpha · free while we build

Your users are already telling you what's broken.

See every incident, request and idea from every product you ship — ranked by what actually matters, on one board your whole team can watch.

Free while we build. The first 50 teams keep today's Pro price for 12 months.

  • Built for four products of our own, first
  • Unlimited free viewers on every plan
  • Built for AI agents, not only people
One bug, end to endlive

Your user is getting on with their day.

Nobody typed a priority · nobody triaged it by hand · the reporter never left your product

The problem

The reports you never see
are the ones that cost you.

One person reports a broken checkout on a Tuesday. Four more hit the same thing by Thursday and do not bother reporting it, because the first one never heard back. You find out in a renewal call six weeks later — and by then the bug is fixed and the account is not.

Reports arrive everywhere

A WhatsApp message. A founder’s DMs. A spreadsheet somebody keeps. The reports you never see are the ones that quietly become churn.

Priority becomes a shouting match

Whoever escalates loudest wins the sprint. Every reporter’s issue is urgent to them, so a free-text priority field only ever fills up with P1.

Nobody knows what is overdue

Without a clock, “we’ll get to it” and “we forgot” look identical — to your team, and to the person still waiting.

How it works

Three steps, and the queue
arrives already sorted.

Drop in one snippet

One publishable key per product, safe to ship in your bundle. Your users report without leaving your app.

Signal captures the screenshot, console, network trail and session steps — with the reporter’s consent, redacted in their browser before anything is uploaded.

It arrives ranked

You never set a priority. Impact and urgency derive it; blast radius, response burn and reopens decide the order.

Not a queue you sort. A queue that arrives sorted, and shows its working when you ask why.

Your team watches one board

Every product on one instrument, most urgent first, with the deadline named in words underneath.

Viewers are free and unlimited, so the people who need to know can watch without a purchase order.

Installany framework
import { Signal } from '@signal/js';

Signal.init({
  key: 'sig_pub_7Qf2kR9vMxA3nB6cD8eF1gH4',
  product: 'checkout',
  user: { id: currentUser.id, email: currentUser.email },
});

The board

One lamp per signal.
Four readings at a glance.

An instrument you glance at, not a list you read. Leftmost is what to pick up first — and the line underneath says so in words, with its deadline.

Live boardall products
17 live · 2 breached

Watching 17 live signals across every product

P1 incident, 34 reporters, 90% of target used
Priority
P1 — critical
Burn
90% — urgent pulse
Reporters
34 people
Type
Incident

Fill colour

Priority

P1 red through P4 slate. The channel you act on.

Pulse rate

Response burn

Steady, then breathing at 50%, urgent at 80%, strobing on breach.

Diameter

Blast radius

How many distinct people reported it, log-scaled.

Shape

Type

Filled dot for an incident, ring for feedback, square for a request.

Nothing is carried by colour alone. Shape carries type and cadence carries urgency, so the board survives greyscale and colour-blindness. Turn on reduced motion and every pulse becomes a static dial — a complete view, not a lesser one.

Priority

Derived, never argued.

Priority comes from how many people are affected and how fast it is getting worse — not from a dropdown the reporter picks. When P1 is a free-text choice, everything becomes a P1.

Your team can override it. The reason is mandatory, and it stays in the trail where the next person can read it.

p1p2p3p4
Priority derived from impact and urgency
CriticalHighMediumLow
Extensive
p1
p1
p2
p3
Significant
p1
p2
p3
p3
Moderate
p2
p3
p3
p4
Minor
p3
p3
p4
p4

Impact down the side, urgency across the top. Forty reporters on a P4 must never outrank one reporter on a P1 — so blast radius counts sub-linearly, and there is a test that pins it.

Response targets

A clock everyone can see,
running on our server.

Countdowns are measured against the server's clock, never the browser's — so a laptop with a skewed clock cannot render the wrong urgency for its owner and nobody else.

P1 · Critical

1 hour

to first response

P2 · High

4 hours

to first response

P3 · Normal

24 hours

to first response

P4 · Low

72 hours

to first response

The clock pauses on you, not on them

While a signal is waiting on the reporter, the countdown stops. A clock that burns through someone else's silence is measuring the wrong thing, and it punishes the team for a delay they did not cause.

Feedback carries no clock at all

An idea with a countdown gets closed to protect a number. The fastest way to stop people sending you ideas is to answer them like tickets, so feedback never pulses and never breaches.

Why this exists

We are customer number one.

We built Signal because we were losing bug reports across four products in four different places — a WhatsApp thread here, someone’s inbox there. We needed one board. It turned out nobody sells one that a whole team can watch without paying per pair of eyes, so we made it.

Running our own support queue since day one

Platform

Built to be wired in,
not bolted on.

Signal sits above your products rather than inside one of them. Every product you ship — and any tool you want to forward from — reports in through the same documented API, with credentials you can scope, rotate and revoke on their own.

Two key classes, on purpose

A publishable key is safe in your browser bundle — write-only, one product, and it can never read your queue. Secret keys stay on your servers.

Rotate without a flag day

Issuing a successor leaves the current key alive until it expires. Rotation that breaks every deployed client is rotation nobody performs.

Idempotent by default

A report submitted twice because a tunnel blipped is visible to the reporter. That makes it the one duplicate worth paying to prevent.

Webhooks you can verify

HMAC-SHA256 over the timestamp and body, with the timestamp inside the signed payload so a captured call cannot be replayed.

Errors a developer can act on

Validation failures name the field that failed. Your engineers should never have to read our logs to fix their request.

Rate limits you can see coming

Every response carries its limit, remaining and reset — not just the ones that fail. Back off before you are rejected.

Your users never see Signal

They report from inside your product, in your branding, and they never create an account with us. Signal is your team's instrument — not another login you make your customers keep.

Diagnostics your users consent to

Screenshot, console, network and session trail are on by default; location is off. Redaction happens in their browser before upload, so the unredacted image never reaches a server. Everything is deleted 90 days after close.

Built for the AI era

Your software will file
more tickets than your users.

Monitors, test suites, CI and AI agents all notice problems before a person does — and none of them can read a help page. Signal treats software as a first-class reporter, because an API that an agent can operate unattended is the same API a developer enjoys.

Errors an agent can act on

Validation failures name the exact field and why: 422 with { path, message }. An agent can correct its own request and retry, instead of escalating a wall of prose to a human.

A spec, not a blog post

A published OpenAPI document means a caller — human or model — generates a client that cannot drift from the code. No scraping documentation to guess a shape.

Safe to retry

Every mutation takes an idempotency key. An agent that loses its connection mid-call can retry without filing the same incident twice, which is exactly the failure autonomous callers hit most.

Ranking that is inspectable

Priority is derived from a stated formula, and every term of the score is returned with the signal. An agent can explain why something ranked where it did — and so can you.

What a bad request gets back422
{
  "message": "unprocessable",
  "error": {
    "code": "VALIDATION",
    "path": "subject",          // the field, named
    "message": "subject is required"
  }
}

One piece of vocabulary, on purpose. In Signal an agent is always software. The people on your team are responders, and the ones who only watch the board are viewers. Everyone else overloaded the word and now has to write “human agent” forever; we kept it free for the thing that is about to need it.

Metrics

The numbers a review
actually needs.

Every number renders with its denominator and its window. A percentage over eleven tickets is noise dressed as fact, and a scorecard that hides its sample size is one people quietly stop believing.

First response time

Measured to the first reply the reporter can actually see. Internal notes never stop the clock.

Time to resolve

p50 and p90, never the mean alone — the mean hides the tail that generates escalations.

Response target attainment

Met against met-plus-breached, split by priority.

Backlog aging

Bucketed 0–1d, 1–7d, 7–30d, 30d+. A flat count hides a rotting tail.

Reopen rate

The honest proxy for whether a fix actually fixed it.

Time in each stage

“Triage takes nine hours” is actionable. “MTTR is four days” is not.

Trust

You are asking users for a screenshot.
We treat it that way.

Diagnostics are the most sensitive thing Signal touches, so the handling is designed to be defensible in a review rather than described in a policy nobody reads.

Redacted before it leaves the browser

Your users black out what they do not want to share, and the redaction is applied in their browser. The unredacted screenshot never reaches a server — ours or yours.

Private storage, no CDN

Diagnostics live in a private bucket that sits behind no CDN, reachable only through short-lived signed links. Everything is deleted 90 days after a signal closes.

Hosted and billed in India

Data is held in ap-south-1 (Mumbai). Invoices are GST-compliant and priced in rupees, so there is no FX exposure and nothing to reclaim.

Built for DPDP and GDPR review

Consent is explicit and per-field, declined fields are recorded as declined rather than blank, and derived data inherits the consent of its source. A DPA is available on Enterprise.

Signal is in alpha and has not yet been through a third-party security audit. We would rather say so here than have you find out in procurement.

What you would actually pay

Everyone can watch.
You pay for who answers.

Drag the viewers up as far as you like. The number on the left does not move — that is the whole model, and it is the reason a Signal board can go on the wall instead of living behind three logins.

8

Can reply, assign, change status

14

Read the board, the queue and the metrics

Signal Pro · billed annually

₹2,792/ month

22 people on the board. 14 of them free.

The same 22 people elsewhere

Everyone else bills by the seat, so most of the people who only need to watch become paid seats.

  • Zendesk Suite Professional₹2,22,640
    79.7×
  • Freshdesk Pro₹1,06,480
    38.1×
  • Zoho Desk Professional₹17,600
    6.3×
  • Signal Pro₹2,792

List prices, annual billing, USD converted at ₹88, every person counted at full seat price. Zoho and Zendesk do offer cheaper “light agent” access on upper tiers — capped in number, restricted in what it can see, and gated behind the plan above. That is a discount on a seat, not a free viewer, which is why we price every person here at the rate their plan actually charges. These are also broader products: they sell live chat, telephony and a knowledge base, which Signal does not.

Pricing

Pay for the people who answer.
Everyone else watches free.

Every other tool charges for each person who opens it, which is exactly why nobody puts the board on the wall. Signal charges only for responders — the people who can change a signal. Viewers are unlimited and free on every plan.

A team of 10, per month

  • Zendesk Suite Professional
    1,01,200
  • Freshdesk Pro
    48,400
  • Zoho Desk Professional
    8,000
  • Signal Pro
    3,490

List prices, annual billing, USD converted at ₹88, ten paid seats each. Zoho and Zendesk offer restricted “light agent” access on upper tiers, which is a cheaper seat rather than a free viewer. They also sell live chat, telephony and a knowledge base, which Signal does not — the seat arithmetic is the honest part of this comparison, not the feature count. Work it out for your team →

Free

A real workload, not a trial. No card, no expiry.

₹0forever
Start free
  • Up to 3 responder seats
  • Unlimited free viewers
  • 1 product
  • 500 signals a month
  • The board, queue and derived priority
  • Default response targets
  • 7-day evidence retention
Most teams

Pro

For a company shipping more than one thing.

₹349per seat / month

billed annually · excl. GST

Start free, upgrade later
  • Unlimited responder seats
  • Unlimited free viewers
  • 5 products
  • 10,000 signals a month
  • Editable response targets + business hours
  • Full metrics scorecard
  • Webhooks and full API
  • 90-day evidence retention
  • 30-day audit log

Enterprise

Unlimited products, unlimited volume, single sign-on.

₹649per seat / month

billed annually · excl. GST

Talk to us
  • Everything in Pro
  • Unlimited products
  • Unlimited signals (fair use)
  • Per-product targets and escalation
  • SSO via OIDC or SAML
  • White-label widget
  • 1-year configurable retention
  • 1-year audit log
  • Priority support and a shared channel

What counts as a seat. A seat is a responder — anyone who can change a signal. People who only read the board are viewers, and viewers are free and unlimited on every plan, including Free.

Early access, and we mean it: the first 50 teams keep today's Pro price for a full 12 months from signup, even if list prices move in between.

Claim a place

Prices in INR, billed in INR, with a GST-compliant invoice. Need something the plans do not cover? Tell us what you need.

Questions

The things teams ask before signing up.

Do the people reporting issues need a Signal account?

No, and they never will. Your users report from inside your product and never see Signal at all. Only your own team signs in.

What exactly counts as a paid seat?

Anyone who can change a signal — assign it, reply, move its status, close it. Anyone who only reads the board is a viewer, and viewers are free and unlimited on every plan. Put your whole leadership team on it; it costs nothing.

How is this different from a helpdesk?

A helpdesk is built around an inbox. Signal is built around a board. It is narrower on purpose — no telephony, no live chat — and deeper on the thing product teams actually need: what is broken, how many people it hit, and how long they have been waiting.

Can we use it for more than one product?

That is the point. Each product is a source with its own keys, its own response targets and its own colour on the board. Watch one, or watch all of them at once.

Who can see the screenshots our users send?

Only your team. Diagnostics live in a private bucket that is not behind any CDN, reachable only through short-lived signed links, and they are deleted 90 days after a signal closes. Redaction happens in the reporter’s browser, so the unredacted image never reaches a server at all.

Does it fit our stack?

Every signal can be pushed to your tools by webhook today, signed so you can verify it came from us. Native Slack, Jira, Linear and GitHub apps are being built — tell us which one you need and it moves up the list. Nothing here locks you out of the tools you already run.

What happens to our data if we leave?

You export it, in full, as JSON, whenever you like — signals, replies, the lot. There is no retention hostage and no export fee. We would rather lose an account cleanly than keep one that wants to go.

What if we outgrow the free plan?

Nothing breaks and nothing is deleted. You keep your history and we tell you before you hit a limit, not after. Free is a real plan we expect people to sit on for a long time, not a countdown.

Is it reliable enough to depend on?

Being honest about where we are: Signal is in alpha and does not yet have a track record to point at. Intake is designed to keep accepting reports even when the console is degraded, because dropping a customer’s incident during an incident is the one failure we will not ship. A public status page lands before general availability.

What does Alpha mean for us?

It means we are building in the open and you will find gaps. It also means you get to shape what gets built, and you will hear back from an engineer rather than a queue. Free stays free either way.

Something not answered here? Ask us directly — an engineer replies, not a queue.

Put the board up.
Let the room watch.

Free forever for up to three responders and unlimited viewers. No card, no trial timer, no seat you have to justify.

Free while we build. The first 50 teams keep today's Pro price for 12 months.

Early access. The product is being built in the open — expect gaps, and expect us to answer quickly.