Acknowledging a signal (mitigation planned, accepted, false positive)
Most signal cards in Verinode resolve through the same three buttons: **Act**, **Not now**, **Ignore**. Act opens the decision workspace, Not now snoozes the card, Ignore dismisses it. But some sig…
On this page
What the acknowledge dialog is
Most signal cards in Verinode resolve through the same three buttons: Act, Not now, Ignore. Act opens the decision workspace, Not now snoozes the card, Ignore dismisses it. But some signals are not "act on this" situations at all, they are things you already know about and want on record: a lapse you have decided to accept, a reading you know is wrong, a fix you already made before Verinode caught up. For those, the same action row carries a fourth control: a link that reads Acknowledge (or, on the cards that ship it today, Acknowledge with note).
Clicking it opens a small inline form in place, no new page, no modal overlay. You pick a reason from a short list, write a short note explaining your own thinking, and save. That single write flips the signal straight to resolved and files your reason and note into its permanent record. It is the one place in the product built specifically to capture "here is what I decided and why," rather than "here is what I did."
Verinode never decides this for you. The dialog exists because a fractional COO does not silently close a flagged item, they note why it is closed so the reasoning survives past this week. The note is yours, written in your own words, and it stays attached to the signal for as long as the signal record exists.
Where to find it
There is no standalone "Acknowledge" page and no dedicated tab for it. It rides along on the signal cards that already carry the fuller Act / Not now / Ignore action row, wherever those cards render. As of today that is three places:
- Clients > a client's detail card > Scorecards tab, under Improvement Tips, for TPA and carrier scorecard tips. This section only appears for TPA and carrier clients; private-pay clients (retail and commercial) show "Private-pay clients don't publish performance scorecards. Verinode surfaces scorecard intelligence on carriers and TPAs" instead, with no tips or acknowledge link at all.
- Equipment > a unit's detail card, under Open Tips, for equipment-detector signals (an aging unit, a calibration coming due, a rental-versus-buy call, and similar).
- Compliance > the Findings tab, above the findings grid, on any Cross-Domain Stack card, the synthesis cards that tie several related compliance signals into one weighed decision with a 30/60/90-day action sequence.
If you are looking for the old flat list of every signal in one place, that page does not exist anymore. See Signals: how Verinode watches your data for where that list moved (Feed and Decisions) and how detection runs underneath all of it. The acknowledge dialog is a sibling control on individual signal cards, not a replacement for either of those surfaces.
Note
The acknowledge dialog is a shared component, so it can appear on any signal card that wants it, not just the three above. If you see an Acknowledge link next to a card this article does not name, it works exactly the way this article describes; the underlying form and write path are identical everywhere it is used.
Opening the dialog
Before you click it, the control is just a text link, styled in copper, reading Acknowledge by default or Acknowledge with note on the cards above. Click it and the link is replaced in place by a small bordered form: a heading that reads "Acknowledge: " followed by the signal's own headline, a Reason dropdown, a Note field, and Save / Cancel buttons. Nothing else on the page moves, the card simply grows to hold the form.
Cancel closes the form and clears any error message, but it does not clear whatever you had already typed in the note. If you reopen the same card's dialog without navigating away, your draft note is still there.
Choosing a reason
The Reason dropdown defaults to Mitigation planned and offers five options:
- Mitigation planned: you have a fix in motion but it is not done yet, for example a vendor contract renegotiation already started, or a hire already posted for a coverage gap. Use this when the underlying condition is still true today but you are actively working it.
- Accepted as risk: you have looked at it and are choosing to live with it, at least for now, rather than fix it. Use this for a tradeoff you are making deliberately, not a thing you forgot about.
- False positive: the signal is wrong. The pattern Verinode read from your data does not reflect reality, for example a client flagged as concentrated risk who you know has just signed a second, unrelated program. Use this when the observation itself, not just the response to it, is incorrect.
- Already resolved: the underlying issue is already fixed in the real world and Verinode simply has not caught up yet, for example a certification you already renewed before the record synced in.
- Deferred: you are consciously pushing the decision to a later date without committing to a specific mitigation yet. This is different from clicking Not now on a decision card: Not now snoozes the card on an escalating schedule and it resurfaces later on its own; Deferred here closes the signal now, with your note as the record of why, and it will not resurface unless the underlying condition changes and a detector raises it again.
None of these categories are visible anywhere else in the product as filters or counts. They exist purely to give your note context when you or a teammate reads it back later.
Writing the note
The Note field is required. Its placeholder reads exactly: "What's the operator's response to this signal? (min 4 chars)". Save stays disabled until you have typed at least 4 characters (after trimming leading and trailing whitespace); there is no minimum beyond that, a short note like "renewed 6/1" is enough to save. There is an upper limit of 1,000 characters enforced on save, past which the write is rejected as invalid, though the field itself does not stop you from typing further or warn you as you approach it.
Write what you would tell a colleague who asks "why is this closed": what you decided, and anything concrete that backs it up (a date, a name, a dollar figure). This note, along with the reason you picked, is what gets stored, verbatim, on the signal's permanent record.
What happens when you save
Clicking Save does not write directly to the database from the browser. It calls a server action (acknowledgeSignal) that authenticates you, looks up your role on the operator account, and hands the write to the IQ mutation registry, the same chokepoint every operator-data write in Verinode goes through, whether it comes from a UI form like this one, an IQ chat turn, an inbound email, or voice. Routing through the registry means this write gets the same guarantees every other mutation gets: a permission check gated to your role, argument validation, a lookup that confirms the signal actually belongs to your operator account before anything is touched, and an audit trail.
Concretely, for this mutation (registered under the key signal.acknowledge):
- 1Permission check. Your role must carry signal-viewing permission. Admin and standard user roles have it; the data-contributor role does not, so a data contributor sees the dialog fail to save with "Your role can't acknowledge this signal."
- 2Argument check. The reason must be one of the five listed categories and the note must be a string between 4 and 1,000 characters after trimming. This mirrors the client-side check but runs again server-side, since the client is never trusted alone.
- 3Signal lookup. The registry re-fetches the signal by its ID, scoped to your operator account. If it cannot find that signal (deleted, or somehow not yours), the save fails with "Signal not found." instead of silently doing nothing.
- 4The write. The signal's
statusflips to resolved,resolved_atandactioned_atare both stamped to the current moment, and your reason and note (plus who wrote it, when, and how the write was triggered) are merged into the signal's evidence record under anoperator_acknowledgemententry, alongside whatever evidence the detector originally attached. Nothing else on the row is touched. - 5Audit + refresh. The write is recorded to the audit trail before you see a result, and the dialog closes, clears its note, refreshes the page data, and calls back to the card so it can drop itself from any local "open tips" list without waiting for a full reload.
How this differs from Act, Not now, and Ignore
The three primary buttons on a tip or finding card use a separate, older write path built for the Feed and Decisions surfaces: Act records the interaction as "acted" and sends you into the decision workspace at /decisions/<id>, where an agent plan builds around the signal. Not now parks the signal on an escalating resurface schedule. Ignore records the interaction as "dismissed," which resolves the signal with a dismissed outcome and no note.
Acknowledge is the one path of the four that asks you for a reason and a note before it closes anything, and the one that resolves the signal directly rather than sending you anywhere or scheduling a comeback. Reach for it when the honest answer to "what should I do about this" is "nothing, and here is why," not when you actually intend to work the problem (use Act for that) or genuinely just want it out of your face for a while (use Not now).
Errors you might see
- "Your role can't acknowledge this signal." Your account role does not carry signal permissions. This is a role gate, not a data problem; ask an admin on the account to make the change, or acknowledge it under an account with the right role.
- "Signal not found." The signal this card pointed at is no longer there under your operator account by the time you clicked Save. Refresh the page; the card should be gone if the signal was cleared some other way.
- A reason naming what failed to validate (a generic message about the arguments not matching what the form expects). In practice this means the note was too short, too long, or the reason field did not carry one of the five listed values, situations the form's own client-side checks should catch before you ever get here.
- "Couldn't save the acknowledgment." or a raw error string. Something failed outside the expected paths above, most often a transient network or database issue. Try again; if it repeats, the account team can look at what the audit trail shows for the attempt.
While any error is showing, Save and Cancel both remain available so you can retry or back out without losing your note.
After you acknowledge
The signal's status becomes resolved immediately, the same terminal state a fully worked decision reaches, and the card disappears from whatever "open tips" or findings list it came from. Its resolved at and acted at timestamps are set to the moment you clicked Save, and your reason plus your note ride along in its evidence from then on.
One distinction worth knowing: acknowledging a signal this way is a manual close, not an executed plan. It does not carry a verified dollar outcome the way acting on a decision through the full workspace can, so an acknowledged signal does not add to the Impact addressed total on the decisions workspace. That total is reserved for decisions where Verinode can point to a concrete, checked result. Acknowledging is for the record, not for the ledger.
Empty states
There is no empty state for the dialog itself, it never renders with nothing in it, because it only ever appears attached to a real signal card. The absence you will actually see is upstream of it:
- On a client's Scorecards tab, the Improvement Tips block is only shown when there are tips to show; with none, the block does not render at all.
- On an equipment unit's detail card, the Open Tips block behaves the same way, present only when that unit has open tips.
- On the Compliance Findings tab, Cross-Domain Stack cards only appear when a synthesis pass has produced at least one stack for that sweep; otherwise you go straight to the findings grid below.
None of these are broken screens. No tips or stacks simply means nothing has been flagged in that area since the last sweep, or everything that was flagged has already been acted on, parked, dismissed, or acknowledged.
Best-practice example
A calibration-due signal shows up under Open Tips on a moisture meter's equipment detail card. You already sent that unit out for calibration last week, before Verinode's overnight sweep picked up the renewal. Rather than clicking Act and getting routed into a decision workspace for something you have already handled, you click Acknowledge with note, leave the reason on Already resolved, and write "sent to calibration 7/8, back by 7/15." Save closes the tip immediately. If anyone, including you, looks at that unit's history later, the record shows exactly why it closed and when, not just that it disappeared.
Data sources
- 1.pii.signals (status, resolved_at, actioned_at, evidence.operator_acknowledgement). Your business.
- 2.IQ mutation registry, `signal.acknowledge` (lib/iq/mutations/signals.ts). Verinode platform.
Related reading: Signals: how Verinode watches your data, the decision workspace, acting on decisions, clients and carriers.