The compliance letter arrived at a fintech client’s legal department in March 2026. The national market surveillance authority wanted to see their AI-powered credit scoring system’s technical documentation, bias testing results, and audit logs going back eighteen months. The engineering team had four weeks to produce it. What followed was one of the most expensive scrambles I have witnessed in twenty years of building cloud infrastructure. Teams worked nights reconstructing log trails from fragmented data, writing model cards after the fact, and scrambling to prove human oversight existed when, honestly, it had been mostly theater.
The EU AI Act’s high-risk provisions are now in full enforcement. If you are building AI systems that touch credit, employment, education, law enforcement, critical infrastructure, or healthcare in Europe, the auditors are not hypothetical. They are scheduling visits. This article is the guide I wish that fintech team had read eighteen months earlier.
I am not a lawyer and nothing here is legal advice. What I am is a cloud architect who has now helped three different organizations retrofit AI Act compliance into systems that were never designed for it, and I can tell you exactly where the pain concentrates and how to avoid it.
What the Act Actually Requires: The Technical Read
The EU AI Act creates four risk tiers. Unacceptable-risk systems are banned outright. High-risk systems face the heaviest compliance burden. Limited-risk systems need transparency disclosures. Minimal-risk systems are largely unregulated.
The high-risk category is where most engineering teams will spend their time. The Act covers AI systems used in: critical infrastructure (energy, water, transport), education and vocational training, employment and worker management, access to essential private and public services (including credit scoring), law enforcement, migration and asylum, and administration of justice.
If you are building AI that makes or materially influences decisions in any of these domains for EU residents, you are in high-risk territory. The obligations are substantial.
The technical requirements break into six categories: a quality management system, risk management documentation, data governance documentation, technical documentation (model cards), logging and audit trail infrastructure, and human oversight mechanisms. Each of these translates directly into engineering work. Let me go through what each actually means to build.

The Documentation Problem Is an Engineering Problem
The Act requires technical documentation that describes the system’s intended purpose, the logic underlying the AI system, the development methodology, the training data characteristics, and the performance metrics across demographic groups. This is not a document you write once. It is a living artifact that must reflect the current state of the system.
This is where teams immediately hit the first structural problem. Documentation written after the fact is always wrong. Engineers change models, retrain on new data, adjust preprocessing pipelines, and tune hyperparameters. If your documentation is a Word file in Confluence, it is almost certainly out of date within weeks. The only documentation that stays accurate is documentation that is generated from the system itself.
The practical answer is model cards embedded in your ML pipeline as code. A model card is a structured document, and there is no reason it cannot be generated automatically at each model version. Your training pipeline should emit: the dataset hash and composition statistics, training data demographic breakdowns, performance metrics across subgroups, known limitations, and the intended use cases. Tools like Hugging Face’s model card library, Google’s Model Cards Toolkit, and custom templates in MLflow can all generate these automatically.
For teams already doing good LLM evaluation in production with RAGAS or DeepEval, this integration is relatively natural. Your evaluation harness already computes performance metrics. Extend it to segment those metrics by protected characteristics (age, gender, nationality where you have it) and route the output to your model card generator. The card then becomes an artifact of your CI/CD pipeline, versioned alongside your model.
What I tell teams: if generating your model card requires a human to write prose from scratch, you have a compliance liability. If it can be regenerated in ten minutes from your pipeline, you have a defensible position.
Audit Logging for AI Systems Is Not Application Logging
This is the technical gap that causes the most pain. Teams assume their existing application logs satisfy the audit trail requirement. They do not.
The Act requires that high-risk AI systems automatically generate logs that enable the tracing of outcomes to inputs for the duration of an AI system’s expected lifetime. For a credit scoring model, that means you need to be able to reconstruct, for any given decision, exactly what input data was processed, which model version was invoked, what the model returned, and what action was taken based on that output. And you need to retain this for years.
Application logs tell you what happened at the application layer. What you need is AI decision logs that capture the full inference event.

