UAIF NORMATIVE SPECIFICATION

UAIF Technical Specification

Searchable HTML edition of the UAIF classification architecture, conformance profiles, severity model, validation rules and implementation boundaries.

STATUSPilot-ready publication candidate
ACCESSPublic
FRAMEWORKUAIF v1.0
SOURCE2

Downloads and formats

No approved PDF edition was supplied with this build. A PDF link will be added only after publication approval.

Document status and notice

Technical Specification — Publication Candidate TCR-STD-002 | Q2 2026 | Licensed under GAISSF Ecosystem Licence (GEL v1.0) | © 2026 ODA3 Pvt Ltd

Published by ODA3 Institute | Applied Research & Advisory | AI Security | Standards Development | Certification

Critical Status Notice

UAIF™ v1.0 is a Final Publication v1.0. It is not a production regulatory submission instrument, certification scheme, or legal determination of reporting obligations. Sector-specific calibration, legal review, inter-rater reliability validation, and SIEM/GRC integration testing remain required before production use.

Regulatory trigger logic provides technical routing assistance only. Legal counsel SHALL determine definitive compliance obligations, including EU AI Act Article 73 serious-incident reporting and any GDPR, NIS2, DORA, or sectoral obligations.

1. Executive Summary

UAIF™ provides a machine-readable incident interchange, classification, severity scoring, and conformance architecture for AI incidents. It is designed to reduce crosswalk friction across security operations, governance, regulatory routing, and assurance workflows.

UAIF™ isUAIF™ is not
An incident interchange and classification framework for AI systemsA universal AI governance or ethics framework
A structured severity scoring methodology with documented limitationsA safety certification scheme or legal risk assessment methodology
A conformance-testing architecture for testable adoptionA legal determination of regulatory applicability
An interoperability layer for advisory cross-framework mappingAn empirically validated scoring system before sector pilots

1.1A Notably Absent

No empirical claim that default harm weights are sector-validated.

No certification, audit authority, or licence to claim UAIF Certified status.

No legal determination of EU AI Act Article 73, GDPR, NIS2, DORA, or sectoral reporting obligations.

No operational SIEM/GRC integration warranty before target-platform testing.

No proprietary sector calibration packages or confidential pilot datasets.

1.2 Primary Outputs

Output FieldTypePurpose
severity_analytical_scoreFloat 0.0-10.0Primary analytical metric; pre-impact, pre-presentation differentiation.
severity_presentation_scoreFloat 0.0-10.0Operational presentation metric used for triage and regulatory proxy routing.
severity_levelInteger 1-5Operational triage tier mapped from presentation score.
severity_rationaleJSON objectMachine-auditable audit trail for every calculation component.
regulatory_triggerBooleanTechnical routing flag; not legal determination.
trigger_confidenceLOW | MEDIUM | HIGHCalibration-aware confidence band.
human_review_recommendedBooleanHuman review flag for uncertain or low-confidence triggers.

2. UAIF 7-Layer Architecture

LayerNamePurposeRepresentative Fields
L0Incident Identity & WorkflowDeduplication, audit trail, workflow stateincident_uuid, reporting_timestamp, reporter_confidence_level, remediation_status, deduplication_hash
L1Causal Separation ChainIsolate origin from manifestationroot_cause_primary_domain, root_cause_specific_type, root_cause_confidence, exploit_path_description
L2Severity ScoringImpact-dominant severity with transparent limitsseverity_analytical_score, severity_presentation_score, severity_level, severity_rationale
L3Acute vs Chronic HarmImmediate impact and long-term degradationharm_acute, harm_chronic_proxy, realized_harm_categories, cumulative_bias_index
L4Incident vs VulnerabilityStatic exposures vs dynamic occurrencesrecord_type, linked_vulnerability_id, exposure_duration_hours
L5Generative, Agentic & Control PlaneRAG leakage, hallucination, agent escalation, MCP, OAuth, policy enforcementai_system_type, non_adversarial_failure_type, agent_escalation_chain, mcp_endpoint_ids, oauth_pivot_chain, policy_enforcement_point
L6Regulatory & Cross-Sector MetadataJurisdictional routing and sector classificationsector_code, jurisdiction_country_code, regulatory_obligations, regulatory_trigger

