Rajasthan Police Investigation System Blueprint
Rajasthan Police Investigation System Blueprint
The role-based access model enhances auditing and oversight by providing tailored permissions that align with specific responsibilities. For example, Super Admins can oversee all activities with full access, whereas Investigating Officers have limited, read-only permissions, minimizing unauthorized data alteration . The append-only audit logs ensure that every action, regardless of the user role, is recorded and cannot be deleted, thus maintaining a comprehensive oversight of all system interactions .
Firestore's security architecture plays a critical role in adhering to legal requirements by implementing strict data access rules that prevent unauthorized case manipulation and ensure data integrity . The system is audit-compliant and legally defensible, with audit logs providing a non-deletable record of all actions, thereby supporting forensic investigations and legal scrutiny . The logical closure of cases without delete access ensures that historical data remains intact .
The deployment strategy involves distinct development (Dev) and production (Prod) environments hosted on Firebase, with Cloud Functions enabling scalable backend operations . Continuous Integration/Continuous Deployment (CI/CD) processes are used to automate deployments, enhancing reliability by detecting and rectifying deployment errors promptly . Data backup and recovery scripts ensure data integrity and availability in case of system failures .
The system enforces access control using Firestore security rules that manage role and district-specific access . This involves role-based access control, where different users have specific permissions depending on their roles: Super Admins have full access, District Handlers have case management permissions at the district level, Investigating Officers primarily have read-only access, and Senior Officers have read-only access across districts . Additionally, audit logs are append-only, meaning no data can be deleted, ensuring all actions are traceable .
AI capabilities in the system are primarily provided through the Google Gemini API, which powers AI summaries and anomaly detection . The AI-driven analytics include generating bilingual case summaries, analyzing the status of cases, and detecting delays or anomalies, which help in proactive decision-making and reducing potential risks . These AI features are integrated within the dashboard and run on-demand or during scheduled nightly operations .
The audit log functionality contributes to transparency and accountability by maintaining a comprehensive, append-only record of all transactions and actions within the system . This ensures full event traceability, prevents unauthorized data deletion, and upholds a transparent environment where all users' actions can be reviewed and scrutinized, thereby fostering accountability in police operations .
The system employs visual analytics to aid decision-making by incorporating various data visualizations such as crime type distribution (donut charts), monthly trends (line charts), and district heatmaps that provide a spatial distribution of crime across Rajasthan . These visual tools enhance comprehension of complex data patterns, allowing for informed decision-making at multiple administrative levels .
The system uses Firestore's NoSQL real-time database capabilities to ensure data consistency and integrity. It supports real-time updates, allowing dashboard changes to reflect immediately upon a change in data . Role-based permissions ensure only authorized changes occur, and audit logs provide a history of actions, preventing unauthorized alterations .
The system supports bilingual operations using the i18next library for frontend translation . Language options for users are managed through JSON files (en.json and hi.json) stored in the public/locales directory, ensuring that both English and Hindi interfaces deliver a consistent user experience . Additionally, AI-powered case summaries are generated in both languages, further supporting bilingual operations .
Firestore is structured into collections that are critical for case management. The 'cases' collection includes essential fields like firNumber, districtName, policeStation, complainant, accused, caseBrief, sectionsOfLaw, crimeType, and caseStatus, which collectively provide a comprehensive view of each case . The 'updateHistory' array within cases ensures trackability of modifications .