Skip to Content
Who can use this
Available to
DeveloperAdministrator
Not available to
Governance EngineerCompliance OfficerBusiness OwnerAuditor

SDK Quick Start — Human Resources & Workforce Management

Getting started: Human Resources & Workforce Management

This guide takes you from install to your first attributed governance record in human resources & workforce management. You will install the SDK, configure a provider, instrument a workflow step with the real OTel attribute vocabulary from this vertical, and have a reviewable evidence record in your portal within an afternoon. There is no scaffolding project — just your API key and the three steps below.

Why this matters right now. As of March 2026, agentic AI in HR and workforce management is deployed across: AI resume screening and candidate ranking (most common HR AI deployment; subject to NYC LL144, EEOC, EU AI Act Annex III), AI video interview analysis (facial expression, tone, language; subject to Illinois AIVIA), AI-driven performance evaluation and continuous feedback generation, predictive attrition and flight risk scoring, compensation benchmarking and pay equity analysis (mandated reporting under EU Pay Transparency Directive from June 2026), workforce planning and headcount forecasting, learning recommendation engines and skill gap analysis, employee sentiment and engagement analysis (may constitute monitoring under NLRA), AI scheduling and shift optimisation (FLSA compliance), AI-powered HR service desk and case triage, DEI analytics and representation gap identification, and AI-assisted occupational health and safety monitoring. The EU AI Act Annex III para 4 explicitly classifies AI used in recruitment, selection, task allocation, performance monitoring, promotion, termination, and access to self-employment as high-risk — applying from August 2, 2026 with the full conformity assessment, logging, human oversight, and transparency obligations of Title III Chapter 2. NYC Local Law 144 is the most operationally specific binding regulation globally — it requires annual independent bias audits, public posting of audit results, and candidate/employee notice before any AEDT is used. NYC Local Law 144 (effective July 5, 2023) requires employers and employment agencies using Automated Employment Decision Tools (AEDTs) in NYC to: conduct or commission an independent bias audit within one year prior to use; publish a summary of the audit results on their website; provide candidates and employees with notice at least 10 business days before the AEDT is used; and offer an alternative selection process on request. The Colorado AI Act (SB 24-205, effective February 1, 2026) extends similar obligations statewide for high-risk AI in consequential decisions including employment. The EU Pay Transparency Directive (2023/970) requires member state transposition by June 2026 — employers with 100+ employees must conduct joint pay assessments with works councils where gender pay gaps exceed 5% and cannot be justified. EU AI Act Annex III para 4 makes recruitment, selection, task allocation, and performance monitoring AI high-risk — the August 2026 application date is approaching. Works councils in EU member states with AI consultation rights (DE, FR, NL, AT, BE) must be informed and consulted before deploying new HR AI systems.

How the layering works

You are not adopting a separate product surface for this vertical. You are adding a market-specific vocabulary layer on top of the same core session model used everywhere in VeriProof.

LayerWhat you configureWhat changes downstream
Core SDKAPI key, application identity, session lifecycle, export path, base governance metadataThe same trace, evidence, and export foundation used across every implementation
Human Resources & Workforce ManagementOTel attributes, permitted values, and workflow metadata drawn from this vertical catalogPortal evidence records, policy inputs, and exports become standards-literate for this market
Review surfacesRules, evidence packages, and internal reviewer workflowsThe same labels and values appear without translation during review or audit

If you need the cross-industry baseline first, open the core SDK reference, Python core, or .NET core before continuing here.

Step 1 — Install

TypeScript / Node.js

npm install @veriproof/sdk-core

Python

pip install veriproof-sdk

.NET

dotnet add package Veriproof.Sdk

Step 2 — Configure

Call the configuration helper once, before any AI framework initialises. After that call, every OTel span in the process — whether emitted by your code or by a framework adapter — is exported automatically to VeriProof.

Your API key comes from the VeriProof portal. Try a live demo to see the portal before you register, or start a free Builder account and use the environment variable pattern above directly.

Need a production credential path rather than sandbox exploration? Get API access for a Builder account, or contact the team if you need an architecture or compliance review alongside implementation.

Step 3 — Instrument your workflow

The governance vocabulary for this vertical lives in the Human Resources & Workforce Management reference. Use the OTel attribute names below — they are the same names the portal uses in evidence records and the same names your policy engine will evaluate. Consistency here is the point.

OTel attributeSample valueCategory
hr.recruitment.stagejob_postedRecruitmentStage
hr.ai_decision.typeresume_rankingAIEmploymentDecisionType
hr.recruitment.candidate_notice_statusnotice_not_requiredCandidateNoticeStatus
hr.recruitment.requisition_statusdraftRequisitionApprovalStatus
hr.bias_audit.outcomecompliant_no_disparate_impactBiasAuditOutcome
hr.bias_audit.protected_classrace_ethnicityAdverseImpactProtectedClass

TypeScript example