Architectural decision: prior L7 AI Control Plane Extensions are merged into L5 for API simplicity. TCR-STD-003 SHALL follow this 7-layer architecture. L7 SHALL NOT be treated as a separate conformance layer in UAIF v1.0.

3. Adoption Profiles and Conformance

ProfileIncluded LayersMandatory FieldsProhibited Fields
CoreL0, L1, L2, L611 baseline fields plus conditional Incident severity fieldsL3, L4, L5 fields in primary payload
EnterpriseCore + L3, L418 baseline and harm/exposure fieldsL5 fields
RegulatoryEnterprise + L6 extended22 baseline, severity, harm, jurisdiction, trigger fieldsNone
SOC/SIEMCore + STIX/ATLAS mappingCore plus atlas_technique_id where applicableL3 and L5 unless using extension namespace
AI Security ExtensionCore + L5 security subsetCore plus attack vector and control-plane fieldsL3 and L4 unless enterprise enabled

Core Profile implementations SHALL NOT include prohibited fields in the primary payload. Extended data MAY be stored under x_extensions but SHALL NOT affect Core Profile validation. Custom vocabulary values SHALL use the x_ prefix only where the controlled vocabulary explicitly allows it.

#Conformance RequirementValidation Method
1Mandatory fields for selected profile are presentSchema validation
2Mandatory fields contain valid type, format, enum, and precision valuesType/format validation
3Prohibited fields are absent from the selected profile primary payloadField presence check
4Severity calculations match the normative reference implementationDeterministic output comparison
5Conditional validation rules are enforcedRule-based validation
6severity_rationale includes calibration_status and required provisional noticesSemantic check
7regulatory_trigger presence requires trigger_confidence and human_review_recommendedSchema allOf validation
8root_cause_specific_type uses controlled vocabulary or x_ extension valueVocabulary check

4. Severity Scoring Engine v1.0

UAIF severity scoring draws structural inspiration from CVSS v3.1/v4.0 but is a post-incident classification and routing model. It is not a replacement for vulnerability scoring.

Harm TypeDefault WeightStatus
Physical_Harm4.0Provisional pending sector validation
Environmental_Harm3.5Provisional pending sector validation
Security_Integrity3.5Provisional pending sector validation
Privacy_Violation3.0Provisional pending sector validation
Financial_Loss2.5Provisional pending sector validation
Psychological_Harm2.0Provisional pending sector validation
Property_Damage2.0Provisional pending sector validation
Reputational_Harm1.5Provisional pending sector validation

4.1 Context Modifiers

ContextBase ValueEffective Cap
Model_Poisoning2.01.5 per factor
RAG_leakage1.51.5
Prompt_Injection1.51.5
Agent_Hijack1.51.5
Agentic1.01.0
Adversarial0.50.5

4.2 Normative Calculation

The normative UAIF v1.0 calculation SHALL follow this order: dominant-harm anchor; diminishing context contribution; impact scale using MAX(population, blast radius); inverted temporal confidence reduction; final analytical and presentation scores. Implementations SHALL NOT use collapsed single-score fields or non-normative stakeholder multipliers.

from decimal import Decimal, ROUND_HALF_UP

HARM_WEIGHTS = {

"Physical_Harm": 4.0,

"Environmental_Harm": 3.5,

"Security_Integrity": 3.5,

"Privacy_Violation": 3.0,

"Financial_Loss": 2.5,

"Psychological_Harm": 2.0,

"Property_Damage": 2.0,

"Reputational_Harm": 1.5,

}

CONTEXT_MODIFIERS = {

"Model_Poisoning": 2.0,

"RAG_leakage": 1.5,

"Prompt_Injection": 1.5,

"Agent_Hijack": 1.5,

"Agentic": 1.0,

"Adversarial": 0.5,

}