The architecture I have settled on involves a purpose-built AI decision log store alongside regular application logs. Every model inference generates an event that includes: a unique inference ID, a timestamp, the model version (including the full artifact hash), the preprocessed inputs (hashed or tokenized to protect PII, with a separate key-based lookup for authorized auditors), the raw model output, any post-processing transformations, the final decision or recommendation, and the identity of any human who reviewed or overrode the decision.
This log stream goes through your observability pipeline into immutable storage. I use object storage with S3 Object Lock or equivalent, with a write-once, read-many policy. This prevents anyone from modifying or deleting logs during the retention period.
The LLM observability infrastructure you already have for monitoring cost and latency needs to be extended. OpenTelemetry trace data captures the shape of each inference call, but it typically does not capture input content or output in full. Your compliance audit trail needs that content, stored separately with appropriate access controls.
For systems using AI agents with memory, the problem gets harder. You need to log not just the final inference but the entire reasoning chain, tool calls made, and memory retrievals. If an agent’s decision is influenced by something it retrieved from a vector store that was itself derived from user data, the audit trail needs to capture that provenance.
For agentic AI systems in production, I strongly recommend instrumenting every tool call and memory access as a separate audit event, linked back to the top-level inference ID. This creates a complete causal chain that auditors can follow.
Human Oversight Is Infrastructure, Not a Policy
The Act mandates that high-risk AI systems be designed and developed to allow effective oversight by natural persons. This sounds soft. In practice, it is a hard engineering requirement.
Human oversight means the system must be designed so that a human can understand what the system is doing, intervene in real time, and override decisions. For a batch credit scoring job that runs at 3 AM and feeds directly into loan approvals, this requirement is architecturally incompatible with the existing design.
The patterns I use to make human oversight real rather than ceremonial:
A confidence-gated review queue is the most common pattern. When the model’s output falls below a confidence threshold (which itself requires you to have a calibrated confidence score, not just a raw score), the decision is routed to a human review queue rather than applied automatically. The queue interface shows the reviewer the inputs, the model’s output, and the model’s explanation of its reasoning. The reviewer approves, overrides, or escalates.
The interface matters. If the review screen just shows a single number and a thumbs-up / thumbs-down button, you are not providing effective oversight. You need explainability data. For tabular models, SHAP values are the standard. For language models, you need whatever explanation infrastructure you have built, whether that is attention maps, chain-of-thought trace logs, or a separate explanation model.
Adversarial input detection is the second layer. If someone is feeding your model unusual or potentially adversarial inputs, human oversight needs to catch that automatically and flag it for review. This integrates with the AI agent security and prompt injection guardrails infrastructure you should already have in place.
Override logging is mandatory and often overlooked. Every human override of a model decision must be logged with the reviewer’s identity, the reason for the override, and the override itself. This data is valuable beyond compliance: it is ground truth for model improvement and a canary for model drift. When override rates start climbing, something is wrong with the model.
Bias Monitoring in Production
Pre-deployment bias testing satisfies the documentation requirement. Post-deployment bias monitoring satisfies the ongoing risk management requirement. Both are needed.
The pre-deployment piece integrates with your evaluation pipeline. You need to segment model performance by protected characteristics and verify that performance gaps are within acceptable thresholds before deployment. What “acceptable” means is not defined in the Act, which is both a feature and a bug. You need to define it, document your definition, and justify it. The key is that the definition must be consistent and defensible.
Post-deployment monitoring is harder because you often do not have ground truth labels immediately. For a credit model, you will not know whether a denied loan would have defaulted for six to twenty-four months. You need a monitoring strategy that works without ground truth.
The approaches that work: monitoring for covariate shift (are the inputs to the model changing demographically over time?), monitoring for output distribution shift by protected group (is the denial rate for group A changing relative to group B?), and maintaining a holdout set with known outcomes that you can evaluate against periodically.
Data lineage tracking is critical here. If your training data’s demographic composition shifts because an upstream data pipeline changed, you need to know that. OpenMetadata and DataHub both support column-level lineage that can trace data provenance from source to model training.

