Audit Trails and Logs for Model Serving: What to Capture

Audit trails and logs differ: how to extend model-serving tracing so quotes, incidents and SLA history can be reconstructed for regulators and customers.

Audit Trails and Logs for Model Serving: What to Capture
Written by TechnoLynx Published on 01 Nov 2026

Audit trails and logs are not the same thing. A log is a stream of technical events. An audit trail is a chronological, tamper-evident record that links technical provenance (models, data, training runs, deployments, monitoring) with governance records (approvals, waivers, attestations), so an organisation can reconstruct what changed, when, and who authorised it. One compliance guide (Visotrust) puts the test regulators apply as whether you can reconstruct how a specific outcome was produced. For model serving, the practical route is to extend the tracing you already run so that every output carries its model version, feature timestamp and decision ID at the moment it is emitted, because the records needed afterwards are often fragmented across tools or never captured.

Audit trail vs audit log vs trace: which one gets asked for

The difference is in what each can prove.

Record What it captures Integrity Who relies on it
Application log Discrete events emitted by one component, in that component’s own format Mutable unless stored in protected storage Engineers debugging a service
Distributed trace The path of one request across services, carrying causality information across process boundaries Often sampled; with head-based sampling, interesting traces can be discarded by chance SREs isolating latency and faults
Audit trail Time-stamped, sequenced entries linking technical events to approvals and owners, kept tamper-evident or read-only so they can serve as evidence Append-only, verifiable Auditors, regulators, compliance, customers in a dispute

Article 12 of the EU AI Act requires high-risk AI systems to technically allow the automatic recording of events over the lifetime of the system, and those logs must support identifying risk situations, post-market monitoring and monitoring of the system’s operation. MiFID II’s RTS 6 asks algorithmic trading firms to record any material change to their trading software: when it was made, who made it, who approved it and what it was.

We would not build three separate systems for this. Trace context already gives you a join key across services; the audit trail is the subset of those events you enrich with model and governance metadata, seal, and retain under a policy you can explain.

Tamper evidence is what turns a log into evidence

A record an auditor cannot verify is a claim, not evidence. One reference architecture splits the work into three layers: capture auditable events from technical workflows and governance checkpoints, store them in an append-only tamper-evident trail, and use them for auditor-facing querying, verification and reporting. Each stored record can include a timestamp, an event type, scoped identifiers, a details payload and integrity metadata that makes in-place edits or deletions detectable. Auditors can then replay the hash chain to confirm that the trail has not been altered or truncated since it was written.

At the hashing step, one production hash-chain system (Faramesh), cited in the Decision Event Schema paper (2026), reports sub-millisecond overhead for hash computation itself. Late-arriving facts, such as ground truth or quality indicators, should not mutate a sealed record; they go in as append-only linked records that reference the original decision ID. A useful litmus test from Kognitos (2026): if someone asks how you know an entry was not edited after the fact, you should be able to answer without a war room.

Can every outbound quote carry the model version and feature timestamp that produced it?

Yes. The tagging belongs at the point where a quote leaves the system: the tracing layer attaches model and feature metadata to the quote ID at emission time, so the pricing engine keeps doing what it does.

TechnoLynx adds this as an instrumentation layer at the quote boundary, so every quote can be traced to its model version and feature snapshot, starting with an assessment of where quote generation is already instrumented.

Where tracing already captures model-serving metadata, we would extend it with the feature snapshot timestamp and bind both to the quote ID. Where nothing exists yet, a lightweight tracing layer at the quote-generation boundary is safer than modifying core pricing code. The detail of span design and context propagation across a serving pipeline is covered in instrumenting observability and tracing across model-serving pipelines. One audit-trail framework, built for LLM workflows, turns existing MLOps events into a tamper-evident ledger with minimal code changes, and the Decision Event Schema is published as a reference schema to adopt directly or adapt.

Minimum metadata every model output should carry

