> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# E-Verify — Integration

> Version: 1.1.0 Last Updated: 2026-03-25 Spec: HR-26 E-Verify Integration Constitution Reference: Section 1.2 (Core Independence), Section 1.3 (Integration Patt…

**Version:** 1.1.0\
**Last Updated:** 2026-03-25\
**Spec:** [HR-26 E-Verify Integration](../../../specs/hr/specs/HR-26-e-verify-integration.md)\
**Constitution Reference:** Section 1.2 (Core Independence), Section 1.3 (Integration Patterns)

***

## Overview

HR-26 integrates USCIS E-Verify web services for employment eligibility verification. Cases are created from HR-03 I-9 completion, consume employee context from HR-01, and use PF notifications and platform events for deadlines and status changes. All API traffic and credential use should run through PF-governed edge functions and secrets (no client-side USCIS credentials).

***

## Integration Points

### Platform Foundation (PF)

| PF area             | Use                                                         |
| ------------------- | ----------------------------------------------------------- |
| PF-10 Notifications | Deadline, TNC, and status alerts (sanitized payloads)       |
| PF-30 Permissions   | `hr.everify.view`, `hr.everify.manage`, `hr.everify.config` |
| Edge Functions      | USCIS API client, credential resolution from vault/env      |

**Integration type:** Platform Integration Layer; events for case lifecycle (see Event Contracts).

### HR (same core)

| Spec  | Relationship                                                                                                                                                                     |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| HR-03 | Publisher/trigger: I-9 Section 2 completion → case create or queue (clarified: domain event such as `hr_i9_section2_completed`; final name documented when HR-03 and HR-26 land) |
| HR-01 | Read employee demographics for case payloads                                                                                                                                     |

### External

| System             | Use                                           |
| ------------------ | --------------------------------------------- |
| USCIS E-Verify API | Case create, status, photo match, resolutions |

***

## Event Contracts

Define concrete payloads when implementing; names are illustrative. These events are registered in [EVENT\_CONTRACTS.md](./EVENT_CONTRACTS.md) under the HR-26 section.

| Event                       | Publisher | Subscribers      | Trigger                                                 | Contract Registration                                           |
| --------------------------- | --------- | ---------------- | ------------------------------------------------------- | --------------------------------------------------------------- |
| `hr_everify_case_created`   | HR-26     | PF-10, audit     | `hr_everify_cases` insert after successful USCIS create | Registered in EVENT\_CONTRACTS.md: hr\_everify\_case\_created   |
| `hr_everify_status_changed` | HR-26     | PF-10, reporting | Status transition on poll or webhook (if used)          | Registered in EVENT\_CONTRACTS.md: hr\_everify\_status\_changed |
| `hr_everify_tnc_opened`     | HR-26     | PF-10            | Enter TNC state                                         | Registered in EVENT\_CONTRACTS.md: hr\_everify\_tnc\_opened     |

**Note:** Add corresponding entries to [PLATFORM\_INTEGRATION\_LAYERS.md](./PLATFORM_INTEGRATION_LAYERS.md) when event publishing is implemented.

| Event                       | Publisher | Subscribers      | Trigger                                                 | Status |
| --------------------------- | --------- | ---------------- | ------------------------------------------------------- | ------ |
| `hr_everify_case_created`   | HR-26     | PF-10, audit     | `hr_everify_cases` insert after successful USCIS create | ✅      |
| `hr_everify_status_changed` | HR-26     | PF-10, reporting | Status transition on poll or manual update              | ✅      |
| `hr_everify_tnc_opened`     | HR-26     | PF-10            | Enter TNC state                                         | ✅      |

***

## Edge Functions

| Function                  | Purpose                                                                          | Status     |
| ------------------------- | -------------------------------------------------------------------------------- | ---------- |
| `hr-everify-orchestrator` | Create case, poll status, close case; PII redaction; vault credential resolution | ✅ Deployed |

***

## Non-goals

* I-9 data entry (HR-03)
* Immigration legal case management
* Storing USCIS credentials in DB columns (use vault references only)
