FRIA template — EU AI Act Article 27
A structured, fillable, cryptographically-signable Fundamental Rights Impact Assessment template aligned to EU AI Act Article 27(2). 12 sections, deterministic completeness checks, ImpactAssessmentCredential VC wrapper, optional Base L2 Sepolia anchor.
The EU AI Act (Regulation (EU) 2024/1689) Article 27 requires certain deployers of high-risk AI systems to perform a Fundamental Rights Impact Assessment (FRIA) before deployment. This page provides Attestix's structured FRIA template — 12 sections aligned to Article 27(2), with deterministic completeness checks, an ImpactAssessmentCredential Verifiable Credential wrapper, and an optional Base L2 Sepolia anchor for tamper-evident retention.
Why this matters
Who must perform a FRIA (per Art 27(1)):
- Deployers that are bodies governed by public law.
- Private operators providing public services.
- Deployers of high-risk AI systems in Annex III points 5(b) and (c) — credit scoring and life/health insurance pricing.
The deployer is solely liable for the substance of the FRIA. The provider remains solely liable under Articles 16-22 for the AI system itself. The FRIA notification is submitted to the deployer's market surveillance authority per Art 27(3); it is complementary to (not a replacement for) the GDPR Art 35 DPIA, per Art 27(4).
Attestix does not write your FRIA. Attestix provides a structured, signable, anchorable template that produces a cryptographically-verifiable artefact your compliance team completes. When the EU AI Office publishes its official FRIA template, this template will be updated to align field-for-field with that publication.
The 12 sections (with worked VibeTensor example)
The table below shows each FRIA section, its mapped Art 27(2) sub-clause, the structured field shape, the deterministic check Attestix runs, and a worked example using VibeTensor as the deployer.
| Section | Art 27(2) ref | Template fields | Deterministic check | VibeTensor example value |
|---|---|---|---|---|
| §1 Purpose + intended use | (a) | purpose · intended_use_categories[] · deployer_processes[] | Required fields populated | "Credit risk scoring for SME loan applications via Attestix-deployed AI agent" · ["Annex III Point 5(b) — creditworthiness assessment"] · ["new loan origination", "loan top-up reassessment"] |
| §2 Time period + frequency | (b) | deployment_start_date · deployment_end_date · usage_frequency · expected_volume | Date format + enum + non-negative volume | 2026-08-15 · null (ongoing) · on_demand · 500/month |
| §3 Affected natural persons + groups | (c) | affected_categories[] · protected_characteristics_affected[] · vulnerable_groups_affected[] | Non-empty + controlled vocabulary from Charter Art 21 + EU non-discrimination directives | ["SME loan applicants in EU 27", "Loan officers reviewing AI-scored applications"] · ["sex", "race", "age", "disability"] · [] |
| §4 Specific risks of harm | (d) | identified_risks[] with risk_id · description · fundamental_right_affected · likelihood · magnitude · affected_groups (FK to §3) | Each risk record complete; auto-flag high-likelihood-high-magnitude | One risk: R-001 "Indirect discrimination against age 65+ cohort due to historical data skew" — Charter Art 21 — possible × moderate — ["age 65+"] |
| §5 Human oversight measures | (e) | oversight_model · oversight_role · oversight_role_did · oversight_training_documented · two_person_verification_required · override_mechanism_documented | Oversight DID resolves; enums populated; dual-tagged with Art 14 | in_the_loop · "Senior Credit Officer" · did:web:vibetensor.com:roles:senior-credit-officer · true · true (declines > EUR 100k) · true |
| §6 Mitigations + governance + complaints | (f) | mitigations[] (linked to §4 risks) · governance_arrangements · complaint_mechanism_url · complaint_mechanism_recipient_role_did | Every §4 risk has at least one §6 mitigation linked; complaint URL resolves; auto-flag unmitigated-high-risk | Mitigation for R-001: "Adversarial-fairness retraining quarterly + human-in-the-loop review for age 65+ declines" → did:web:vibetensor.com:roles:ml-fairness-lead · planned · target 2026-11-30 · Committee chair did:web:vibetensor.com:roles:dpo |
| §7 Internal governance | (transversal) | internal_governance_committee · review_cadence · next_review_date | Date format + enum; dual-tagged with NIST AI RMF GOVERN-1.5 + ISO 42001 A.3.2 | "Fundamental Rights Review Committee" · quarterly · 2026-11-15 |
| §8 DPIA linkage | (4) | dpia_required · dpia_url · dpia_completed_date · dpia_supervisory_authority_consulted | If dpia_required=true, URL + date populated | true · https://vibetensor.com/legal/dpia-credit-2026.pdf · 2026-07-12 · false |
| §9 Notification to market surveillance authority | (3) | notification_required · market_surveillance_authority · notification_submitted_date · notification_reference | Date format | true · "BaFin (Germany — primary deployment market)" · 2026-08-10 · BaFin-FRIA-VTN-2026-0042 |
| §10 Pre-existing instruments relied upon | (4 second part) | relied_upon_instruments[] · gap_analysis_against_art_27_2 | Assertion-recorded (never auto-promoted) | ["DPIA 2026-07", "Internal risk register v2.3"] · narrative explaining what gaps this FRIA fills |
| §11 Deployer-provider responsibility split | (Arts 16-22 + 26) | provider_id · provider_did · provider_doc_url · deployer_specific_obligations[] · provider_specific_obligations_referenced[] | Provider DID resolves; DoC URL retrievable | "VibeTensor Private Limited" · did:web:vibetensor.com · DoC URL · ["Art 26(1) instructions-for-use", "Art 26(5) monitoring", "Art 26(7) oversight per Art 14"] |
| §12 Sign-off + signature + anchor | (integrity) | signed_by_did · signed_at · signature (Ed25519 over JCS) · chain_anchor · revision_history[] | Signature verifies; anchor tx exists on chain | did:web:vibetensor.com:roles:dpo · 2026-08-10T14:23:00Z · <ed25519 sig> · 0x4f3a...8c12 (Base Sepolia tx) |
What the deterministic checks produce
Each FRIA section emits a security_check_id discriminator tag of the form eu_ai_act.art.27.fria_section_<N>_*. Failing a check produces a signed negative VerifiableCheckResult — signed evidence that the check did not pass, not silence. The deployer can still sign + submit a FRIA with checks failing (the checks are advisory, not blocking) — the failures appear prominently in the analyst-facing output so the deployer's compliance officer knows what is unresolved.
Auto-flag rules
Two deterministic auto-flags fire when an emerging risk profile demands compliance-officer attention:
- High-likelihood × high-magnitude risk identified. Any §4 risk where
likelihood ≥ likelyANDmagnitude ≥ majoremitseu_ai_act.art.27.fria_section_4_high_likelihood_high_magnitude_flagged. - Unmitigated high-risk. Any §4 risk satisfying flag 1 that has no §6 mitigation linked emits
eu_ai_act.art.27.fria_section_6_unmitigated_high_risk_flagged.
Neither flag blocks sign-off. Both surface visibly in the public bundle export so a reviewing auditor or regulator can see the deployer's risk-acceptance posture.
Important caveat —
generate-friaCLI ships in v0.5.0. As of Attestix v0.4.0 the template structure is documented (this page); the structured CLI + MCP tool (attestix generate-fria --profile <id> --output fria.{pdf,json}andmcp__attestix__generate_fria) ship in v0.5.0. Until then you can use this page's structure as a checklist and apply your own signing.
What we don't do
- We do not author your FRIA content. The substance — risk identification, mitigation selection, governance arrangements — is the deployer's compliance team + general counsel. We provide the structure.
- We do not judge whether your mitigations are adequate. The §4 / §6 completeness check confirms the link; we never assert the substance of a mitigation is sufficient.
- We are not a substitute for the official EU AI Office template. When the EU AI Office publishes its template, this template will be updated to align field-for-field.
- We do not file the Art 27(3) notification on your behalf. Submission to your market surveillance authority is the deployer's act. We record the date + reference (§9).
- We are not your DPIA tool. The DPIA under GDPR Art 35 is its own assessment; the FRIA is complementary. We track the linkage (§8) but do not generate the DPIA itself (OneTrust, BigID, and similar privacy platforms do that).
- We do not auto-promote
assertion_recordedtopassed=true. Sections containing deployer-asserted narratives (§10, §11) are signed but never marked verified.
How to verify our coverage yourself
Python / CLI
# Generate a FRIA template for a compliance profile (v0.5.0+)
attestix generate-fria --profile <profile-id> --output fria.json
# Render as PDF for sign-off (v0.5.0+)
attestix generate-fria --profile <profile-id> --output fria.pdf
# Verify a signed FRIA credential (today; once you have a hand-signed VC)
attestix verify-credential fria-credential.json
# List all FRIA-related audit events for a profile (v0.5.0+)
attestix audit list --security-check eu_ai_act.art.27.fria_section_12_signedJavaScript / browser
npm install attestiximport { verifyCredential } from "attestix";
const result = await verifyCredential(impactAssessmentCredentialJson);
// result.valid === true if the Ed25519 signature over the JCS-canonical body
// matches the issuer DID's public key.On-chain anchor (Base L2 Sepolia testnet)
# Anchor the FRIA credential hash to Base L2 Sepolia for tamper-evident retention
attestix anchor credential fria-credential.json --network base-sepoliaMainnet schema registration is planned; testnet is the default target today.
Comparable disclosure
How other tools handle FRIA / impact assessments.
| Tool | Stated FRIA / impact-assessment position | Where to read more |
|---|---|---|
| Microsoft Agent Governance Toolkit | Publishes docs/compliance/fria-template.md; documentation-template approach | github.com/microsoft/agent-governance-toolkit |
| EU AI Office (when published) | Will publish the authoritative FRIA template + guidance. Once published, this template will be updated to align field-for-field | digital-strategy.ec.europa.eu/en/policies/ai-office |
| OneTrust / BigID / DataGrail | DPIA + privacy-impact assessment platforms with workflow + reviewer assignment. We track linkage in §8; we are not their replacement | onetrust.com, bigid.com, datagrail.io |
| AegisAI | Annex IV scaffolding generator (AGPL-3.0; license-incompatible with Attestix's Apache-2.0 for upstream dependency) | github.com/aegisai/aegisai |
| ark-forge mcp-eu-ai-act | Article-by-article MCP server; Art 27 in roadmap | github.com/ark-forge/mcp-eu-ai-act |
See also
- OWASP Top 10 for Agentic Applications mapping
- ISO/IEC 42001:2023 mapping — Annex A.5 impact-assessment controls cross-walk to FRIA
- NIST AI RMF 1.0 mapping — MAP-5.1 likelihood/magnitude cross-walks to FRIA §4
- SOC 2 Trust Services Criteria mapping — CC3.2 risk-assessment (2022 AI/ML POF) cross-walks to FRIA §4/§6
- EU AI Act compliance guide
- The internal template spec at
attestix-cloud-plan/26-FRIA-TEMPLATE.md.
Attestix is evidence tooling for deployers subject to EU AI Act Article 27. Attestix does not write the FRIA, does not judge whether the deployer's risk-mitigation measures are adequate, and does not substitute for the published EU AI Office template (when available). The deployer remains solely liable for the substance of the FRIA; the provider remains solely liable under Articles 16-22 for the AI system itself.
SOC 2 Trust Services Criteria — Attestix coverage
How Attestix's signed audit chains, Verifiable Credentials, and provenance records map to the AICPA SOC 2 Trust Services Criteria (2017 + 2022 additions). SOC 2 is an attestation, not a certification — Attestix is evidence plumbing your CPA's auditor can use, not a SOC 2 readiness platform.
API Reference
Complete reference for all 47 Attestix MCP tools organized by module.