Field Why it is needed
Unique decision or quote ID The anchor that links inputs, configuration, outputs and logs; retrieval, reasoning and output should be linkable through a single decision ID
Event timestamp (UTC, NTP-synced) and sequence number Orders events within and across systems
Model ID and model version or hash Shows exactly which model produced the output
Feature vector hash and feature provenance with version Ties the output to the inputs actually consumed, not the inputs you think were live
System version, configuration hash and deployment ID Distinguishes a model change from a config or canary change
Input reference with source attribution Records where each input came from
Output and confidence What was decided and how sure the model was
Human override flag (with actor and rationale when true) Records whether a person changed the outcome
Integrity proof (hash chain or signature) Makes later edits detectable

Pricing runs add their own layer on top: engine version, build identifier, library versions, solver settings and tolerances, so a changed number can be attributed to inputs or to software.

How quickly you can pull up one quote depends on whether the trace store is indexed by quote ID, and how far back you can go depends on retention. The EU AI Act sets a floor of at least six months for high-risk system logs under Articles 19 and 26(6), and sector rules often require longer.

Two caveats matter in practice. First, comprehensive capture at high decision velocity creates what the Decision Event Schema paper calls the Speed-Audit Paradox: logging overhead grows relative to the decision itself. Its answer is tiering: a lightweight record of roughly 200 to 500 bytes for every event, and richer contextual capture only for threshold-exceeding events. Second, audit fields must never depend on trace sampling, since head-based sampling is entirely random. We would emit the audit record for every quote unsampled and let the rich spans be sampled, using span-level approaches that keep error and slow spans where cost demands it. Feature snapshot versions also have to be issued from the same source of truth as model versions, or the metadata on a quote can look consistent while pointing at a mismatched pair.

A client says a quote was wrong: what evidence trail answers them and the regulator?

Reconstructing root cause after the fact depends on records captured at the time of the event. That holds for an anomalous market quote and for a model whose accuracy silently degraded, but the records involved differ, so the two cases are answered separately.

Reconstructing an anomalous quote

Trade reconstruction means rebuilding the full lifecycle of a trade or order from the available records: who placed it, when it was entered, how it was modified, routed, executed or cancelled, and what explains it. Storing large volumes of order data is not enough; if records cannot be linked across systems, timestamps, users and venues, the firm may still be unable to explain what happened. Under RTS 6, a firm’s automated surveillance system must be able to read, replay and analyse order and transaction data ex post at a sufficiently detailed time granularity.

Binding model version and features to the quote ID lets the trading timeline and the model timeline be read as one account.

Finding the training run behind a degraded model

Production ML systems need to answer which dataset a model was trained on, which hyperparameters and pipeline were used, and which version was last deployed. The TensorFlow team’s ML Metadata documentation (2021) describes tracing a bad model back to its dataset, or a bad dataset forward to every model trained on it. Going forward, capture the dataset, hyperparameters and software dependencies behind each trained model.

Records needed to trace decisions are often fragmented across tools or never captured, leaving organisations unable to reconstruct which version was live or which data influenced it.

Should you roll back while you investigate? We would roll back to the last known-good model. Reverting a recent change that degraded performance is one of the predefined responses SLA practice lists. It treats the symptom rather than the cause, though, so it should run alongside the investigation and be recorded as an event in its own right.

The same discipline extends to backtests: record exact references to each backtest’s vendor data inputs against its run ID, keep the run immutable after completion, and correct by creating a new run rather than overwriting. The trail proves only what was recorded, so unless vendor snapshots are themselves versioned and immutable it cannot show that the recorded version matches what the vendor actually served.

Can compliance get an incident timeline that separates data issue, retrain failure and rollback?

Yes, provided the system logs those three event types with timestamps and lineage links when they happen. Then the timeline is a query and a formatting job; without that logging, instrumentation has to come first, and no reporting-window commitment is safe until it does.

