SCREEN 01 Β· AUTHENTICATION
Login β Housekeeping Staff
HK Staff is the most restricted role in the system. JWT issued with role: hk_staff, data_scope: own_only β they can only see their own tasks, attendance, payslip, and training records. Login does not start the shift β Face Recognition Punch-In at the site is required. No GPS tracking triggered on login.
π§Ή
HRM Panel
Housekeeping Staff App
CleanPro Services Β· v1.0
Mobile Number
+91 98765 44444
4-digit PIN
Login β
Issues? Contact your Supervisor
Login Screen
β
Welcome
Meena Sharma
HK Staff Β· EMP-4421 Β· Sunrise Township
// JWT Token Issued
role: "hk_staff"
emp_id: "EMP-4421"
data_scope: "own_only"
exp: +1h | refresh: 7d
emp_id: "EMP-4421"
data_scope: "own_only"
exp: +1h | refresh: 7d
βΉ
Login does not start your shift. Go to site and complete Face Recognition Punch-In to activate attendance.
your access scope
β
Face punch in & out
β
My assigned tasks
β
My attendance & payslip
β
My training records
β
Other staff data / admin
Go to Face Punch In β
Welcome + Access Scope
β
Home Screen
Meena Sharma Β· EMP-4421
MS
Meena Sharma
EMP-4421 Β· Sunrise Township A
Morning
8:00β4:00 PM
Not In
Punch-in needed
πΈ
Punch In
β
My Tasks
After punch-in
π
Attendance
π°
Payslip
π
Home
πΈ
Punch
β
Tasks
π€
Profile
Home Screen
SCREEN 02 Β· MODULE 3 & 4 Β· FACE RECOGNITION PUNCH IN
Face Recognition Punch In β 3-Step Process
Three sequential steps must all pass: GPS geo-fence check (within 300m) β Liveness challenge (randomised blink or head-turn, in-memory only) β Face match against 128-D Azure embedding (confidence β₯ 0.6). All three must pass for punch to be recorded. Failure in any step blocks the punch.
Punch In
Meena Sharma Β· EMP-4421
GPS β
142m inside
Liveness
Checking...
Face Match
Pending
Step 2 β Liveness
π€
Blink twice slowly
In-memory Β· Not stored Β· Anti-spoof active
GPSβ 142m within 300m
Liveness challengeBlink (randomised)
Stored?No β in-memory only
Liveness Active
Step 3 β Face Match
Azure Β· 128-D embedding
Matching face...
π€
β
Comparing with 5 enrolled photos
Azure /detect + /verify
PersonGroup: SITE-001
threshold: confidence β₯ 0.6
PersonGroup: SITE-001
threshold: confidence β₯ 0.6
Enrolled photos5 (onboarding)
Embedding128-D vector
Pass thresholdβ₯ 0.6 confidence
Raw image storedNo β discarded
Retries3 max β supervisor override
Face Match Running
Anti-Spoof Logic
What gets blocked
π‘
Azure Liveness runs in-memory. It detects real vs fake face. Challenge randomised each time β prevents pre-recorded replay.
rejected by liveness
πΌ
Printed photo
No depth β blocked
π±
Screen replay
Screen flicker detected
π
Silicone mask
Texture anomaly
β
Real person β blink done
Passes liveness β face match
challenge types (randomised)
π
Blink challenge
Blink 1β2 times
β
Head-turn challenge
Turn head left or right
βΉ
Randomisation prevents pre-recorded video replay attacks β attacker can't know which challenge will appear.
Anti-Spoofing Detail
SCREEN 03 Β· MODULE 4 Β· GEO-FENCE CHECK
Geo-fence Validation β Step 1 of Punch-In
Before liveness or face match, GPS coordinates are validated against the site's configured geo-fence boundary (default 300m). If outside β punch immediately blocked, FCM P1 alert to Supervisor + Admin, anomaly logged as ANOMALY_GEO. All three anomaly types β Geo, Ghost, and Duplicate punch β shown here.
Location Check
Sunrise Township A
Statusβ Inside fence
Distance142m (under 300m)
GPS accuracyΒ±5m
Fence radius300m (admin set)
FormulaHaversine
β Proceed to Liveness β
Inside Geo-fence β
π«
Outside Fence β Blocked!
524m from site Β· Punch denied
π¨
Supervisor + Admin notified via FCM P1. Event logged as ANOMALY_GEO with GPS coords + timestamp.
Your distance524m (224m over limit)
Punch statusBLOCKED
Anomaly flagANOMALY_GEO
AlertPOST /alert/geofence-breach
anomaly types in system
πΊ
ANOMALY_GEO
Punch outside fence β blocked
π»
ANOMALY_GHOST
Punched in Β· No GPS trail during shift
π±
ANOMALY_DUP
Two punches from same EMP in <4 min
Outside Fence β Blocked
SCREEN 04 Β· MODULE 3 Β· LIVENESS DETECTION
Liveness Challenge β Blink & Head-Turn
After geo-fence passes, a randomised liveness challenge (blink or head-turn) is presented. Azure Liveness API processes the live camera feed in real-time β entirely in-memory, nothing stored at this step. Randomisation prevents pre-recorded video replay. Failure shows a clear retry prompt. Both challenge types shown below.
Liveness β Blink
Challenge Type A
Blink Challenge
ποΈ
Blink twice slowly
Face centred Β· Good lighting required
ProcessingAzure Β· In-memory
Image stored?No β discarded
ChallengeBlink (randomised)
Blink Challenge (Type A)
Liveness β Head Turn
Challenge Type B
Head Turn Challenge
β
Turn head to the right
Direction randomised Β· 45Β° turn needed
Why randomised?
If challenge were always "blink", attacker could pre-record it. Randomisation forces a live real-time response that cannot be pre-recorded or replayed.
Head-Turn Challenge (Type B)
Liveness Passed β
Proceeding to face match
β
Real face confirmed. Proceeding to face match against your 5 enrolled photos in Azure PersonGroup.
GPS
β OK
Liveness
β Real
Face
Matching...
full punch-in flow
β
GPS within 300m fence
142m Β· Inside fence OK
β
Liveness blink passed
In-memory Β· Real confirmed
β
Face match running
Azure /detect + /verify
threshold β₯ 0.6
β
POST /attendance/punch-in
GPS + timestamp + location photo β S3
Liveness Passed β Face Match
SCREEN 05 Β· MODULE 3 Β· PUNCH RESULT
Punch-In Result β Success, Fail & Override
Confidence β₯ 0.6 β punch recorded with GPS, timestamp, location photo (S3). Shift activated, Supervisor notified via FCM. Confidence < 0.6 β 2 retries allowed (3 total). After 3 fails β Supervisor must manually override. Multiple punches supported β late arrival, mid-shift break, early departure. All logged separately.
β
Punched In!
8:01 AM Β· 8 July 2025
Confidence: 0.91 Β· GPS: 142m
EmployeeMeena Sharma Β· EMP-4421
Punch-in time08:01:14 AM
Face confidence0.91 β
Location photos3://punch-ms-0801.jpg β
Shift activatedYes β
Supervisor notifiedFCM sent β
π
Supervisor Vikram P. notified of your punch-in. Tasks are now available.
Punch-In Success
β
Face Match Failed
Attempt 3 of 3 β Override needed
β
3 consecutive failures. Supervisor override required. Vikram P. has been notified via FCM.
Attempt 10.43 β Fail
Attempt 20.51 β Fail
Attempt 30.38 β Fail
Common reasons for failure:
β’ Poor lighting β move to bright area
β’ New beard / glasses since enrolment
β’ Camera lens dirty
β’ Face too close or too far from camera
β’ New beard / glasses since enrolment
β’ Camera lens dirty
β’ Face too close or too far from camera
β³
Awaiting supervisor override...
3 Fails β Supervisor Override
Shift Active
Morning Β· 8:01 AM β 4:00 PM
8:01
In
β:β
Out
4:00
Shift end
1h 10m elapsed6h 50m remaining
multiple punch records
βΉ
Late arrival, mid-shift break, and early departure each generate a separate punch record β all validated with face + GPS.
β
Late arrival
Punched at 8:18 β 18 min late
βΈ
Mid-shift break
Out + back in β both recorded
β
Early departure
Punch-out before shift end
Active Shift View
SCREEN 06 Β· MODULE 5 Β· DAILY TASKS
My Daily Tasks β Shift Assignment
After punch-in, HK Staff sees their task list for the shift β assigned by Supervisor before or at shift start. FCM push notification delivered with task list. Each task shows location, instructions, SOP reference, and due time. Staff marks done in app β optional photo evidence. Incomplete tasks at shift end auto-flagged to Supervisor and Field Officer.
My Tasks Today
Sunrise A Β· 8 Jul 2025
3/8
done
Completion3 of 8 tasks
β
Sweep & mop lobby β Ground Floor
Done 8:25 AM Β· Photo β
β
Clean male restroom β Level 1
Done 8:52 AM Β· Photo β
β
Bin collection β Lobby
Done 9:05 AM
β
Mop Corridors B & C β Level 1
In progress Β· 9:10 AM
Clean female restroom β Level 1
Vacuum carpets β Lobby
Check chemical stock levels
!
Gym deep clean β 2nd day overdue
Supervisor flagged β must complete today
π· Done + Photo
β Mark Done
Task List
Task Detail
Mop Corridors B & C
Assigned bySupervisor Vikram P.
LocationLevel 1 Β· Corridors B+C
Due by10:00 AM
PhotoOptional
step-by-step instructions
1. Use blue mop for corridors
2. Floor cleaner at 1:20 dilution ratio
3. Mop away from doorways
4. Deploy wet floor sign before starting
5. Remove sign when floor is dry (~15 min)
2. Floor cleaner at 1:20 dilution ratio
3. Mop away from doorways
4. Deploy wet floor sign before starting
5. Remove sign when floor is dry (~15 min)
π
SOP: Floor Cleaning v2.1 Β§4.3 β Blue mop corridors only. Never use red (ICU) mop here.
β Mark Complete
π· + Photo
Task Detail View
Shift End β Task Summary
8 Jul 2025
7
Done
1
Incomplete
Completion rate87.5%
β
Gym deep clean incomplete β auto-flagged to Supervisor Vikram P. and FO Rajiv K. immediately.
βΉ
Incomplete tasks are auto-reported via API at shift end. No action needed from staff β system handles it.
Proceed to Punch Out
Shift-End Task Summary
SCREEN 07 Β· MODULE 5 Β· TASK COMPLETION
Marking Task Done β With Photo Evidence
Staff marks tasks done in the app. Optional photo evidence captures the completed work area β supervisor sees real-time update. Photo captured in-app only, GPS + timestamp embedded. PATCH /task/{id}/complete syncs to supervisor immediately. Overdue tasks stay highlighted until resolved.
Mark Task Done
Mop Corridors B & C
π·
Photo is optional but recommended. Supervisor can confirm quality. GPS + time auto-tagged.
Capture Completion Photo
πΈ
Show the completed work area
In-app camera Β· GPS + time auto-tagged
TaskMop Corridors B+C Β· L1
Completed9:43 AM
Syncs toSupervisor real-time
APIPATCH /task/4421-03/complete
β Done
π· Done + Photo
Task Completion
Task Confirmed
Synced to Supervisor
β
Task marked complete. Supervisor updated in real-time. Photo saved to S3.
Photos3://task-9421-L1.jpg β
Supervisor seesImmediate
remaining tasks
Clean female restroom β Level 1
Vacuum carpets β Lobby
Check chemical stock levels
!
Gym deep clean β overdue
Next Task β
Task Confirmed & Synced
SCREEN 08 Β· KRA 1 Β· COMPLIANCE VIEW
Uniform & Safety β Staff View
HK Staff don't conduct their own check β the Supervisor photographs them during floor rounds. However, the app shows the staff member their current compliance status and any violations. Safety reminders from SOPs are surfaced here β wet floor sign, PPE, chemical protocol β reinforcing what was taught in training.
My Compliance
Today Β· 8 Jul Β· Meena S.
today's uniform check
β
Uniform worn correctly
Checked by Supervisor 8:15 AM
β
ID badge visible
Front pocket β
β
PPE available β gloves + apron
In cleaning trolley β
safety reminders (from SOP)
!
Deploy wet floor sign before mopping
SOP: Floor Cleaning v2.1 Β§3.1
!
Wear gloves when using chemicals
SOP: Chemical Handling v1.4 Β§2.3
!
Use correct mop colour per zone
Blue: corridors Β· Red: ICU only
βΉ
Supervisor checks your uniform during floor rounds. Violations will appear here if flagged.
Compliance Status
Violation Alert
Previous violation Β· 3 Jul
β
You had a violation on 3 Jul β No ID badge. Corrected on-spot. Repeat violations escalate to written warning.
violation log
!
No ID badge β 3 Jul
Corrected: spare badge issued
β
Uniform check β 8 Jul
All items passed β
escalation policy
1st violation β Verbal warning + correction
2nd violation β Written warning logged
3rd violation β Escalated to Field Officer
4th+ β HR review initiated
2nd violation β Written warning logged
3rd violation β Escalated to Field Officer
4th+ β HR review initiated
βΉ
Supervisor photo evidence tagged uniform_compliance is stored with your employee record in admin panel.
Violation Log & Policy
SCREEN 09 Β· MODULE 12 Β· GYROSCOPE MONITORING
Gyroscope & Activity Monitoring β Module 12
The app uses the device's built-in gyroscope and accelerometer to passively monitor staff movement during the shift. Detects unusual patterns β prolonged idleness (possible sleeping), abnormal sudden movement (possible fall or accident), or suspicious stillness when tasks are assigned. Alerts are sent to Supervisor and Field Officer automatically. Visible passively to staff.
Activity Monitor
Passive Β· Running in background
π±
Movement detection runs passively. You don't need to do anything β it monitors automatically while app is open.
live motion reading
ACCELEROMETER READINGS
X-axis0.34
Y-axis0.72
Z-axis0.18
StatusNormal movement β
Last movement2:28 PM (2 min ago)
Idle threshold20 minutes
Alert onIdle or sharp jerk
Normal Activity Reading
β οΈ
Unusual Movement Detected
Sharp jerk at 11:42 AM β possible fall
π¨
Supervisor Vikram P. and FO Rajiv K. notified immediately via FCM P1. Are you OK?
MOTION READING β ALERT
X-axis3.82 !
Y-axis4.11 !
Alert typeUNUSUAL_MOVEMENT
Time11:42:38 AM
FCM sentSupervisor + FO Β· P1
β I'm OK β Dismiss
Need Help!
Unusual Movement Alert
π΄
Idle Detected
No movement for 32 minutes
βΉ
Supervisor has been notified of idle status. Tap "I'm Active" to dismiss or confirm your status.
MOTION READING β IDLE
X-axis0.01
Y-axis0.02
Alert typeIDLE_DETECTED
Idle duration32 minutes
Threshold20 minutes
Supervisor notifiedYes Β· FCM P2
β I'm Active β Resume
Idle Detected Alert
SCREEN 10 Β· MODULE 3 Β· PUNCH OUT
Punch Out β End of Shift
At shift end, HK Staff completes the same 3-step face recognition process for punch-out. GPS, liveness, and face match all re-verified. Punch-out time recorded with GPS coordinates and location photo. Total hours calculated. Supervisor notified via FCM. Attendance record finalised for payroll engine.
Punch Out
Shift ending Β· Face verify required
Face Verification
π€
Verifying face for punch-out...
Same 3-step process as punch-in
Punch-in was8:01 AM
Current time4:01 PM
Expected hours8h 00m
GPSβ 187m (within 300m)
Payroll flagOn punch-out complete
Punch-Out Verification
π
Shift Complete!
4:01 PM Β· Great work today, Meena!
Punched In08:01 AM
Punched Out04:01 PM
Total Hours8h 00m β
Tasks7 / 8 complete
PayrollUpdated Β· 8h counted
Supervisor notifiedFCM sent β
π°
Today's hours (8h) logged to payroll engine. Payslip generated on last working day of month.
Go to Home Screen
Punch-Out Complete
SCREEN 11 Β· MODULE 10 Β· OFFLINE MODE
Offline Mode β No Network Coverage
The HK Staff app handles no-network scenarios using SQLite local cache. Tasks are pre-loaded at shift start. Punch-in attempts use last known GPS (cached). Photos are queued for S3 upload. Task completions stored locally. Everything syncs automatically on reconnect. Offline sync marked in the attendance record.
π΄
No Network
Offline mode active
π΄
No internet connection. App is running in offline mode. Your work is being saved locally and will sync automatically.
offline capabilities
Tasks loaded at shift start β
Task completions saved locally β
Photos queued β 3 waiting to upload
Punch-in uses last known GPS
No FCM notifications while offline
Local storageSQLite
Last GPS cached10:02 AM Β· 156m from site
Photos queued3 files waiting
Tasks saved5 locally stored
Offline Mode Active
π
Back Online!
Syncing offline data...
π
Network restored. Uploading 3 queued photos and syncing 5 task completions to server now.
sync progress
β
5 task completions synced
PATCH /task/{id}/complete Γ 5
β
3 photos uploaded to S3
PUT /task/{id}/photo Γ 3
β
Attendance record flagged
offline_sync: true in attendance log
β
Supervisor updated
FCM pushed β task completions visible
Offline duration43 minutes
Sync statusComplete β
Attendance flagoffline_sync: true
Back Online β Sync Complete
SCREEN 12 Β· MODULE 3 Β· ATTENDANCE HISTORY
Attendance History β Own Records Only
Staff can view their own attendance records β punch-in times, punch-out times, late arrivals, absences, and GPS accuracy flags. data_scope: own_only means attempting to view another employee's records returns HTTP 403. Monthly summary shows working hours, absenteeism, and late count used for payroll calculation.
Attendance History
Meena Sharma Β· July 2025
22
Days present
1
Absent
3
Late arrivals
176h
Total hours
this week
β
Mon 7 Jul
In 7:59 Β· Out 4:01 Β· 8h 02m
β
Tue 8 Jul β Today
In 8:01 Β· Out 4:01 Β· 8h 00m
!
Wed 2 Jul
In 8:18 Β· Late by 18 min
β
Fri 27 Jun
No punch-in Β· Absent
anomaly flags
π
10 Jul Β· Offline sync
Network restored Β· Data synced OK
Attendance Records
Monthly Summary
July 2025 Β· Payroll input
Working days26 (MonβSat)
Days present22
Absent1
Late arrivals3
Total hours176h 00m
Absenteeism %3.8% (under 15% threshold)
deduction triggers for payroll
Absent deduction: 1 day Γ daily rate
Late deduction: 3 lates Γ configured rate
Advance deduction: βΉ0 this month
These are inputs to payroll engine β full breakdown in payslip.
Late deduction: 3 lates Γ configured rate
Advance deduction: βΉ0 this month
These are inputs to payroll engine β full breakdown in payslip.
π
data_scope: own_only β you can only see your own records. Attempting to view EMP-4401 returns HTTP 403.
Monthly Summary
SCREEN 13 Β· MODULE 9 Β· PAYSLIP
Monthly Payslip β Full Deduction Breakdown
Monthly payslip generated on the last working day of the month. Shows gross salary, all statutory deductions (PF 12%, ESI 0.75%), and non-statutory deductions (absent days, late arrivals, advance, dress allotment if applicable). Net pay shown prominently. Staff can download PDF. FCM notification when payslip is generated.
Payslip
Meena Sharma Β· EMP-4421
June 2025 Β· Generated 30 Jun
earnings
Basic SalaryβΉ 15,000
HRA (House Rent)βΉ 5,000
Conveyance AllowanceβΉ 1,500
Special AllowanceβΉ 2,000
Gross SalaryβΉ 23,500
statutory deductions
PF β Employee (12%)β βΉ 1,800
ESI (0.75%)β βΉ 176
non-statutory deductions
Absent β 1 dayβ βΉ 500
Late arrivals (3Γ)β βΉ 150
Advance recoveryβ βΉ 0
Dress allotment recoveryβ βΉ 375
net pay
Net Pay (Take Home)βΉ 20,499
π Download PDF
July 2025
Payslip β June 2025
Deduction Explainer
What each deduction means
Statutory (Government-mandated)
PF (Provident Fund) 12%: Saved for retirement. Company also contributes 12% on your behalf.
ESI 0.75%: Employee State Insurance β covers medical expenses for you and family.
ESI 0.75%: Employee State Insurance β covers medical expenses for you and family.
Non-Statutory (Attendance-based)
Absent days: Per-day rate Γ days absent.
Late arrivals: Configured rate per late incident (varies by company policy).
Advance: Salary advance recovered over months.
Dress allotment: Uniform provided by company β cost recovered monthly over contract period.
Late arrivals: Configured rate per late incident (varies by company policy).
Advance: Salary advance recovered over months.
Dress allotment: Uniform provided by company β cost recovered monthly over contract period.
Generated onLast working day
Bank transferSBI ββββ9821
FCM notificationP4 Β· on generation
Deduction Breakdown
SCREEN 14 Β· MODULE 7 Β· MY TRAINING
My Training Records β Skill Matrix View
HK Staff can view their own training history and current skill levels. Shows sessions attended, quiz scores, and which sessions are upcoming. Remedial flags appear here if quiz score was below 80%. Skill levels updated after each training session by the Trainer. Staff cannot modify their own skill levels β read-only view.
My Training
Meena Sharma Β· EMP-4421
my skill levels
Brooming & Mopping95%
Chemical Use82%
Infection Control74%
Machine Operation60%
Soft Skills78%
Safety & First Aid88%
upcoming sessions
π
Soft Skills β Guest Interaction
10 Jul Β· 11:00 AM Β· Mandatory
π
Safety & First Aid Refresher
15 Jul Β· 10:00 AM Β· Mandatory
Skill Matrix View
Session History
All sessions attended
july 2025
π
Infection Control β 8 Jul
Attended Β· Quiz: 88% β
π
Eco-friendly Practices β 6 Jul
Attended Β· No quiz
π
Machine Operation β 5 Jul
Attended Β· Quiz: 80% β
π
Chemical Safety β 3 Jul
Attended Β· Quiz: 85% β
june 2025
π
Soft Skills β 12 Jun
Attended Β· Quiz: 78% β
π
Floor Cleaning Refresher β 2 Jun
Absent β not attended
βΉ
Skill levels are updated by Trainer after each session. You cannot modify your own skill levels.
Training Session History
SCREEN 15 Β· MODULE 2 Β· DIGITAL ID CARD
Digital ID Card & Document Status
Digital ID card auto-generated after onboarding completion and admin approval. Contains staff name, employee ID, photo, site, designation, and QR code linking to the encrypted employee record. Staff can show this for identification at site. Document status (Aadhaar, PAN, police verification) visible here with expiry warnings.
Digital ID Card
CleanPro Services
π₯ Save to Gallery
Digital ID Card
Document Status
EMP-4421 Β· Expiry alerts
β
All your documents are currently valid. You will be notified 30 days before any document expires.
document status
π
Aadhaar Card
4521 XXXX 7890 Β· Valid β
π
PAN Card
ABCPD1234E Β· Valid β
π
Police Verification
Clearance cert Β· Valid until Aug 2026
π¦
Bank Account
SBI ββββ9821 Β· Salary linked β
π€
Face Enrolment
Azure Β· 5 photos Β· EMP-4421 β
id card info
GeneratedPost admin approval
QR links toEncrypted employee record
Expiry warning30 days before doc expiry
Document Status
SCREEN 16 Β· MODULE 11 Β· NOTIFICATIONS
Notifications β Housekeeping Staff
HK Staff receives the most limited set of notifications β only things directly relevant to them. P3 events include task assignments, training session reminders, and document expiry warnings. P4 includes payslip generation. They do NOT receive P1 safety/security alerts, SLA breach alerts, or cross-site notifications.
Notifications
Meena Sharma Β· Today
β
Tasks ready for today
8 tasks assigned by Supervisor. Tap to view.
8:01
π
Training β Soft Skills Β· 10 Jul
11:00 AM Β· Conference Room Β· Mandatory attendance.
Yest.
π°
Payslip β June 2025 ready
Net pay βΉ 20,499. Tap to view and download.
30 Jun
π
Reminder: Attend safety session
Safety & First Aid on 15 Jul. Don't miss it.
14 Jul
never received by hk staff
β
SLA breach alerts
Supervisor + FO only
β
Safety incident alerts
P1 β Supervisor + Admin only
β
Inspection fail alerts
Field Officer only
Notification Center
HK Staff Alert Guide
What you receive
P3 β On Event
β’ Tasks assigned for today (shift start)
β’ Training session scheduled reminder
β’ Training session cancelled / rescheduled
β’ Document expiry warning (30 days before)
β’ Training session scheduled reminder
β’ Training session cancelled / rescheduled
β’ Document expiry warning (30 days before)
P4 β Monthly / Informational
β’ Payslip generated notification
β’ R&R event β you won award!
β’ Onboarding step completed
β’ R&R event β you won award!
β’ Onboarding step completed
NOT received by HK Staff
P1: Geo-fence breach, safety incidents, SLA breaches, inspection fails β these go to Supervisor + FO + Admin only. HK Staff is the most protected role β sees only their own data.
π
FCM notifications are user-scoped. No other employee's data or alerts are ever sent to your device β enforced at server level.
HK Staff Alert Priority Guide