Version: 1.0.1Documentation Index
Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
Use this file to discover all available pages before exploring further.
Last Updated: 2026-03-24
Spec: HR-28 Fingerprint Clearance Card Management
Constitution Reference: Section 1.2 (Core Independence), Section 1.3 (Integration Patterns)
Overview
HR-28 tracks Arizona DPS fingerprint clearance cards per employee, drives expiration notifications, and exposes verification status for HR-03 onboarding and HR-02 credential prerequisites. Cross-core consumers use the Platform Integration Layer or documented events—no direct core-to-core imports.Integration Points
Platform Foundation (PF)
| PF area | Use |
|---|---|
| PF-10 (Notifications) | Expiration (90/60/30), suspension/revocation, onboarding block messaging |
| PF-04 (Audit) | Sensitive mutations (verification, status changes, incident create/resolve) |
| PF-30 (Permissions) | Keys hr.fingerprint_clearance.{view,manage,verify} |
| PF-56 (File upload) | Card image and GCE document storage paths (RLS-aligned buckets) |
Intra-HR dependencies
| Spec | Relationship |
|---|---|
| HR-01 | Employee anchor (employee_id) |
| HR-02 | Prerequisite checks for credentials requiring clearance |
| HR-03 | Onboarding completion gate: active + verified clearance |
| HR-14 | Optional link from clearance incidents to ER cases (reference IDs only) |
Event Contracts (planned)
Names follow{core}_{entity}_{action} where possible. Final names MUST be registered in EVENT_CONTRACTS.md before production publish.
hr_fingerprint_clearance_status_changed
Publisher: HR (HR-28)Subscribers: HR-02, HR-03 (via platform handlers)
Status: 📋 Planned Purpose: Notify gates and dashboards when clearance moves between blocking and non-blocking states.
hr_fingerprint_clearance_expiration_warning
Publisher: HR (HR-28) / scheduled workerSubscribers: PF-10
Status: 📋 Planned Purpose: Correlate scheduled notifications with idempotent alert flags on the clearance row.
API / data access
- Client: HR module routes and hooks under
src/cores/hr/; use Supabase client with tenant filters on mutations. - Downstream cores: Consume published events or platform read APIs—do not query
hr_fingerprint_clearancesfrom non-HR cores.
Security & tenant isolation
- All rows scoped by
organization_id; RLS enforced. - Full card numbers suppressed for all non-authorized roles and internal surfaces (including logs, prompts, error strings, monitoring/telemetry, and debug dumps).
- No secrets or card numbers in logs, prompts, error strings, monitoring/telemetry, or debug outputs.