TechnoLynx designs the logging schema that separates the three failure categories, wires automatic audit entries into the deployment and rollback pipeline, and validates the whole chain by simulating incidents and rollbacks to confirm the timeline comes out correctly inside the required window.

An incident record should capture when the issue was detected, who triaged it, what evidence was consulted, what decision was taken (rollback, patch, new guardrail, suspension) and what follow-up obligations were created. With stable identifiers such as model and deployment IDs, investigators can query everything around the date of a complaint: training and evaluation events, deployment and rollout changes, and serving configuration changes. Speed after a complaint then comes from exporting a bounded subset of events with its integrity metadata, and the export itself can be logged.

A clean timeline does not on its own meet best-execution and surveillance obligations. The FCA’s 2025 review of best execution at wholesale banks found governance and oversight showed the least improvement, singling out second-line challenge as most in need of enhancement. RTS 6 also requires an annual self-assessment and validation report covering systems, governance and business continuity, audited by internal audit where that function exists.

Recording the rollback itself

Record a material change: when it happened, who executed it, who approved it and what changed, which is the RTS 6 record for software changes. ESMA’s 2026 supervisory briefing restates that firms must timestamp, approve and record all material changes. The audit trail should also record who holds rollback authority, and when a person overrides the system the record should name the actor, the rationale and the timestamp.

Two design points are easy to miss. The audit entry should be emitted automatically by the rollback mechanism at the point of failure, not only at the start and end of a deployment, or a failed mid-way update leaves a gap. And someone must sign off that the rollback did not compromise evidence handling; that requires a defined chain-of-custody check with a named role, written into the procedure rather than assumed. The same applies to over-the-air updates on field devices that carry evidence.

Is end-of-day log review still enough for algo trading compliance monitoring?

Not for risk controls. RTS 6 requires firms to monitor trading activity and implement real-time alerts that identify signs of disorderly trading or breaches of pre-trade limits. Market abuse surveillance is the exception with a longer clock: alerts are required on the following day at the latest. End-of-day review can therefore serve surveillance, but it cannot be the control that catches disorderly trading.

TechnoLynx’s AI Governance and Trust work builds the evidence side of this for trading and model teams: a control inventory, detection-latency logs, escalation records and change history, produced as engineering artefacts your compliance function can map to each regime, starting from the monitoring you already run.

The FX Global Code adds audit-trail expectations for trading systems. Systems should be tested before release with an audit trail of all actions saved and available for review, covering development, testing, deployment and later updates of trading systems and algorithms. It also calls for records adequate to monitor compliance, incident management with escalation and lessons learned, and regular independent review with findings recorded and corrective action tracked. Where an algorithm or its monitoring is outsourced, ESMA’s 2026 briefing says contracts and SLAs should allocate testing, monitoring and record-keeping obligations explicitly.

We would group the evidence that anomalies are caught promptly into four parts:

  • a control inventory showing what each control detects;
  • detection-latency logs showing when each alert fired relative to the event;
  • escalation records showing who acted and when, which the FCA’s 2025 review of algorithmic trading controls found most firms had formalised for market abuse alerts;
  • periodic independent review records.

“Real-time” carries no fixed latency figure in the texts above, so we read it as open to supervisory interpretation. The FCA found significant variation in sophistication across firms even after accounting for scale. None of this is legal advice; confirm the mapping with counsel and your regulator. For how the same evidence logic plays out under transaction-monitoring examination, see building an examiner-proof regulatory audit trail.

How do we turn tracing data into SLA evidence a non-technical customer trusts?

We would lead with aggregated per-stage charts and keep the per-request replay logs as backing evidence. A stacked view of where time went is something a commercial stakeholder can read; the replay logs are there for their engineers to verify specific incidents.

TechnoLynx confirms that per-stage tracing captures queue, batch-wait and generation timestamps for the relevant workload, aggregates them into charts for the renewal or disputed period, and packages representative replay logs with a plain-language narrative tied to the customer’s specific concerns.