GPAI Obligations: What Teams Using Foundation Models Must Know
General Purpose AI models with systemic risk, which in practice means models above 10^25 FLOPs of training compute, face additional obligations. Most teams are not training such models. But the providers of those models are.
What this means for teams using foundation models from providers like Anthropic, OpenAI, Google, and others: the provider is obligated to give you technical documentation about the model you are deploying. You need to incorporate that documentation into your own technical documentation. And you need to ensure that your use of the model falls within the use cases covered by the provider’s documentation.
If you are deploying a fine-tuned version of a GPAI model in a high-risk application, the Act’s requirements apply to your fine-tuned variant. You are responsible for the full compliance stack even if the base model is provided by someone else. The base model provider’s documentation covers their portion; your documentation must cover the fine-tuning, the deployment context, and the integration into your application.
For teams building on managed AI platforms like Bedrock, Vertex AI, or Azure AI Foundry, the platform providers are actively building compliance documentation and audit infrastructure into their managed services. This is actually one of the more compelling reasons to use managed platforms rather than self-hosted models: the compliance documentation for the base model layer comes with the service.
Compliance as Code: Building the Flywheel
The fundamental shift the Act forces is treating AI compliance as a continuous process rather than a point-in-time certification. The organizations I have seen handle this well have built what I call a compliance flywheel: a set of automated checks that run on every model change, every data pipeline change, and every deployment.
This is conceptually identical to what compliance as code for SOC 2 and ISO 27001 looks like for infrastructure: automated checks, policy enforcement in CI/CD, and continuous evidence collection.
For AI systems specifically, the flywheel includes: automated model card generation on every training run, bias evaluation as a CI check (failing the pipeline if performance gaps exceed defined thresholds), audit log schema validation (ensuring every inference produces a compliant log entry), human oversight configuration validation (verifying that the confidence threshold and review queue are correctly configured for the production environment), and documentation version tracking (keeping model card versions in sync with model artifact versions).
The tooling ecosystem here is still maturing. Weights and Biases has compliance-oriented features in its enterprise tier. MLflow’s model registry can be extended with custom metadata schemas for compliance fields. Some teams are building custom tooling on top of these foundations.
One pattern I find effective: create a compliance artifact bundle as part of every model deployment. This bundle contains the model card, the bias evaluation results, the audit logging configuration, and a manifest linking all of these to the specific model artifact hash. Store it in object storage alongside the model artifact. When auditors ask for documentation of a specific deployment, you can provide the bundle as-is.
The Access Control Layer
Audit logs for AI decisions contain sensitive data: information about what individuals were scored, what data was used, and what decisions were made. This data must be protected with strict access controls.
The non-human identity and machine credential governance discipline is directly relevant here. The service accounts and workload identities that write to your audit log store must have write-only access. The service accounts that query audit logs must have read-only access scoped to specific time ranges or decision IDs. Only authorized auditors (human or automated) should be able to access decrypted input data, and every such access should itself be logged.
I have seen teams build their audit infrastructure on top of security data lakes using AWS Security Lake or similar. The OCSF schema has AI decision event types that are worth using if you want your AI audit trail to be queryable alongside your security events. This becomes valuable when an auditor wants to correlate AI decision logs with access logs and infrastructure events.
Encryption is mandatory. Input data that feeds your model may contain personal data that is subject to GDPR in addition to the AI Act. The audit log store must use encryption at rest and in transit, with key management that allows auditors to decrypt specific records under documented procedures.
What the First Audit Actually Looks Like
Having walked through two audits and prepared documentation for a third that settled before it reached the audit phase, I can give you some practical intelligence.
National market surveillance authorities typically request: the technical documentation package (model cards, risk management documentation, quality management system overview), evidence of bias testing (evaluation results for the current model version and the previous three versions), a sample of audit logs demonstrating the logging system works as described, a description of the human oversight mechanism with evidence that it has been used, and a list of the training datasets with data governance documentation.
The documentation that catches teams by surprise: data governance documentation for training datasets. Under Article 10 of the Act, training data must be subject to appropriate governance practices, including data quality examination and bias analysis. If you cannot document where your training data came from, who curated it, and what quality checks were applied, you have a gap.
The second thing that catches teams: change management documentation. The Act requires that significant changes to high-risk AI systems be evaluated for compliance before deployment. What counts as significant is not perfectly defined, but retraining on new data, changing the model architecture, and changing the output space all clearly qualify. Your deployment pipeline needs a compliance review gate for these changes.
Building This Without Stopping Product Velocity
The honest answer is that building this infrastructure takes time and it will slow you down initially. The teams that handle it best treat it the same way they treat security: as a non-negotiable engineering investment with a long-term payoff in reduced risk.
The high-leverage starting points, in order: first, instrument every model inference with structured logging immediately, even if the logging infrastructure is not perfect yet. Incomplete logs are better than no logs. Second, generate model cards automatically from your evaluation pipeline. Third, add bias evaluation as a CI check. Fourth, implement the human review queue for low-confidence decisions.
The quality management system and formal risk management documentation can be built iteratively. Start with a lightweight version that covers the current state and improve it over successive quarters.
One thing I am seeing in 2026 that I did not anticipate: the compliance infrastructure built for the AI Act is genuinely useful beyond compliance. The model cards expose information about model behavior that product teams use to set user expectations. The bias monitoring surfaces distribution shifts that would otherwise go undetected. The audit logs catch incidents that would have been invisible. Organizations that treat this as a compliance tax miss that they are also buying operational maturity.
Where to Start This Week
If you are running a high-risk AI system in Europe and you have not started this work, start now. The enforcement actions are real and the fines for non-compliance with high-risk obligations are up to 3% of global annual turnover.
The week-one checklist: audit your AI systems to identify which fall into high-risk categories. For each high-risk system, identify whether you have audit logs that capture inference inputs and outputs with model version attribution. For each high-risk system, identify whether you have a human oversight mechanism that is actually used. Identify your training datasets and whether you have documentation of their composition and quality checks.
That inventory will show you exactly where your gaps are. Most teams have significant gaps in audit logging and training data documentation. Those are the places to invest first.
The AI Act is not going away, and the enforcement regime is only going to get more rigorous as national authorities build capacity. The teams that build this infrastructure deliberately will spend a fraction of what the teams who build it reactively will spend. I have seen both scenarios. The difference is stark.
Get Cloud Architecture Insights
Practical deep dives on infrastructure, security, and scaling. No spam, no fluff.
By subscribing, you agree to receive emails. Unsubscribe anytime.
