---
title: "Identity-Proofing Assurance Level Evaluator"
method: POST
path: "/v1/tools/compute_identity_proofing_assurance_level"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Identity-Proofing Assurance Level Evaluator

`POST /v1/tools/compute_identity_proofing_assurance_level`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/compute_identity_proofing_assurance_level`
- Auth: none declared

Rates whether a DECLARED identity-evidence set reaches a DECLARED target level of a caller-supplied, versioned assurance-level framework (the art-444 policy-input pattern) -- never a hardcoded framework such as NIST 800-63-3 or eIDAS. The level definition supplies levels ordered lowest-to-highest rigor, each with criteria naming a required evidence type and a numeric min_strength on a caller-normalized 0-100 scale; the kernel never interprets a framework's own named tiers. A criterion the definition cannot express (no required_evidence_type or no min_strength) is flagged IAL_DEFINITION_INSUFFICIENT, distinct from IAL_SHORTFALL (evidence present but not meeting a well-formed criterion) -- the two are never conflated. When the target level is not met, achieved level falls back to the highest fully-met level below it. This node rates an evidence set against a declared policy; it does NOT assert that a person is who they claim to be, and no output or copy implies verification of a natural person. No identity attributes are ever computed over -- evidence items are types, strengths and verification methods, with an optional opaque attribute reference (caller-supplied, no commitment scheme claimed by this node) carried through unread, never a plaintext value. No approver identity, signature, approval field or role -- manual review/EDD escalation is a separate signed §27 human_accountability_record, not minted by this kernel. This is the assurance-LEVEL evaluator specifically, distinct from any private-check-receipt evidencing scheme or a re-verification-cadence evaluator (neither built in this exercise). Not 490-eudi-kyc-flow-designer (an eIDAS/LoA-specific flow-design tool) -- this is framework-agnostic by construction and takes any structurally-expressible level definition as a policy input, with no dependency on any named jurisdiction or procurement.

**Tool URL:** https://ainumbers.co/chaingraph/art-523-identity-proofing-assurance-level.html

## Request body

- object
  - `as_of` unknown, required
  - `declared_target_level` unknown, required
  - `evidence_items` unknown, required
  - `level_definition` unknown, required

## Response `200`

Successful tool execution result

- object
  - `achieved_level` string
  - `as_of` string
  - `criteria_evaluated` integer
  - `criteria_met` integer
  - `criteria_shortfall_count` integer
  - `criteria_undecidable_count` integer
  - `declared_target_level` string
  - `evidence_item_count` integer
  - `framework_id` string
  - `framework_version` string
  - `levels_defined` integer
  - `note` string
  - `shortfall` unknown[]
    - unknown
  - `target_level_found` boolean
  - `target_met` boolean
  - `undecidable` unknown[]
    - unknown

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
