How it works
How SOP acknowledgments work
How ROK records that each person has read and understood a procedure, why the receipt is tied to a version, and why a new version asks everyone again.
Some procedures matter enough that "it's in the app" is not good enough — you need to know that each person has read the current one. An acknowledgment is a read receipt: a record that a named person confirmed they read and understood a specific version of a procedure. By the end of this page you will know how the requirement is switched on, what a receipt records, how the compliance roster is worked out, and why a new version asks everyone again.
Switching it on
The requirement is a per-item setting, Require operator acknowledgment, in the Field operations card on the item's edit page. The card appears for people who hold Publish, and the database refuses a change to the setting from anyone without Publish, so an author cannot add or remove the requirement for the whole agency. Changes reach phones at their next sync. See the content editor.
Set it on the procedures themselves, not on a guide. The app collects acknowledgments on articles, checklists, quizzes, video and audio; a guide's own page has no acknowledge button, so a guide that requires acknowledgment stays outstanding on every phone.
What operators see
An item waiting for acknowledgment carries a notice at the top — "This procedure requires your acknowledgment — review it, then acknowledge below." — and a button at the bottom: I have read and understood this procedure. The home screen shows a banner such as "1 updated procedure needs your acknowledgment", which opens a list of everything outstanding.
Acknowledging works offline. The phone records it straight away — the item then reads "Acknowledged (version 8)", say — and sends it with the operator's other offline actions when it next can. See how the offline queue works.
A receipt is pinned to a version
Every item carries a version number. It moves on when the item's content changes, and whenever its status changes — so going live, being withdrawn and going live again each produce a new version. See versions and history.
A receipt records the version the operator's phone had when they acknowledged, not whatever the server holds by the time the receipt arrives. If version 8 was released while their phone still had version 7, the receipt says 7 and the roster shows them as stale. That is deliberate: the receipt records what the person actually read. The database also refuses a receipt for a version higher than the one released, because no phone can have read a version operators were never sent.
Receipts accumulate; nobody can edit or withdraw one, and ROK's retention job never prunes them. They go only if the item itself is deleted.
The server checks every receipt
Receipts come from phones, so the database does not take them on trust:
- A receipt is accepted only while the item is published, still requires acknowledgment and belongs to the agency the person is signed in to, and only from a member of that agency.
- The time comes from the phone, because it may have been offline, but a time in the future is pulled back to the server's clock, and an acknowledgment more than 30 days old is refused.
- Each person holds at most one receipt per version, so a replayed acknowledgment never duplicates.
If a receipt is refused or ignored, the phone replaces its own record with the server's at the next sync, and the item asks again if it still needs acknowledging.
The compliance roster
With the requirement on, the Field operations card shows a Compliance roster: every active member of your agency — staff as well as operators — with the newest version they acknowledged.
| Status | Means |
|---|---|
| Up to date | Their newest receipt is for the released version |
| vN (stale) | They acknowledged an older version, N, and not since |
| Never | They have no receipt for this item at all |
A count shows how many are current, and Export CSV downloads the list. The database works the roster out only for people who hold Publish. The dashboard's Acknowledgment coverage widget applies the same rule across every item that requires acknowledgment: only receipts for the released version count. See the dashboard reference.
Why a new version asks everyone again
An acknowledgment is a statement about specific words. Once operators hold a new version, the old statement no longer covers what is on their phone, so the app asks again and the roster shows everyone as stale until they acknowledge the new one.
"New version" means a new released version. Edits to a published item that are waiting to be released change only the working copy, which operators do not have, so they make nobody stale — the roster moves on when the changes are released. See the released copy.
Some changes do not move the version, and so leave every receipt counting:
- Setting or moving a publish time. Scheduling or rescheduling an item is not a new version.
- Switching the requirement on or off, or pinning the item as Critical.
In practice
- Withdrawing and republishing asks everyone again, even if not a word changed: both status changes move the version on.
- Everyone counts. The roster and the coverage widget include your authors and admins, so full coverage means the whole agency, not just your operators.
- Recognition. If your agency uses recognition, signing an acknowledgment earns points and can count towards badges — see how recognition works.
See also
- ReferenceThe content editorEvery card, field and button on an item's edit page — save, submit for review, publish, schedule, unpublish, restore — who can use each, and what operators receive.
- How it worksVersions, history and comparisonsWhat an item's version number counts, what its History keeps, how the released copy operators have is kept, and how comparing and restoring work.
- ReferenceDashboardEvery widget on the dashboard, what it counts, why it might not be there, and which page owns the work behind it.
- How it worksHow the offline write-back queue worksWhat the operator app records with no signal, how it is sent when the phone reconnects, what the server checks before any of it counts, and what happens when it refuses something.