DEFAULT_REGULATED_ZONES = {

"AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE",

"IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","NO","IS","LI"

}

def _round_decimal(value, places=1):

quantum = Decimal("1." + ("0" * places)) if places else Decimal("1")

return float(Decimal(str(value)).quantize(quantum, rounding=ROUND_HALF_UP))

def _calculate_context_contribution(context_list):

valid = sorted([(c, CONTEXT_MODIFIERS[c]) for c in context_list if c in CONTEXT_MODIFIERS], key=lambda x: x[1], reverse=True)

total, factor, applied = 0.0, 1.0, []

for ctx, base in valid:

capped = min(1.5, base)

contribution = capped * factor

total += contribution

applied.append({"context": ctx, "base_value": base, "contribution_factor": factor, "effective_contribution": _round_decimal(contribution, 2)})

if total >= 3.0:

break

factor *= 0.5

return min(3.0, total), applied

def score_to_level(score):

if score < 2.0: return 1

if score < 4.0: return 2

if score < 6.5: return 3

if score < 8.5: return 4

return 5

def calculate_uaif_severity(harms, contexts, population_multiplier, blast_radius_multiplier, attribution_conf, investigation_status, evidence_quality):

valid_harms = [(h, HARM_WEIGHTS[h]) for h in harms if h in HARM_WEIGHTS]

if not valid_harms:

return {"severity_analytical_score": 0.0, "severity_presentation_score": 0.0, "severity_level": 1}

dominant_harm, dominant_weight = max(valid_harms, key=lambda x: x[1])

others_sum = sum(w for h, w in valid_harms if h != dominant_harm)

adjusted_base = _round_decimal(dominant_weight + min(2.0, 0.5 * others_sum), 1)

context_add, context_audit = _calculate_context_contribution(contexts)

context_add = _round_decimal(context_add, 2)

base_score = _round_decimal(min(10.0, adjusted_base + context_add), 1)

impact_scale = _round_decimal(min(1.8, max(population_multiplier, blast_radius_multiplier)), 2)

confidence_factor = _round_decimal((attribution_conf + investigation_status + evidence_quality) / 3.0, 2)

temporal_reduction = _round_decimal((1.0 - confidence_factor) * 0.5, 2)

temporal_adjustment = _round_decimal(base_score * (1.0 - temporal_reduction), 1)

presentation_score = _round_decimal(max(0.0, min(10.0, temporal_adjustment * impact_scale)), 1)

return {

"severity_analytical_score": base_score,

"severity_presentation_score": presentation_score,

"severity_level": score_to_level(presentation_score),

"severity_rationale": {

"dominant_harm": dominant_harm,

"dominant_weight": dominant_weight,

"context_modifiers_applied": context_audit,

"context_modifier_sum": context_add,

"population_multiplier": population_multiplier,

"blast_radius_multiplier": blast_radius_multiplier,

"impact_scale": impact_scale,

"confidence_factor": confidence_factor,

"temporal_reduction": temporal_reduction,

"temporal_adjustment": temporal_adjustment,

}

}

def calculate_regulatory_trigger_confidence(severity_presentation_score, calibration_status, jurisdiction_country_code, sensitive_data=False, critical_sector=False, vulnerable_population=False, regulated_zones=None, threshold_score=6.5):

country_base = jurisdiction_country_code.split("-")[0].upper()

zones = set(regulated_zones) if regulated_zones else DEFAULT_REGULATED_ZONES

base_trigger = (severity_presentation_score >= threshold_score) and (country_base in zones)

distance = abs(severity_presentation_score - threshold_score)

if calibration_status == "sector_validated":

confidence = "HIGH" if distance >= 0.3 else "MEDIUM"

elif calibration_status == "custom":

confidence = "MEDIUM"

else:

confidence = "MEDIUM" if distance >= 0.5 else "LOW"

enrichment_active = sensitive_data or critical_sector or vulnerable_population

