Total active
320
roster size
Present
225
punched-in today
Absent
89
expected ≠ present
On leave
2
approved + active today
On tour
4
approved + active today
Rejected punches
24
geo / sig / face / liveness
Today's punches by hour
peak 255 punches/hr · IN + OUT · all verdicts
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
7-day attendance
distinct employees who punched ≥ 1 time
Wed
266
Thu
288
Fri
250
Sat
301
Sun
269
Mon
241
Tue
225
Identity assurance — today's accepted punches
L1 device · L2 + on-device biometric · L3 + face-match
L1 — Device + crypto
287 · 72%
L2 — + On-device biometric
79 · 19%
L3 — + Self-hosted face match
32 · 8%
Tier resolved per cohort × context — VVIP-area punches require L3, ordinary roster only L1.
Verdict distribution
all 426 punches submitted today
- accepted 366
- accepted face match 32
- rejected face mismatch 7
- rejected geofence 7
- rejected liveness 6
- rejected signature 4
- duplicate 4
Recent punch activity
live · last 20 punches today, newest first
| When | Employee | Type | Tier | Verdict |
|---|---|---|---|---|
| 10:10:54 |
Staff 1428
Vendor
|
IN | l1 | accepted |
| 10:10:54 |
Staff 2248
Staff
|
IN | l2 | accepted |
| 10:10:54 |
Staff 1322
Vendor
|
OUT | l1 | duplicate |
| 10:10:54 |
Staff 1015
Contract
|
OUT | l1 | accepted |
| 10:10:54 |
Staff 1927
Staff
|
OUT | l3 | accepted face match |
| 10:10:54 |
Staff 1804
Contract
|
IN | l1 | accepted |
| 10:10:54 |
Staff 2166
Staff
|
OUT | l1 | accepted |
| 10:10:54 |
Staff 1851
Staff
|
OUT | l2 | accepted |
| 10:10:54 |
Staff 1326
Vendor
|
IN | l1 | accepted |
| 10:10:54 |
Staff 0045
Staff
|
OUT | l3 | accepted face match |
| 10:09:54 |
Staff 0858
Staff
|
IN | l1 | rejected geofence |
| 10:09:54 |
Staff 1784
Staff
|
OUT | l1 | accepted |
| 10:09:54 |
Staff 0377
Staff
|
OUT | l1 | accepted |
| 10:09:54 |
Staff 1943
Staff
|
OUT | l1 | accepted |
| 10:09:54 |
Staff 1441
Vendor
|
OUT | l1 | accepted |
| 10:09:54 |
Staff 0311
Staff
|
OUT | l1 | accepted |
| 10:09:54 |
Staff 0094
Staff
|
OUT | l1 | duplicate |
| 10:09:54 |
Staff 1904
Contract
|
OUT | l2 | accepted |
| 10:09:54 |
Staff 0879
Vendor
|
OUT | l1 | accepted |
| 10:09:54 |
Staff 0227
Staff
|
OUT | l1 | accepted |
Pending leaves
approver queue
Staff 1963
· RH · 26 Apr–26 Apr
1d
Staff 0881
· EL · 26 Apr–26 Apr
1d
Staff 0620
· EL · 28 Apr–29 Apr
2d
Staff 1869
· RH · 27 Apr–27 Apr
1d
Staff 0171
· EL · 26 Apr–27 Apr
2d
Pending tours
out-of-station
No pending tour applications.
Active geofences
9 polygons · all centred near Parliament House, Delhi
SEED: Parliament Main Building
Main_building · radius 250m
28.6175, 77.2087
SEED: Committee Room A
Committee_room · radius 80m
28.6175, 77.2099
SEED: Committee Room B
Committee_room · radius 80m
28.6175, 77.2106
SEED: Committee Room C
Committee_room · radius 80m
28.6167, 77.2099
SEED: Committee Room D
Committee_room · radius 80m
28.6167, 77.2106
SEED: MP Residence Block A
Residence · radius 350m
28.6220, 77.2060
SEED: MP Residence Block B
Residence · radius 350m
28.6240, 77.2040
SMOKE: Test fence
Other · radius 50m
28.6170, 77.2080
Parliament Complex (PH + PLB)
Main · radius 350m
28.6185, 77.2084
Upcoming holidays
next 8 entries on the gazetted calendar
- Sat, 15 Aug · Independence Day (seed) gazetted
- Wed, 19 Aug · Raksha Bandhan (seed) restricted · optional
- Mon, 7 Sep · Ganesh Chaturthi (seed) restricted · optional
- Fri, 2 Oct · Gandhi Jayanti (seed) gazetted
- Mon, 12 Oct · Dussehra (seed) gazetted
- Sat, 31 Oct · Diwali (seed) gazetted
- Sun, 15 Nov · Guru Nanak Jayanti (seed) gazetted
- Fri, 25 Dec · Christmas (seed) gazetted
What this prototype demonstrates
🔐
Crypto-bound punches
Each IN/OUT carries a P-256 ECDSA signature from the bound device — replay nonce, server-side verify, six rejection verdicts.
👤
Three identity tiers
L1 device, L2 with on-device biometric, L3 with self-hosted face-match (AES-256-GCM, Vault-transit-wrapped DEKs, liveness-gated).
📍
GeoJSON geofences
Point-in-polygon + Wi-Fi SSID allowlist. PostGIS-ready upgrade path. Per-employee-type applies-to allowlists.
📋
CCS leave engine
CL/EL/HPL/COMMUTED/CCL/RH with prefix/suffix/holiday rules, per-cohort caps, half-day, balance ledger, cancellation + auto-credit.
🛂
eKYC self-enrollment
DigiLocker PKCE flow, name+DOB match against roster, no raw Aadhaar / DOB / photo bytes ever persisted.
🛡️
Append-only audit
Every state-changing call goes through Redis stream → sds_audit Postgres. Logical replication to a read-only replica.
📱
Flutter mobile app
15+ screens — punch, face-punch, leave, tour, devices, profile, DigiLocker enroll, manager view. Offline-tolerant.
🧑💼
Manager dashboard
/v1/manager/* — team-today, absent, pending approvals, summary. JSONB reporting-chain scope, RBAC-gated.
📊
Admin console
16 Blade pages — late/absent/devices/holidays/geofences/reports/CSV. Mobile-responsive drawer nav.