Forensic laboratory manual
The DigiFIR lab app is a mobile app for the staff of a State Forensic Science Laboratory. Staff use it to receive the evidence parcels the police send, record each stage of the examination, seal the report on the ledger, and hand the exhibit back. A sealed report can later be checked against what was sealed, by its number or its hash.
The app works in English and Hindi, switchable on every screen.
Who uses it
| Role | Does |
|---|---|
Reception (LAB_RECEPTION) | Receives parcels at the counter, accepts or refuses them, hands exhibits back |
Analyst (LAB_ANALYST) | Everything reception does, plus: records examination stages and lab notes, seals reports |
| Laboratory registrar | Enrols staff phones and keeps the staff roster. Sees no exhibits. See the registrar manual. |
IMPORTANT
Only a Government scientific expert listed in BNSS section 329(4) may seal a report: a Chemical Examiner or Assistant Chemical Examiner, a Director, Deputy Director or Assistant Director of a Central or State laboratory, a Serologist, or a notified expert. The ledger checks the designation on your registered key.
Set up your phone
- Install the app. Your phone must have a screen lock (PIN, pattern, password or passcode).
- On Sign in to the lab app, type the staff code your laboratory gave you, for example
RJF20419. - On Verify this phone, choose the SIM registered for your staff code. The app sends one SMS from it. The registrar sees whether the number matches.
- The phone makes its own key in its secure hardware and shows an enrolment code. Take it to the laboratories' registrar.
- The registrar checks you in person, scans the code, and sets your laboratory, division, role and designation.
- Read the registration on the registrar's screen and confirm it on your phone. The registrar then signs it on the ledger.
- Set a six-digit app PIN.
On Android, if the checked SIM leaves the phone, signing stops until it is checked again.
The screens
| Tab | What is there |
|---|---|
| Home | Parcels waiting at the counter, work in the lab, reports a court needs |
| Exhibits | In the lab and On the way |
| Scan | The centre button: scan a parcel's label |
| Reports | Sealed reports, and Check a report copy |
| Profile | Staff code, app lock settings |
When a police messenger arrives with parcels, every reception and analyst phone of the division gets the push notification Messenger at the counter.
Receive a parcel
- Tap Scan and scan the parcel's label, or type the exhibit number (for example
EV-000470-01) or the lab number. - Check the four receipt points:
- the seal is intact;
- the seal matches the forwarding letter, and the seal number the seizure recorded;
- the papers are present (the letter and the FIR copy);
- the contents match.
- If all four are true, tap Accept into lab. The app shows what accepting signs: the laboratory's half of the two-party custody hand-over. A lab number such as
FSLJ-CY-2026-1192is assigned and the turnaround clock starts. - If any point fails, tap Refuse, choose the reasons (seal broken, seal does not match, papers missing, contents differ, wrong laboratory), and tap Refuse and record. The parcel goes back unopened.
NOTE
If you scanned the label, the ledger checks that it matches the exhibit's own code. A parcel whose label does not match is refused at acceptance.
After acceptance, the police officer's app sends the laboratory the keys of the exhibit's files, so you can open them.
Examine
Open the exhibit from Exhibits. The stages run in order and none can be skipped:
- Tap Start screening.
- Tap Move to confirmatory.
- Write your working notes as you go. They stay encrypted on the phone until you tap Record as lab notes. Recorded notes are signed and kept where only the laboratory can read them; the police cannot read them before the report is sealed. Closing the sheet records nothing.
Seal the report
- Tap Write and seal the report and write the finding, at least 20 characters.
- Read What you sign: the report number, the exhibit, the FIR, the language of the report and the designation you sign under.
- Tap Sign and seal.
The progress shows the ledger block, and what was queued for the IO, the station and the court. The screen then shows Report sealed with the report number and hash.
CAUTION
Sealing needs a live connection: a seal must reach the ledger within 10 minutes of signing. A sealed report is never changed. To correct or complete a finding, the laboratory seals a supplementary report, and the first report stays as it was sealed.
Hand the exhibit back
Tap Hand back to the messenger. The screen names who will receive it before you sign. Custody passes when the police accept it in their app.
Check a report copy
- Open Reports and tap Check a report copy.
- Paste the report number or its hash.
The answer is Sealed on the ledger, with who sealed it and when, or Not on the ledger. For your own laboratory and division it also shows the sealed finding, so you can compare a printout or PDF with it. The check finds the report by its number or hash only; it does not read the rest of the copy, so it never calls a copy genuine or forged.
App lock and security
- The app asks for your PIN at every start and after the auto-lock time away. The fifth wrong PIN in a row signs the phone out. See App lock.
- The phone keeps no copy of the exhibits; they are read from the backend when needed.
- The key, the PIN and the enrolment stay on this one phone. They are never backed up or moved to a new phone.
- On Android, real builds block screenshots and screen recording. On iPhone, the app is covered with the logo whenever it leaves the foreground.
Try it without a backend
In demo mode, sign in with staff code RJF20419 and verify SIM 1 (SIM 2 shows a number that does not match). On the Scan screen, type EV-000470-01 to receive a sample parcel. Demo and test data has more.
Sources: digifir-forensics-app on the migration branch: README.md, docs/02-run-the-app.md, docs/04-enrolment-and-sim-check.md, docs/app-lock.md, docs/legal-references.md, assets/i18n/en.json; digifir-chaincode docs/SPEC.md section 4.4.