trigger = base_trigger and ((confidence == "HIGH") or (confidence == "MEDIUM" and enrichment_active))

return {"regulatory_trigger": trigger, "trigger_confidence": confidence, "human_review_recommended": confidence == "LOW", "distance_from_threshold": round(distance, 2), "legal_notice": "UAIF regulatory trigger is technical routing assistance only; legal counsel determines EU AI Act Article 73 obligations."}

4.3 Impact Scale and Temporal Adjustment

PopulationMultiplierBlast RadiusMultiplier
1-100.8single_system1.0
11-1001.0business_unit1.2
101-1,0001.2entire_org1.4
1,001-10,0001.4cross_org1.6
>10,0001.6critical_infra1.8

Impact scale = min(1.8, max(population_multiplier, blast_radius_multiplier)). This prevents double-counting of scale dimensions.

4.4 Rounding Rule

All decimal scores SHALL use Decimal ROUND_HALF_UP. Score fields SHALL be rounded to one decimal place. Ratio or internal contribution values MAY be rounded to two decimal places where specified by severity_rationale.

4.5 Severity Matrix

LevelPresentation Score RangeIndicative Harm ThresholdRegulatory Routing
1 Info0.0 <= score < 2.0No external harmNone
2 Low2.0 <= score < 4.0Minor confusion or <$10K impactInternal audit only
3 Medium4.0 <= score < 6.5Reputational/non-sensitive data/$10K-$100KSectoral reporting if applicable
4 High6.5 <= score < 8.5Physical safety, sensitive data, >$100KEU AI Act Article 73 technical proxy where applicable
5 Critical8.5 <= score <= 10.0Widespread societal harm, critical infrastructure, major systemic impactEU AI Act Article 73 serious incident proxy where applicable

Boundary rule: lower bounds are inclusive; upper bounds are exclusive except Level 5, where 10.0 is inclusive.

5. Regulatory Trigger Logic

UAIF regulatory_trigger is a technical routing flag. It SHALL NOT be treated as a legal determination. EU AI Act serious incident references SHALL use Article 73. Obsolete EU AI Act incident-reporting proxy references SHALL NOT be used in UAIF v1.0.

ParameterNormative Rule
threshold_scoreDefault 6.5, evaluated against severity_presentation_score.
regulated_zonesDefault EEA jurisdictions: AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IE, IT, LV, LT, LU, MT, NL, PL, PT, RO, SK, SI, ES, SE, plus NO, IS, LI. Implementations MAY override by policy.
confidence bandssector_validated: HIGH if distance >=0.3 else MEDIUM. provisional: MEDIUM if distance >=0.5 else LOW. custom: MEDIUM.
human reviewRequired when trigger_confidence is LOW; recommended where legal obligations are uncertain.
reporting timelinesEU AI Act Article 73 timing must be assessed by legal counsel. GDPR/NIS2/DORA timelines are separate and SHALL NOT be copied into EU AI Act routing logic.

6. Sector Taxonomy

The normative sector_code field SHALL use the 19-code NIS2-aligned UAIF enum below. NAICS/NACE identifiers MAY be captured in optional mapping metadata fields such as nace_code_actual or naics_code_actual; they SHALL NOT replace sector_code.

sector_codeUsage
ENERGYNormative UAIF sector value
TRANSPORTNormative UAIF sector value
BANKINGNormative UAIF sector value
FINANCIAL_MARKETSNormative UAIF sector value
HEALTHNormative UAIF sector value
DRINKING_WATERNormative UAIF sector value
WASTE_WATERNormative UAIF sector value
DIGITAL_INFRANormative UAIF sector value
ICT_SERVICESNormative UAIF sector value
PUBLIC_ADMINNormative UAIF sector value
SPACENormative UAIF sector value
POSTALNormative UAIF sector value
WASTE_MGMTNormative UAIF sector value
CHEMICALSNormative UAIF sector value
FOODNormative UAIF sector value
MANUFACTURINGNormative UAIF sector value
TELECOMNormative UAIF sector value
RESEARCHNormative UAIF sector value
OTHERNormative UAIF sector value

