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.
- Built for four products of our own, first
- Unlimited free viewers on every plan
- Built for AI agents, not only people
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.
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.
Watching 17 live signals across every product
- Priority
- P1 — critical
- Burn
- 90% — urgent pulse
- Reporters
- 34 people
- Type
- Incident
Fill colour
PriorityP1 red through P4 slate. The channel you act on.
Pulse rate
Response burnSteady, then breathing at 50%, urgent at 80%, strobing on breach.
Diameter
Blast radiusHow many distinct people reported it, log-scaled.
Shape
TypeFilled 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.
| Critical | High | Medium | Low | |
|---|---|---|---|---|
| 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.
1 hour
to first response
4 hours
to first response
24 hours
to first response
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.
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.
{
"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.
Can reply, assign, change status
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,64079.7×
- Freshdesk Pro₹1,06,48038.1×
- Zoho Desk Professional₹17,6006.3×
- Signal Pro₹2,7921×
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.
- 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
Pro
For a company shipping more than one thing.
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.
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 placePrices 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.
Early access. The product is being built in the open — expect gaps, and expect us to answer quickly.