import { configureVeriproof, VeriproofClient, VeriproofSdkOptions, SessionMetadata } from '@veriproof/sdk-core';
import { RecruitmentStage, RecruitmentStageMeta, AIEmploymentDecisionType, AIEmploymentDecisionTypeMeta } from '@veriproof/sdk-core/verticals/hr-workforce-management';

// Call once at application startup
configureVeriproof(
  VeriproofSdkOptions.createProduction({
    apiKey: process.env.VERIPROOF_API_KEY!,
    applicationId: 'hr-workforce-management-app',
  }),
  { serviceName: 'hr-workforce-management-app', setGlobal: true },
);

// Instrument a governed workflow
const client = new VeriproofClient(
  VeriproofSdkOptions.createProduction({ apiKey: process.env.VERIPROOF_API_KEY! }),
);

const session = client
  .startSession('hr.workforce.management.review')
  .withSessionMetadata(SessionMetadata.forTransaction('txn-001').withEnvironment('production'))
  .addStep('evaluate', { output: { status: 'completed' } })
  .withMetadata(RecruitmentStageMeta.otelAttribute, RecruitmentStage.job_posted)
  .withMetadata(AIEmploymentDecisionTypeMeta.otelAttribute, AIEmploymentDecisionType.resume_ranking)

await session.complete();

Python example

import os
from opentelemetry import trace
from veriproof_sdk import VeriproofClientOptions, configure_veriproof
from veriproof_sdk.verticals import hr_workforce_management as hwm

# Call once at application startup
configure_veriproof(
    VeriproofClientOptions(
        api_key=os.environ["VERIPROOF_API_KEY"],
        application_id="hr-workforce-management-app",
    ),
    service_name="hr-workforce-management-app",
    set_global=True,
)

tracer = trace.get_tracer(__name__)

# Instrument a governed workflow
with tracer.start_as_current_span("hr_workforce_management.review") as span:
    span.set_attribute(hwm.RecruitmentStage.__otel_attribute__, hwm.RecruitmentStage.job_posted.value)
    span.set_attribute(hwm.AIEmploymentDecisionType.__otel_attribute__, hwm.AIEmploymentDecisionType.resume_ranking.value)
    span.set_attribute(hwm.CandidateNoticeStatus.__otel_attribute__, hwm.CandidateNoticeStatus.notice_not_required.value)
    ...

.NET example

using Veriproof.Sdk;
using Veriproof.Sdk.Core.OpenTelemetry.Verticals.HrWorkforceManagement;

// Configure once at application startup
builder.Services.AddVeriproof(options =>
{
    options.ApiKey = builder.Configuration["VERIPROOF_API_KEY"]!;
    options.ApplicationId = "hr-workforce-management-app";
});

// Instrument a governed workflow step
using var activity = ActivitySource.StartActivity("evaluate");
    activity?.SetTag(RecruitmentStage.Metadata.OtelAttribute, RecruitmentStage.job_posted);
    activity?.SetTag(AIEmploymentDecisionType.Metadata.OtelAttribute, AIEmploymentDecisionType.resume_ranking);
    activity?.SetTag(CandidateNoticeStatus.Metadata.OtelAttribute, CandidateNoticeStatus.notice_not_required);

How teams use this in production

  • Recruitment & Applicant Tracking: Recruitment Stage. AI recruitment agent tags every candidate touchpoint with recruitment stage. OPA policy enforces that 'resume_screening' and 'ai_assessment' stages require bias audit on file and candidate notice delivered before the AI output influences the selection decision. (Eu AI Act Annex3 4a: EU AI Act Annex III para 4(a) — AI in recruitment and selection is high-risk from August 2, 2026; conformity assessment, logging, transparency, and human oversight required)
  • Recruitment & Applicant Tracking: AIEmployment Decision Type. Every AI HR agent action is tagged with its decision type. OPA policy enforces that 'termination_risk_flag', 'involuntary_separation_recommendation', and 'workforce_reduction_targeting' outputs require HR Business Partner and Legal review before any communication to managers or employees. (Eu AI Act Annex3 4a: EU AI Act Annex III para 4(a)(i-iv) — All decision types listed are high-risk AI; full Title III Chapter 2 obligations apply)
  • Recruitment & Applicant Tracking: Candidate Notice Status. OPA policy blocks AI recruitment agent from using AEDT output to influence any hiring decision unless candidate_notice_status is 'notice_window_elapsed_aedt_permitted'. 'Alternative_process_requested' status blocks AEDT use entirely for that candidate until alternative process outcome. (Nyc Ll144: NYC LL144 § 20-871(b) — Employer must notify candidates at least 10 business days before AEDT use; must accommodate requests for alternative process)
  • Recruitment & Applicant Tracking: Requisition Approval Status. AI talent sourcing agent checks requisition status before initiating any candidate outreach. 'Pending_dei_review' status ensures new requisitions are assessed for inclusive job description language before publishing. OPA policy blocks AI from advancing candidates to interview without 'approved_open' status.

Next steps

Ready to connect your first workflow?

Register a free Builder account — 500 tamper-proof Proofs per month, full SDK and REST API access, and your first evidence record in the portal before you leave your desk.

Live demo →Start free →

Last updated on