7. Governance, Versioning, and Supporting Documents

ItemRule
Version displayUse UAIF™ v1.0 in titles and market-facing text. Machine-readable schema metadata MAY use 1.0.0 only where explicitly described as semantic-version metadata.
Change controlODA3 Institute maintains sole versioning and interpretation authority for UAIF v1.0.
Supporting Document D2Contributor Licence Agreement; separate companion document, not included in this specification.
Supporting Document D4Data Contribution Agreement; separate companion document, not included in this specification.
HMAC key managementDeduplication hash keys SHOULD be generated and stored under organisational KMS/HSM policy, rotated at least annually or after suspected compromise, and segregated by environment.
GEL referencesCommercial use, embedding, certification claims, and conformance programme operation are governed by GEL v1.0. Section references SHALL be checked against the final GEL publication.

8. Licensing and Brand Use

UAIF™, GAISSF™, AI-IRF™, ODA3™, and ODA3 Institute marks are proprietary marks of ODA3 Pvt Ltd. This document is licensed under GEL v1.0. No certification, endorsement, or official conformance status is granted by use of this document or schema alone.

Appendix A: UAIF Core Profile Schema Reference

The normative machine-readable schema is maintained in TCR-STD-003. The schema identifier is: https://schemas.oda3.org/uaif/core/v1.0/uaif-core-v1.0.json

Appendix B: Conditional Validation Rules

#ConditionConsequence
1root_cause_specific_type = Adversarial_Attackexploit_path_description SHALL be present
2record_type = Incidentseverity_analytical_score, severity_presentation_score, severity_level, severity_rationale, and realized_harm_categories SHALL be present
3regulatory_trigger presenttrigger_confidence and human_review_recommended SHALL be present
4calibration_status = provisionalweight_provisional_notice SHALL be present in severity_rationale
5context_modifiers_applied contains entriesEach entry SHALL include context, base_value, contribution_factor, effective_contribution
6root_cause_specific_type not in controlled vocabularyValue SHALL be prefixed x_ or validation fails

Appendix H: Harm Weight Derivation Methodology

Default harm weights are provisional and derived from preliminary incident review and expert elicitation. Target inter-rater reliability for sector validation is ICC >= 0.80 using ICC(2,k), two-way mixed-effects model, absolute agreement, average measures. Sector validation requires >=10 raters and >=30 reference incidents per sector cohort.

Appendix I: Standards Alignment Notes

NIST AI RMF 1.0 is the current alignment basis for GOVERN, MAP, MEASURE, and MANAGE functions. NIST AI 100-2 E2025 may be referenced only for adversarial machine learning taxonomy alignment and not as a successor AI RMF release.

EU AI Act references in UAIF v1.0 use Article 73 for serious incident reporting proxies. Legal counsel determines applicability and reporting timelines.

Appendix J: NACE and NAICS Mapping Guidance

NACE and NAICS codes are mapping metadata only. Implementations SHOULD map primary activity codes to the normative UAIF sector_code enum and retain the original activity code in nace_code_actual or naics_code_actual.

Appendix K: Controlled Vocabulary

VocabularyValues
root_cause_specific_typeAdversarial_Attack, Prompt_Injection, Model_Poisoning, Data_Poisoning, RAG_Leakage, Hallucination, Agent_Escalation, Policy_Violation, System_Failure, Human_Error, Supply_Chain_Compromise, Unauthorised_Access, Data_Breach, Denial_of_Service, Misuse, x_[custom]
realized_harm_categoriesPhysical_Harm, Environmental_Harm, Security_Integrity, Privacy_Violation, Financial_Loss, Psychological_Harm, Property_Damage, Reputational_Harm

Web edition notice

This HTML edition is provided for discovery, accessibility and search. Preserve the document identifier, version, publication status, limitations and GEL terms when citing or reusing it. The downloadable source remains available for recordkeeping.