Forms
Forms is where your department's own paperwork lives — use-of-force reports, arrest paperwork, traffic stop forms, evidence/property intake, medical forms, or anything else you'd otherwise be handling as an out-of-character document. It's separate from RMS & Incident Reports: RMS is the built-in case/report structure, while Forms is for building your own custom templates on top of it. It's not meant for civilian-facing applications or public intake — if you need that, look elsewhere.
Building a template (admin)
Templates are built with a drag-and-drop builder made up of three parts:
| Part | What it's for |
|---|---|
| Field palette | Every field type available to drop onto the form. |
| Canvas | Where you lay fields out and arrange the form's layout. |
| Properties panel | Configure whichever field is selected — label, whether it's required, and any type-specific options. |
Templates are department-scoped, so you build one for PD, a separate one for Fire, and so on — there's no single shared form library across departments.
Your work saves as a draft automatically as you go, so there's no manual save step while you're building. When the template is ready for people to actually use, click Publish.
Publishing pins a specific version of the template. If you keep editing the template afterward, officers who are filling out a form they already started stay on the version they started with — they won't have the ground shift under them mid-form.
Branding
A separate settings screen lets you set a logo, header/footer text, and contact info for your community, with a live preview as you configure it. This branding is applied automatically to the printed/PDF output of every filled-out form — you don't set it per template.
Filling one out (officer/supervisor)
Everything starts from the Forms dashboard:
- Start a new form from any published template.
- My drafts & returned — forms you've started but not submitted, plus anything a supervisor has sent back to you.
- Review queue — if you have review permissions, every form waiting on your department's approval.
While you're filling a form in, it autosaves every second or two. There's no manual save button and nothing to remember to do before you close the tab — a crash or an accidental navigation away doesn't cost you the form.
Review lifecycle
- Submit — the author sends the completed form to their department's review queue.
- A supervisor either:
- Approves it, or
- Returns it with a comment. The comment is required — a return always tells the author what needs to change.
- Void is available to the form's author or anyone with the void permission, at any point before it's approved.
Void can be used on a submitted or returned form too, not just a draft — if a form was started by mistake or no longer applies, don't leave it sitting in the review queue.
Printing
Every form has a print view that renders it with your community's branding applied. It's built for browser print-to-PDF, not a separate export button — use your browser's print dialog and save as PDF from there. There's no standalone "download as file" option.
If your department currently handles something as an out-of-character paper form, a Google Doc, or a Discord message template, it's a good candidate to bring into Forms. Once it's a Kestrel template, it gets the same draft/submit/review and audit trail as everything else, instead of living outside the system where nobody can find it later.