The decomposition itself is standard: a 2026 analysis of inference serving splits request latency into queue time, pre-processing, batch-fill wait, the model forward pass and post-processing. That breakdown shows whether the delay was in the queue, the batch-fill wait or the model forward pass.

Trust is the harder part. Self-reported SLA metrics carry an inherent conflict, because providers have an incentive to underreport violations, so the pack has to show its method: how each indicator is measured, over which window, and with what sampling. Traces show where time went, not why, so the narrative must supply the cause. The sampling period also needs care; a window that is not representative of the disputed period biases the picture in a way a sceptical customer will spot.

Where disputes are expensive, there is a stronger option: monitors that collect timestamped telemetry, commit it in Merkle trees and produce signed attestations that stakeholders or arbitrators can verify without seeing the underlying data. Proofs can be generated only for violations, disputes or audits to keep cost down. How SLOs and audit requirements are split across the serving pipeline is covered in designing observability, SLOs and audit trails across ML systems.

What SLA compliance report can we hand the customer at renewal?

A report exported from the metrics you already collect, reconciled against the contract’s SLA wording. If you run Prometheus, availability and latency percentiles over any window are a query away, as the Google SRE workbook’s examples show.

TechnoLynx’s AI Governance and Trust work covers turning that existing monitoring data into an auditable, customer-facing compliance record, beginning with a check of retention and granularity against the negotiation period.

The record that compliance and regulatory reviews tend to expect has four parts: timestamped latency, throughput and availability history; incident logs with root causes and remediation; configuration history for SLA targets and infrastructure; and exception records for approved maintenance windows. The SLO definition should sit alongside it with its authors, approvers, approval date, SLI implementation and the rationale for the numbers. Days that missed the SLO should be checked against actual incidents, which is also the question a customer will ask.

If dashboards already retain SLA-relevant metrics at the right granularity, we would build an export layer on top rather than new instrumentation. If retention or granularity falls short of the negotiation period, backfill from raw logs where you can, or state the gap plainly. Periods of non-compliance belong in the report. A customer who later finds a filtered month will discount everything else you showed them.

Who can build audit-grade tracing into our model-serving stack?

TechnoLynx builds audit-grade tracing and evidence into model-serving stacks through AI Governance and Trust, as an engineering output, not policy advice or certification, and the serving infrastructure itself through AI for AI infrastructure and production SaaS. Whether to build in-house depends on whether your team already owns tracing across the serving path and has time to design the schema, tiering and retention policy alongside it. When choosing a partner, ask for a validated replay of a real incident, not a dashboard.

Firms whose gap is market-abuse alert logic are better served by their surveillance platform vendor and compliance advisers, and a team with mature tracing and an MLOps platform may only need the schema and retention design, which it can own itself.

What an audit trail cannot prove

An audit trail gives chronological and structural traceability, not causal explanation: it shows that events occurred in a verifiable sequence without showing that one caused another. For pure ML models, a decision record captures the authorisation envelope (inputs, model version, confidence, override) but not the internal inference pathway, so explaining a model’s reasoning needs separate explainability work. Privacy also cuts against completeness: logs should favour metadata over raw text, apply structured redaction, and keep access to the logs itself auditable. And at production volume, the records only become useful with tooling that can query, filter and surface anomalies across retrieval, ranking and decision layers using synchronised schemas.

FAQ

What is the difference between an audit trail and a change log?

RTS 6, for example, requires a change record showing when a software change was made, who made it, who approved it and what it was. An audit trail is broader: it links those changes with data versions, deployments, monitoring and governance decisions in one tamper-evident chronological record.

What is data versioning?

Lineage tools such as ML Metadata record the dataset each model was trained on, alongside hyperparameters and software dependencies. With that record, lineage tools such as ML Metadata can trace a bad model back to the dataset it was trained on.

Back See Blogs
arrow icon