This guide provides a complete, step-by-step walkthrough to manually test the DIRS platform end-to-end. It mimics a real-world criminal investigation under the Indian CrPC, from filing an FIR to validating evidence in Court.
Ensure all 3 layers of the system are running in your terminals:
- Blockchain:
npx hardhat node&npx hardhat run scripts/deploy.js --network localhost - Backend:
uvicorn main:app --reload --port 8000 - Frontend:
npm run dev(Runs onhttp://localhost:3000)
- Go to the Register page (
http://localhost:3000/register). - Create an Investigating Officer (IO) account:
- Full Name:
Inspector Singham - Email:
io@dirs.in - Password:
Password@123 - Role: Select
io(Investigating Officer)
- Full Name:
- Click Register. Once successful, you will be redirected to Login.
- Login with
io@dirs.inandPassword@123.
The legal starting point of the case.
- Navigate to FIR Management from the sidebar.
- Click on the Register New FIR tab.
- Fill in the exact values:
- FIR Number:
FIR/2026/001 - Complainant Name:
Raman Patil - Date & Time of Incident:
04-04-2026 23:30 - Place of Incident:
MG Road Cyber Cafe, Sector 4 - Incident Details:
Victim reported unauthorized access to their digital accounts and creation of a deepfake video used for financial extortion. - Known Suspects:
Unknown
- FIR Number:
- Click Register. The FIR is now anchored to the blockchain.
The chronological daily log of the IO.
- Navigate to Case Diary.
- Make sure the toggle/tab is set to Add Entry.
- Fill in the form:
- Select FIR: Choose
FIR/2026/001from the dropdown. - Entry Details:
Reached the crime scene at 10:00 AM. Interrogated the cafe owner. Found a suspicious laptop and a pendrive left behind by the suspect.
- Select FIR: Choose
- Click Save Entry.
The contemporaneous document made when actively collecting evidence in front of witnesses.
- Navigate to Seizure & Property.
- Click the Create Seizure Memo tab.
- Fill in the exact values:
- FIR: Choose
FIR/2026/001 - Memo Number:
SM-2026-001 - Date & Time: (Pick current time)
- Place of Seizure:
Inside Cabin 4, MG Road Cyber Cafe - Witness 1 Name:
Rahul Sharma(Required by CrPC) - Witness 1 Contact:
9876543210 - Items Description:
1x Dell Inspiron Laptop (Black), 1x Sandisk Pendrive 64GB
- FIR: Choose
- Click Create Seizure Memo.
Uploading digital evidence items linked to the Seizure Memo.
- Stay on Seizure & Property, but click the Register Digital Evidence tab.
- Fill inside the form:
- Seizure Memo: Choose the dropdown item
SM-2026-001 (FIR: 1) - Property Number:
PROP-01-PEND - Description:
Deepfake source video extracted from Sandisk Pendrive - Item Type:
Digital - Storage Location:
CFSL-Locker-A - Evidence File: Select a small mock image or
.mp4file from your desktop.
- Seizure Memo: Choose the dropdown item
- Click Register & Analyse.
- Behind the scenes: The system will generate a SHA-256 hash of the file, pass it to the HuggingFace Deepfake AI Model, and store the resulting AI score on the Blockchain.
Handing evidence over to the Forensic Lab (CFSL).
- Navigate to Chain of Custody.
- Select your newly created Evidence/Property from the dropdown list.
- To Person: (You can type
CFSL Agentor an ID depending on the dropdown). - Reason:
Sending for advanced deepfake laboratory analysis. - Click Transfer Custody.
Final report submitted to the court after investigation.
- Navigate to Charge Sheet.
- Click Draft Charge Sheet.
- Fill the details:
- FIR Name: Choose
FIR/2026/001 - Court Name:
District Digital Cyber Court - Investigating Officer: (Your name/ID)
- Charges (IPC/BNS):
Section 318(4) BNS, Section 66E IT Act - Accused Persons:
John Doe (Arrested) - Summary of Facts:
AI analysis confirmed the video was highly manipulated (Deepfake). IP address logs attach the suspect to the cafe.
- FIR Name: Choose
- Click Submit Final Report.
Proving to the Judge that evidence was NOT tampered with.
- Go to the Court / Verify sidebar tab.
- Go to the list of Evidence or FIRs and copy the Blockchain TX Hash (Should start with
0x...). - Paste the hash or the Evidence ID into the Verify search bar.
- The system queries the local Hardhat Node/Smart Contract, comparing the original SHA-256 uploaded in Step 4 to the current database copy.
- You should see a green "VERIFIED: Data perfectly matches the blockchain record" alert, establishing zero-trust proof.
Supervisory officers reviewing the entire jurisdiction's files.
- Logout from your IO account.
- Register & Login with a new account:
- Email:
sp@dirs.in(Password:Password@123) - Role:
sp(Superintendent of Police) ordsp
- Email:
- Navigate through FIR Management, Case Diary, and Charge Sheet tabs.
- Test outcome: Notice that unlike the IO (who only sees their own assigned cases), the SP/DSP can view
FIR/2026/001, the Seizure Memos, and the finalized Charge Sheet directly, bypassing the ownership restriction.
Receiving evidence sent via Chain of Custody in Step 5.
- Logout and Register & Login as:
- Email:
cfsl@dirs.in - Role:
cfsl(Forensic Scientist)
- Email:
- Navigate to Chain of Custody or Seizure & Property.
- Test outcome: You should be able to view the transferred digital evidence (
PROP-01-PEND) that was handed over to CFSL for deepfake laboratory analysis.
Conducting the trial and providing read-only access to defense.
- Logout and Register & Login as the Judge:
- Email:
judge@dirs.in - Role:
court(Judicial Officer)
- Email:
- Navigate to the Court / Verify section.
- You will now see the previously hidden Add Proceeding tab (which was locked for the IO).
- Fill the details:
- Select Charge Sheet: Choose the
FIR/2026/001charge sheet filed in Step 6. - Hearing Date: (Pick today's date)
- Next Hearing Date: (Pick a date next week)
- Judge Notes:
Initial hearing started. CFSL report on deepfake video admitted as primary evidence. Defense granted access to case files. - Order Summary:
Accused remanded to further judicial custody.
- Select Charge Sheet: Choose the
- Click Save Proceeding.
- Logout and Register & Login as the Defence:
- Email:
lawyer@dirs.in - Role:
lawyer(Defence/Prosecution)
- Email:
- Test outcome: Navigate through the system and observe that the lawyer has strict read-only access to the final proceedings and unsealed evidence, but cannot add or modify any records.
Checking the immutable operational logs.
- Logout and Register & Login as:
- Email:
auditor@dirs.in - Role:
auditor
- Email:
- Navigate to the Audit / Logs section (if exposed on your frontend sidebar).
- Test outcome: You will see a chronological log of every action taken in Steps 1-10 (e.g., who viewed the FIR, who downloaded the video, who transferred custody). This ensures zero-trust compliance against police data tampering.
- 401 Unauthorized: Your login JWT session expired. Go back to Login.
- 409 Conflict (Seizure): You combined an already existing
SM-2026-001memo number. Just increment to002. - 404 Not Found (Frontend): Ensure the dropdowns successfully loaded data from previous steps.