In Practice: AI in the Enterprise | Day 56: The Open-Source Strategy That Actually Prevents Lock-In

Open-source AI models have become attractive to enterprises specifically because they promise to sidestep vendor lock-in. You don’t depend on a vendor’s infrastructure. You can run the model anywhere. You own the compute. This logic is sound in theory.

In practice, enterprises adopting open-source models often discover they’ve created a different kind of lock-in, one that’s harder to escape than vendor lock-in because it’s architectural rather than contractual.

The problem isn’t open-source itself. Open-source models are genuinely valuable. The problem is treating open-source as a strategy for lock-in prevention when it’s really just a licensing choice. Open-source doesn’t guarantee independence unless you build your architecture to support it.

What Open-Source Actually Guarantees

Open-source models do give you some real freedoms: – You can run the model on your infrastructure – You can modify the code (though usually you don’t) – You can avoid paying the vendor per-API call – You’re not dependent on the vendor’s API availability

These are genuine advantages. But they’re tactical, not strategic. A licensing choice doesn’t solve a lock-in problem. Architecture does.

Lock-in happens when switching becomes expensive because you’ve made decisions that are expensive to reverse. Open-source doesn’t prevent that. If you’ve built your entire system on top of assumptions about how an open-source model works, you’re just as locked in as if you’d used a proprietary vendor.

Where Open-Source Models Actually Lock You In

Consider how most enterprises use open-source models:

They download a model, fine-tune it on their data, integrate it into their applications, and optimize the entire pipeline around it. The fine-tuning process is proprietary (your training data and process). The integration is specific (you’ve built APIs and data pipelines around this model’s specific output format). The optimization is detailed (you’ve tuned batch sizes, inference settings, caching logic for this model’s performance characteristics).

Now you want to switch to a different model—maybe a newer, better open-source model, or a different vendor’s proprietary model. What do you actually need to change?

  • Retrain on the new model (your fine-tuning process is tied to the old model’s architecture)
  • Reintegrate (the new model’s output format is different, the inference API is different)
  • Re-optimize (batch sizes, inference settings, caching all need to be tuned for the new model)

This is the same switching cost you’d face with a proprietary vendor. The open-source licensing didn’t prevent it. Your architecture created it.

The Difference That Matters

Enterprises that actually prevent lock-in do something different. They separate the model layer from the business logic layer.

Instead of integrating the model directly into applications, they build an abstraction layer. The application doesn’t know which model it’s using. It just calls an API that says “here’s my input, give me a prediction.” Behind that API, you can swap models without the application noticing.

This requires: 1. A prediction service that decouples the application from the specific model. The application calls the service, the service owns the model integration. 2. Standardized input/output formats between the service and applications. The service normalizes whatever the model outputs into a standard format. Applications expect that format, not the model’s raw output. 3. Version management for the model itself. You can deploy a new model and gradually shift traffic to it, or roll back if it degrades. This requires treating the model as a deployable artifact with versions, not as a permanent fixture. 4. Standardized monitoring that doesn’t depend on model-specific metrics. You monitor business outcomes and general performance signals, not model-specific calibration metrics.

With this architecture, you can swap models. Open-source, proprietary, different vendor, different model entirely. The abstraction layer handles the differences.

Without this architecture, the open-source licensing is mostly irrelevant. You’re locked in to the model regardless of who owns the code.

Why Enterprises Skip This

Building an abstraction layer takes work. It requires architectural thinking that most teams don’t prioritize when they’re trying to get a system into production quickly.

The pressure is usually toward speed: use the model directly, integrate it quickly, get to value. The thought of building a prediction service with standardized formats and version management feels like overhead.

So teams integrate the model directly. They’re thinking “this is open-source so we’re not locked in.” They’re not thinking about the switching cost they’re building into their architecture.

Then, 18 months later, when they want to upgrade to a better model or switch to a different approach, they discover the switching cost was actually quite high. Not because of licensing, but because of architecture.

How Open-Source Actually Supports Lock-In Prevention

If you want open-source to actually solve the lock-in problem, you need to:

Use open-source as part of a multi-model strategy, not a single-model commitment. Plan to use multiple models in production simultaneously, at least initially. The ability to run two models in parallel is what gives you the optionality to switch. Once you’ve optimized everything around one model, switching becomes expensive.

Build the abstraction layer from the start. Don’t integrate the model directly into your applications. Build a prediction service that applications call through a standard API. This is the only thing that actually prevents lock-in.

Avoid deep model-specific optimization. Yes, you can fine-tune the model on your data. But do this in a way that’s portable—if you wanted to swap to a different model, could you re-run the same fine-tuning process on the new model? If not, you’ve created model-specific optimization that makes switching expensive.

Monitor at the business level, not the model level. Avoid building monitoring that’s deeply tied to how a specific model works. Monitor outcomes, not model internals. This lets you swap models without rearchitecting your monitoring.

Have an exit strategy. Before you commit to a model (open-source or otherwise), ask: “what would it cost to migrate to a different model in two years?” If the answer is very high, you’ve created lock-in.

The Real Insight

Open-source models are valuable. They’re especially valuable in contexts where vendor lock-in is a real risk—where you need flexibility, or where you don’t want to depend on a vendor’s infrastructure. But the licensing model doesn’t provide the flexibility. The architecture does. The architecture discipline matters whether you’re using open-source or proprietary models — good abstraction prevents lock-in regardless of licensing model.

Enterprises that end up with real optionality around models—the ability to swap without huge costs—do it through architecture discipline, not through licensing choices. They could achieve the same optionality with proprietary models if they built the same abstraction layer.

Conversely, enterprises that adopt open-source models expecting automatic freedom from lock-in usually discover that lock-in was never about licensing. It was about architecture.

The strategy that prevents lock-in is: build modular, decoupled architecture, monitor at the business level, and plan for switching from day one. Do that with open-source models and you’ll have flexibility. Do it with proprietary models and you’ll have flexibility too. Skip it with either and you’ll be locked in regardless of licensing.

In Practice: AI in the Enterprise | Day 55: The Data Dictionary You Need to Build (And Why Most Enterprises Skip It)

A data governance team came to me frustrated. Their compliance audit had flagged undefined data quality standards. They were tracking data classification (PII, confidential, etc.), they had retention policies, they knew where their data came from. But they couldn’t explain what their data actually meant.

This wasn’t a gotcha. It was a real problem. They had a customer ID field but no definition of which customers it represented—was it all customers who ever registered, or customers with an active account? They had a “revenue” field but no clarity on whether it was gross revenue, net revenue, revenue at the time of transaction or at the time of recognition. They had a “request latency” field but no document specifying what component of the system it measured.

This is the foundation of data governance and almost everyone skips it.

What a Data Dictionary Actually Is

A data dictionary isn’t complicated. It’s a document—ideally in version control—that defines each data element you use for AI, describes what it means, notes any transformation or calculation applied to it, and specifies quality expectations.

For a simple field, it looks like: – Field name: customer_acquisition_date – Definition: The date the customer created an account in the system – Data type: DATE – Source: accounts.created_at – Notes: Includes test accounts created before [date]; these were removed via [filter] – Expected range: Between [earliest account date] and [today] – Quality expectation: 99.5% of accounts should have this field populated; 0% should have future dates

That’s it. One field, one paragraph. A 50-field dataset takes a few hours to document.

Most enterprises don’t do this.

Why It Matters

The reason it matters isn’t pedagogical (“you should document things”). It’s operational.

First, a data dictionary is how you know what you’re allowed to do with data. If you don’t know what a field means, you can’t know whether you can use it for a specific purpose. You might have a field called “customer_segment” that was originally created for marketing segmentation, which had specific consent implications. If you don’t document that, someone will use it for model training without realizing the original consent didn’t cover that use. You’ve created a legal risk.

Second, a data dictionary is how you know when your data is wrong. If you don’t have defined expectations for a field—what values are normal, what ranges are plausible, what patterns indicate data quality issues—you won’t notice when something breaks. You’ll be training models on bad data without realizing it.

Third, a data dictionary is how you know what data you can actually use. A field might look like it represents customer lifetime value, but if the underlying calculation changed six months ago, the pre-change data and post-change data represent different things. If you’re training a model on both, you’re using data that doesn’t mean the same thing. That’s a recipe for model performance degradation.

Fourth, a data dictionary is enforcement for data governance. You can have a policy that says “all AI-related data must be documented,” but without a data dictionary, there’s no way to check whether you’re actually following it.

What Most Enterprises Do Instead

Without a data dictionary, enterprises typically do one of the following:

Option 1: They trust the data. They assume that field names are self-explanatory, that source systems didn’t change their definitions mid-stream, that everyone means the same thing when they refer to “customer segment.” They’re usually wrong on at least one of these assumptions.

Option 2: They document verbally. Someone knows what the field means; they tell someone else; that person tells a third person; and by the time it gets to the person actually building the model, the definition has drifted. You’ve got implicit knowledge that’s lost when the person who knows it leaves.

Option 3: They document in code comments. Someone adds a comment to the data pipeline: “this is customer lifetime value, calculated as [formula].” But the comment isn’t version controlled separately from the code, it’s not reviewed, and when the formula changes, the comment doesn’t. Six months later, the comment is a lie.

Option 4: They document in sprawling spreadsheets. Someone creates a huge Data Governance Spreadsheet™ with hundreds of fields, inconsistent formatting, and no enforcement mechanism. People stop updating it. The date on the spreadsheet says 2024 but it’s now 2026.

None of these are actually data dictionaries. They’re approximations that fail when you need them.

How It Connects to AI

For AI specifically, a data dictionary is foundational. Here’s why:

When you’re training a model, you need to know what each feature represents. If a feature changes definition mid-stream (like revenue recognition policy changes), you’re training on heterogeneous data. When the model sees new data post-change, it can behave unexpectedly.

When you’re building compliance documentation for an AI system, you need to know the provenance and consent basis for every data element. A data dictionary connects the field to the original source, the original consent, and any transformations applied.

When you’re debugging model behavior, a data dictionary helps you distinguish between “the model is wrong” and “the data changed.” If you can’t define what a field should contain, you can’t tell if actual variation is expected.

When you’re transferring knowledge, a data dictionary lets the next person understand the system without relying on tribal knowledge.

How to Actually Build One

Start small. Don’t try to document your entire data warehouse. Pick the datasets you’re actually using for AI: the training data, the features being fed into production models, the datasets you’re analyzing.

For each field: 1. Write a plain-English definition. Not “customer lifetime value” but “the sum of all revenue attributed to this customer across all transactions in the past [timeframe], calculated using [specific methodology].” 2. Note the source system and the transformation. If the field comes from a database, note which table and column. If it’s calculated, specify the formula. 3. Specify quality expectations. What range of values is normal? What percentage should be populated? What should never happen (negative revenue, future dates)? 4. Note any constraints or assumptions. Has the definition changed? Is it calculated differently for different customer segments? 5. Document the consent and licensing basis. What was the original use case? What consent was obtained? What transformations happened after consent was obtained?

Store it in version control. Make it part of your standard documentation. Review it when data changes. Update it when definitions shift.

Why Enterprises Skip This

The honest answer is that building a data dictionary feels like overhead. You can start building AI systems without one. You can deploy models, run inference, collect results. The data dictionary seems like a governance tax that slows you down.

Until it doesn’t. Until you need to explain to compliance why you’re using a field for a purpose the original consent didn’t cover. Until a model suddenly degrades because a source system changed and nobody documented that change. Until you need to know whether a field definition changed mid-stream and your data is now heterogeneous.

At that point, the data dictionary isn’t overhead. It’s the thing that lets you operate safely.

The Practical Implication

This doesn’t require a massive governance project. It requires discipline at the point of use. When a dataset enters your AI pipeline, someone owns the responsibility for documenting what each field means, where it came from, and what quality expectations exist for it.

That person should be a data engineer, a data scientist, or a data governance specialist. And they should have time budgeted for it—typically 2-4 hours per dataset.

The enterprises that do this well have visibly simpler governance conversations. Compliance asks “is this data documented?” and the answer is yes. Teams ask “what does this field mean?” and the answer exists. Models degrade and you can tell whether it’s because the model is wrong or the data changed.

It’s unglamorous work. But it’s the foundation everything else sits on.

In Practice: AI in the Enterprise | Day 54: Model Risk During Model Selection: Why the Benchmark Number Means Less Than You Think

When you’re evaluating two foundation models for deployment, the benchmark comparison looks decisive. Model A scores 87% on the standard test. Model B scores 84%. Model A is mathematically better. You choose Model A.

Then you deploy Model A into production and discover that it performs worse than Model B would have. Not catastrophically worse. Just noticeably worse. You’re left explaining why the numbers didn’t predict reality.

This happens because benchmark performance on clean, labeled test data doesn’t predict production performance. It correlates with it, but not strongly enough to be your primary decision criterion. And yet most model selection processes treat the benchmark as the most important signal.

The gap between benchmark and production is where model risk lives.

What Benchmarks Actually Measure

A standard model benchmark tests a model’s accuracy on a curated dataset. The dataset is clean (invalid inputs are removed), labeled (the right answer is known), and representative of the kinds of problems the model claims to solve. The model sees the test set once. The conditions are controlled.

This measures one specific thing: how well this model performs on well-formed inputs that look like the training data.

It does not measure: – How the model performs on inputs that don’t look like the training data – How it handles ambiguous or contradictory inputs – How its performance degrades as input distribution shifts – How it performs on edge cases that weren’t well represented in the training data – What happens when the model is confident and wrong – How performance varies across different user segments or use cases – What the latency-accuracy tradeoff is when you need faster inference

All of these things matter in production. Benchmarks typically measure none of them.

Why This Matters

The benchmark gap matters because benchmarks are optimized for comparability, not for prediction. The whole point of benchmarks is to create a standardized, reproducible test that different models can be evaluated against. To make that work, you need a single test set with a single objective truth.

But production doesn’t work that way. Production has: – Shifting input distributions (your users’ problems change over time) – Ambiguous ground truth (sometimes there’s no objectively right answer) – Diverse use cases (the same model is used for different purposes by different teams) – Changing context (the model’s failures today might be different from tomorrow) – Real cost of being wrong (the benchmark doesn’t weight all mistakes equally, but production does)

A model that scores 87% on a benchmark might be overconfident on edge cases, which creates disproportionate harm in production. A model that scores 84% might be more conservative, degrading gracefully on inputs it’s uncertain about. In production, that conservatism might be more valuable than the three-point accuracy gain.

How This Plays Out

Take a common scenario: sentiment analysis for customer feedback. The benchmark for sentiment models typically tests on a curated dataset of customer reviews where the sentiment is unambiguous. Model A scores 87%, Model B scores 84%. You choose A.

But in production, you’re getting short customer messages from support tickets, product reviews, social media mentions, and conversational text. Some of this is ambiguous (is “I’m shocked at how fast this is” positive or negative?). Some of it is sarcastic. Some of it is context-dependent (a complaint to a friend about your product is different from a bug report). The benchmark doesn’t test any of this.

Model A, optimized for the benchmark, might be more confident on ambiguous cases. It gives you clear answers: this is positive, this is negative, move on. Model B, slightly lower on the benchmark, might have more calibrated uncertainty. It might flag ambiguous cases more often, giving you signals about where to apply human judgment.

In production, Model A’s apparent superiority becomes a liability. You have more confident wrong answers. Model B would have required more human judgment but would have given you fewer surprises.

The Hidden Model Selection Process

This isn’t an argument against benchmarks. Benchmarks are useful signals. It’s an argument for not making them your only signal.

The enterprises that select models well have a process that looks like: 1. Start with benchmarks. They eliminate obviously bad choices. 2. Test on your own data. Run both models on a sample of your actual inputs—not the benchmark test set, but the messy data you’ll actually receive. You’ll often find that benchmark rankings don’t hold. 3. Evaluate on your own criteria. For your specific use case, what mistakes matter most? Does the model need to be accurate or safe? Fast or explainable? Benchmarks optimize for accuracy. Your use case might optimize for something else. 4. Check failure modes. Run both models and look at where they fail. Is one model’s failures worse for your specific application? Does one fail gracefully (uncertain) while the other fails confidently (wrong)? 5. Run a small production pilot. Deploy to a small subset of traffic and measure real performance, not benchmark performance. That’s when you’ll discover whether your intuitions about risk held up.

Step 2 is where most enterprises skip. They run the benchmark comparison, pick the winner, and assume they’re done. They’re not. They’ve eliminated the worst choices. They haven’t eliminated the wrong choice for their specific situation.

What This Means for Procurement

When you’re evaluating models for deployment, treat benchmarks as a starting point, not a conclusion. A three-point difference on a benchmark is not a decisive advantage if that difference comes from the model’s confidence, not its correctness.

Ask the vendor questions that benchmarks don’t answer: How does this model perform on ambiguous inputs? What happens to accuracy as input distribution shifts? How calibrated are the model’s confidence scores? What does this model’s failure look like—does it fail confidently or uncertainly?

Then test on your data. Get a sample of actual inputs from your use case and run both models on them. You’ll usually find that benchmark rankings are a weak predictor of production rankings.

Finally, be honest about what you’re optimizing for. Sometimes accuracy is what matters. Sometimes it’s calibration—being right about uncertainty rather than right about predictions. Sometimes it’s explainability or latency or the specific pattern of mistakes. The benchmark optimizes for one thing. Your production environment optimizes for something else.

The benchmark number is real. It’s just not as predictive as it looks.

In Practice: AI in the Enterprise | Day 53: The Vendor Transition Problem: How Hard Is It Actually to Switch?

A manufacturing company brought me in to evaluate why they couldn’t move off a vendor’s AI platform even though the economics no longer made sense. They’d started with the vendor five years ago, when the alternative landscape was narrower. Now the alternatives were cheaper and faster. But the transition cost analysis came back at $8M and 18 months. They stayed.

This happens more often than enterprises admit. Not because the new vendor is actually worse. But because switching has hard costs that don’t show up in ROI calculators until you’re 12 months in.

The standard analysis of vendor switching looks straightforward: new contract costs, tool retraining, migration of existing models. Most enterprises estimate weeks or months and set a budget. Then they start the transition and find that the switching cost was 3x what they estimated.

The gap isn’t a calculation error. It’s that switching costs have hidden layers that only surface once you commit.

What Shows Up in the Budget

When you plan to switch from Vendor A to Vendor B, you typically account for: – License costs for the new platform – Data migration—moving existing datasets, models, configurations – Retraining staff on new interfaces and workflows – Time for parallel running during transition

A responsible team will also budget for: – Regression testing (making sure the new platform produces similar results) – Performance benchmarking (validating that latency, throughput match the old system) – Integration work (connecting the new platform to downstream systems)

These are real costs. Most enterprises estimate them conservatively. Then they hit the switching costs that don’t appear on spreadsheets.

What Doesn’t Show Up Until You Start

First: architectural dependencies. You didn’t think the old vendor was deeply integrated into your architecture, but it turns out you have 47 downstream systems that make assumptions about how the old vendor’s API works, how it handles errors, how data flows. The new vendor’s API is functionally equivalent but architecturally different. You need to re-abstract two layers of code.

Second: data format translation. Your old vendor had a specific way of representing model outputs, uncertainty, feature importance. The new vendor uses different representations. The systems consuming that output were built assuming the old format. Updating them means re-testing each one, because slight format changes can have disproportionate effects downstream.

Third: performance characteristics. The old system was slow but predictable. The new system is fast but bursty. Your rate-limiting, queuing, and caching logic was built for the old characteristics. The new vendor’s system hits your bottlenecks differently.

Fourth: failure modes. The systems around your AI infrastructure were built to handle specific failure modes from Vendor A. When Vendor B fails, it fails differently. You discover this six months into production when something unexpected happens.

Fifth: organizational knowledge. The team that built the first system understood Vendor A’s quirks, optimizations, gotchas. They’ve optimized for Vendor A in ways that are obvious once you live with it and mysterious if you’re coming from outside. When you switch, you lose that accumulated knowledge. The new team has to learn Vendor B’s quirks from scratch.

The Hidden Cost Structure

These costs don’t distribute evenly. Some are concentrated at the decision point (data migration), but others are spread across months of steady work (re-abstraction, re-testing, knowledge transfer). This spreading makes them easy to underestimate. If someone asks “how long will migration take?” and the answer is “one engineer for two weeks,” that’s easy to estimate. If the answer is “various engineers will spend 30% of their time on vendor-specific integration work for nine months,” that’s much harder to quantify and easy to underestimate.

The switching cost also compounds with the vendor’s own evolution. While you’re transitioning to Vendor B, Vendor A is still being used by other teams and is still evolving. The longer the transition takes, the wider the gap between what you’re leaving behind and what you’re transitioning from. You might end up re-building transition logic three times because Vendor A changed mid-transition.

Why This Matters for Procurement

When you’re evaluating a new AI platform, the vendor will tell you that switching costs are low. They’ll show you case studies of companies that moved in 90 days. Some of those companies were probably moving from something worse, or they had simpler architectures, or they had teams with free capacity. Those stories aren’t wrong. They’re just not predictive of your situation.

The real switching cost depends on: – How integrated your current vendor is into your architecture – How many systems depend on the specific output format, error handling, latency profile of your current vendor – How much accumulated optimization and knowledge your team has developed around the current vendor – Whether you have excess engineering capacity to absorb the transition – What your tolerance is for parallel-running both systems during the switch

Most enterprises underestimate this because they think about switching cost as migration logistics, not as architectural debt. If your current vendor is deeply integrated and your systems are optimized around its specific characteristics, switching is expensive even if the new vendor is technically superior.

How to Actually Estimate It

Start by mapping integration points. Where does your current vendor connect to other systems? What assumptions do those systems make about the vendor’s behavior? For each assumption, decide: does the new vendor meet it, or do we need to re-abstract?

Model the slowest piece of your transition. It’s rarely data migration. It’s usually the re-abstraction and integration work, or the regression testing of systems you forgot existed. Assume that piece will take 30% longer than your first estimate.

Identify what knowledge will be lost. It’s not just “how to use the interface.” It’s “we’ve learned that this vendor performs poorly if you batch requests larger than X, so we built a pre-processing step.” The new vendor might not have that problem, but you might rebuild the pre-processing step anyway because it seems safer.

Factor in parallel running costs. Most transitions run both systems for months. That’s twice the infrastructure, twice the monitoring, twice the data pipeline work. It takes longer than you think to reach confidence.

The Practical Implication

This doesn’t mean you should never switch. It means you should estimate the true switching cost and be realistic about whether the new vendor’s advantages actually exceed it. Switching costs vary significantly based on architecture decisions — this applies to any platform relationship. Sometimes the new vendor’s advantages exceed the cost. Sometimes the switching cost is so high that you’re better off optimizing within the current vendor’s constraints.

The enterprises that get this right are usually the ones that think about switching cost during vendor selection, not during the transition. They ask: “if we needed to move off this vendor in three years, how hard would it be?” If the answer is very hard, they either negotiate better terms with the current vendor or choose a different one.

The cost of switching isn’t primarily about logistics. It’s about how deeply integrated the vendor has become with your architecture and operations. The deeper the integration, the higher the cost. And most enterprises don’t realize how deep the integration goes until they try to leave.

In Practice: AI in the Enterprise | Day 52: The Audit That Should Happen Before Your Next Major AI Deployment

If you’re planning a significant AI deployment—a new recommendation system, a content moderation tool, an internal automation—your governance team is probably already planning an audit. That’s good. What’s less certain is whether that audit will actually tell you if you’re ready.

Most enterprise AI audits are built to check boxes that are easier to check: vendor security credentials, data protection compliance, model explainability documentation, risk rating frameworks. These matter. But they’re not the audits that predict failure.

The audits that predict failure are fundamentally different. They don’t ask “have we documented the risks?” They ask “do we actually understand what happens when this system fails?”

The Audit You Think You Need

A typical pre-deployment AI audit asks: – Does the model meet our performance thresholds? – Is the vendor SOC2 certified? – Have we classified the data inputs? – Do we have explainability documentation? – Is there a risk rating in the system?

These are necessary. But they’re also mostly verifiable without touching the system. A vendor can show you security audits. A data classification template can be completed. A risk matrix can be drawn in a PowerPoint deck.

None of this tells you whether you’re actually ready to run this system in production. Because readiness isn’t primarily about documentation. It’s about visibility.

The Audit You Actually Need

The audit that matters asks: – What does failure look like for this specific system? Not “model performance degrades,” but: what does the business see? How long before anyone notices? Who notices first? – What’s the path from “something is wrong” to “we know something is wrong”? Do you have monitoring? What signals are you actually tracking? – If we turn this off today, what happens? Is there a fallback? How long does fallback take to activate? Does anyone know it exists? – What happens to the data? Not just “we comply with GDPR,” but: where does input data sit, how long, who can access it, what happens if a request for deletion comes in at 3 AM while the system is running? – What won’t this system tell you? What blind spots will you only discover after you’ve had problems with it?

These questions are difficult because they require actually thinking through operations, not just compliance.

Why Most Audits Miss This

There are structural reasons. First, the audit happens before deployment, when you don’t yet have production data. You can’t run a forensic analysis of actual failures because there haven’t been any yet. So audits default to process documentation: “do you have a plan to monitor this?” instead of “show me the monitoring.”

Second, most enterprises don’t have the right people in the audit room. Governance and compliance leaders are comfortable asking about data classification and vendor security. They’re less comfortable asking about observability architecture or failure modes. So the audit gravitates toward what the audit team knows how to verify.

Third, there’s an asymmetry of effort. A vendor can quickly produce a security checklist. Building production monitoring for a system that doesn’t exist yet is harder. So audits incentivize thoroughness on the first and speed-runs the second.

What Gets Exposed When You Actually Audit

When you push on these harder questions, you often discover you’re not ready. Not in a compliance sense—most large enterprises can pass a compliance audit. But in an operational sense. The system doesn’t have monitoring. There’s no agreed fallback strategy. The team hasn’t documented what “failure” actually looks like for this business. Data handling during errors is unclear.

These are usually fixable. But they’re only fixable if you find them before deployment. Finding them six months in, when the system is already embedded, is much more expensive.

How to Actually Do This Audit

Start with operations, not compliance. Ask the team that will run this system—not the team that will govern it—what they need to know to be confident. What signals would tell them something is wrong? What would they need to see to feel safe turning it on?

Make them specific. Not “monitor model performance” but “track prediction confidence scores by input type weekly, alert if any segment drops below X.” Not “ensure data security” but “describe the 72-hour data retention policy after inference completes, the access controls on inference logs, and what happens if we get a CCPA deletion request.”

Have them build the monitoring before you audit. You’re not evaluating documentation about monitoring. You’re evaluating actual monitoring. The difference is decisive.

Ask them to describe failure. What does it look like when this system creates a customer problem? A compliance problem? An accuracy problem? For each scenario, what’s the path to detecting it and what’s the response?

Document the fallback strategy in detail. Not “we can go back to the old process,” but “it takes us X hours to revert, during which Y transactions per minute won’t be processed, and here’s the manual backup process.” Make someone own that document.

Finally, identify the things you won’t know until you run it. You can’t eliminate unknowns. But you can be honest about them. The audit should surface them explicitly rather than pretending you’ve thought through everything.

Why This Matters Before You Deploy

The earliest problems with AI systems are often not problems with the models. They’re problems with operations: you didn’t realize how long inference takes, so the system creates latency issues. You didn’t account for the volume of edge cases, so the fallback process is overwhelmed. You didn’t monitor the right thing, so by the time you realize something is wrong, it’s been wrong for months.

An audit that surfaces these doesn’t prevent all problems. But it significantly changes which problems you catch early versus which ones surprise you in production.

Most enterprises will pass a traditional AI audit before deploying. The question is whether they’ll also pass an operational one. That’s the audit that matters.

In Practice: AI in the Enterprise | Day 51: Copyright, Training Data, and the Lawsuits Coming

The question isn’t whether copyright lawsuits involving AI will reshape enterprise liability. They already are. What’s shifting now is that enterprises are building large-scale AI systems without clarity on what they’re legally exposed to—and that gap is widening, not closing.

Three major litigation tracks are running simultaneously. The first involves generative AI companies and the datasets they used to train large language models. Several high-profile cases allege that training on copyrighted material without permission or compensation violates copyright law. The second track involves enterprise use of foundation models—if you’re using foundation models to generate content that replaces work that would have been licensed, you may be moving risk. The third, less visible but arguably most dangerous for enterprises, involves the training data you’re collecting and using internally.

Most enterprises aren’t thinking about the third category. They should be.

The Data You Control, Not the Models

When a foundation model company faces copyright liability, they shoulder it. They built the model; they made the decisions about what data to include. But when you build an internal AI system—a customer service chatbot trained on your internal documentation, a code-generation tool trained on your private repositories, a content classifier trained on labeled examples—you’re making the same decisions. And you’re controlling the dataset.

If your training data includes copyrighted material, you’ve made a choice. If it includes customer personal data that you’ve used for model training without explicit consent or legal basis, you’ve created another liability. If it includes third-party data that you licensed for one purpose but then used for model training without renegotiating the terms, you’ve created a third.

This isn’t hypothetical. Enterprises are building on top of open-source code that has licensing restrictions. They’re fine-tuning models on customer data without revisiting their data governance policies. They’re using datasets that were collected before large-scale AI was a consideration, and the original privacy or usage terms never contemplated model training.

Where Most Organizations Have a Blind Spot

The typical audit process asks: “Are we using a licensed model or an open-source model?” If it’s licensed, they assume the vendor handled copyright. If it’s open-source, they check the license (GPL, MIT, Apache, etc.) and call it secure. What they miss is the training data itself.

You may have a fully licensed foundation model deployment, but if you’re feeding it proprietary customer data that you’re then using to fine-tune another model, or if you’re processing it through the API and storing the results in a way that violates your customer’s original consent, the licensing status of the base model becomes secondary.

Similarly, open-source models have become attractive precisely because they seem to sidestep the copyright questions that plague foundation models. But if you’re training an open-source model on a dataset you don’t have clean rights to, the licensing of the model is not your primary risk.

What’s Changing Now

Up until recently, enterprises could move reasonably fast because copyright enforcement was theoretically the problem of the model builders, not the model users. That assumption is breaking down. Courts are beginning to articulate theories of liability that flow backward—from end users toward the data sources and the choices made about what data to use.

The litigation landscape is also clarifying that “we didn’t know it was copyrighted” is not a defense if you had reason to know. A Fortune 500 company has more reason to know than a startup. If you’re building internal AI systems, courts will likely assume you had the capacity to verify your data sources.

There’s also a subtle but important shift in how regulators and advocates are framing the issue. It’s moving from “did you train on copyrighted material” to “did you have a process for knowing what you were training on.” Process failures are easier to prosecute than content mistakes.

What You Need to Start Doing

First, document the provenance of every dataset used for training. Not in aggregate (“we used publicly available data”), but specifically: where did this data come from, who originally created it, what license or terms govern its use, was it collected with consent for this purpose, and did we verify any of that.

Second, revisit your vendor contracts for any data you’re licensing or procuring. The boilerplate language you signed three years ago probably doesn’t address foundation model training. It should. If you’re licensing customer data or third-party data, the terms should explicitly cover (or explicitly prohibit) use for AI model training.

Third, audit your internal datasets. If you’re using customer service transcripts, product documentation, customer feedback, code repositories, or any other internal source as training data, verify the original consent and licensing basis. If it doesn’t exist, you have a choice to make: get the consent retroactively, limit what you do with the model, or don’t use that data.

Fourth, establish a practice where anyone proposing a new AI system documents the data sources upfront, not as an afterthought. Make the data liability question as visible as the technical question.

The Cost of Waiting

The earliest enterprises to address this will have a practical advantage: they’ll know what they can and can’t do. More importantly, they’ll have a documented process that demonstrates reasonable care. That matters in litigation. The enterprises that move slowly will face a much harder conversation when they discover, in the middle of a deployment, that their training data has clean-title problems.

The copyright landscape around AI is clarifying month by month. The visibility enterprises have into their own data governance is not. That gap is where the liability sits.

In Practice: AI in the Enterprise | Day 50: The Hierarchy You Need: Decisions About AI That Belong at Different Levels

Most organizations make one mistake about AI governance: they treat all decisions as if they belong at the same level.

They create a governance board. The board makes decisions about which models to deploy, what risk thresholds are acceptable, how to manage fairness, what data to use. Everything flows through the same decision-making structure.

This works until it doesn’t. Suddenly the board is making decisions about whether a particular model should log timestamps in a particular format. Or whether a team should run a quick model experiment. Or what documentation a data scientist should write. And now the board is a bottleneck, because the board is making decisions that should be made much closer to the work.

The mistake is not that the board is doing anything wrong. The mistake is that the decision belongs at a different level.

The Three Levels

Most enterprise AI governance needs three levels of decision-making, with different questions at each level.

Enterprise level. These are decisions about strategy, architecture, and constraints that affect the whole organization.

Questions at this level: What’s our overall risk appetite for AI? What vendors do we work with? What data can be used for AI? What governance structures do we require? How much are we spending on AI? These are decisions that affect multiple lines of business, that have strategic implications, that set constraints others work within.

These decisions should move slowly. They should be made carefully. They should be made by people who can see across the whole organization. They should be made infrequently. If you’re revisiting your enterprise AI strategy every month, something is wrong.

Line-of-business level. These are decisions about which AI initiatives to pursue within a line of business, how to implement them, and how to measure success.

Questions at this level: Should we build a demand forecast model? Should we use this vendor’s AI platform or build our own? How do we resource the AI team? What’s the model refresh schedule? These are decisions that affect one business area but don’t affect strategy organization-wide. They’re guided by enterprise-level decisions (we will spend this much, we will use this vendor, we will follow this risk appetite) but they’re made locally.

These decisions should move faster. A line-of-business leader should be able to make the call on whether to pursue an initiative without going back to the enterprise board. If the enterprise board has set clear constraints, the local decisions are within those constraints. Move on.

Team level. These are decisions about how to build, test, and deploy models within an initiative.

Questions at this level: What features should we engineer? How many samples do we need for training? What’s the right batch size? Should we use this algorithm or that one? How should we handle missing data? These are implementation details. They’re guided by the line-of-business decision (we’re building a demand forecast) but they’re decided by the team that’s doing the work.

These decisions should move very fast. A data scientist should be able to choose an algorithm without asking permission. The team should be able to run experiments without a governance board vote.

The Common Mistakes

Organizations usually get this wrong in one of two ways:

First, they push decisions up. A team wants to run an experiment. They go to the board. The board approves it. This happens for every decision, so the board becomes a bottleneck. The organization moves slowly. Teams get frustrated.

This usually happens because the team isn’t confident in the constraints set at the higher level. They don’t know what they’re allowed to do, so they ask. Which means the enterprise level hasn’t been clear about what the rules are. Or the line-of-business level hasn’t been clear about the initiative. The failure is higher up, but it manifests as slowness lower down.

Second, they push decisions down. Teams start making decisions about architecture. Teams choose vendors. Teams set risk thresholds. And now you have no consistency across the organization. One line of business is using Vendor A, another is using Vendor B. One team is comfortable with 3% bias, another requires 0.5%. One team runs models without any governance, another has heavy governance.

This usually happens because the higher levels haven’t set clear constraints. Or haven’t been clear about which decisions they’re responsible for. The teams are making reasonable decisions locally, but those decisions don’t add up to a coherent strategy.

How to Tell If You Have It Right

You have the right decision hierarchy if:

Enterprise decisions feel weighty. When the enterprise board meets, they’re making decisions that feel consequential. Not “should we tune this hyperparameter?” Decisions like “what’s our risk tolerance?” or “should we use this vendor?” These should feel substantial because they’re the decisions that matter most.

Line-of-business decisions move fast. Business leaders can make the call on which initiatives to pursue without spending six months getting approval. They know the constraints (spend budget X, follow risk appetite Y, use vendor Z). They decide: we’re building a demand forecast, we’re building a churn prediction model, etc. They make those decisions independently.

Team decisions happen in hours or days. Data scientists run experiments. They try algorithms. They refine features. They don’t ask for permission. They work within the constraints set by the business leader. They make technical choices rapidly.

If enterprise decisions feel trivial, you’ve pushed decisions up. If team decisions require approval, you’ve not pushed decisions down. If different lines of business are making inconsistent choices about vendors or risk appetite, you haven’t set enterprise constraints clearly.

How to Implement It

If you don’t have this structure, start by answering one question: What decisions have to be made at the enterprise level to set clear constraints for everyone below?

For most organizations, the answer looks like: – Risk appetite (what are we willing to accept?) – Vendor strategy (what infrastructure do we use?) – Data governance (what data can be used for AI?) – Budget (how much do we spend on AI?) – Required processes (what governance do we require?)

Make those decisions carefully and clearly. Document them. Make them known. Then say: “Within these constraints, you can make your own decisions.”

The line-of-business level then works within those constraints: we have $X budget, we have to use vendor Z, we have to follow risk appetite Y. Now: what initiatives should we pursue?

The team level then works within the initiative: we’ve decided to build a demand forecast. Now: how do we build the best forecast possible?

Three levels. Three sets of questions. Three speeds.

The Conversation That Matters

The conversation worth having is: “Are we making this decision at the right level?”

If you’re at the board, and you’re deciding whether a team should use algorithm A or algorithm B, you’re at the wrong level. Or the team doesn’t have good constraints, and that’s a higher-level problem.

If you’re a business leader, and you don’t know whether you can pursue an initiative without asking the enterprise board, you need higher-level clarity about what the constraints are.

If you’re a data scientist, and you can’t run an experiment without approval, either the governance is too heavy, or your manager hasn’t given you clear guidance about what you can do.

The organization that gets this right doesn’t move faster in every dimension. It moves faster where it should (team decisions), and slower where it should (enterprise decisions). But because every level is moving at its appropriate speed, the overall system is faster and more coherent than an organization where everything goes through one decision-making structure.

Most organizations can implement this in a month. The hard part isn’t the structure. The hard part is being clear about what belongs at each level, and then having the discipline to stick to it.

In Practice: AI in the Enterprise | Day 49: When Governance Gets Political (And How to Design Structures That Survive Politics)

You’ve built a good governance structure for AI. Clear decision rights. Good documentation. Regular review cycles. Smart people involved. It works for about six months.

Then someone on the board asks a question that matters. “Why did we turn off that model?” or “Why didn’t we deploy this system?” And the answer from your governance structure doesn’t align with what someone powerful wanted.

Now your governance structure is a problem.

This is when governance gets political. Not in the sense of backroom dealing, though sometimes that happens. But in the sense of power. Governance is a set of rules. Rules constrain power. And when a rule gets in the way of someone who has actual authority, that rule either gets changed or gets ignored.

Most organizations don’t think about this when they design governance. They design for a world where the governance structure is neutral and everyone respects it. That world doesn’t exist.

How This Manifests

The pattern is usually one of these:

The override. Someone with authority needs something from an AI system. The governance structure says “not yet, you need to wait for approval.” But they override it. They say “this is important, we’re proceeding.” The governance structure becomes advisory.

The reinterpretation. The governance structure says “we don’t deploy models without fairness audits.” Someone argues that “fairness audit” is ambiguous. What counts? Who decides? Their model is fair by their definition. The governance structure becomes interpretable.

The work-around. The governance structure applies to production models but not to “pilots.” So everything becomes a pilot. The governance structure becomes inapplicable.

The evolution. You design a governance structure. It works. Then the business changes. Now the structure is seen as too slow, or too strict, or misaligned with strategy. It gets relaxed. Then something goes wrong and it gets tightened. It becomes reactive instead of stable.

In each of these cases, the governance structure didn’t fail because it was badly designed. It failed because it wasn’t designed to survive political pressure.

What Stable Governance Looks Like

Governance structures that survive political pressure have three things in common:

First, they align incentives. If the governance structure creates friction for someone without creating benefits for them, they’ll find a way around it. But if the governance structure creates benefits for them, they’ll defend it.

This means: if your governance structure makes decisions slower but safer, you need to be clear that “safer” creates value for the person waiting. If it creates compliance benefit but not business benefit, it’s vulnerable.

The strongest governance structures are ones where following the rules creates obvious good outcomes for the people following them. A good example: “We do fairness audits before deployment. This prevents lawsuits. This saves us money.” That’s a governance structure with aligned incentives.

Second, they create accountability that matters. If following the governance structure comes with visibility and credit, people follow it. If ignoring it comes with no consequences, people ignore it.

Most organizations create governance structures where following them is invisible and ignoring them has no immediate consequences. That’s a structure designed to fail.

A strong governance structure is one where the people in the governance process have skin in the game. If a model is deployed without proper review and it causes harm, everyone knows who approved it. The risk is shared. The accountability is real.

Third, they’re clear about which decisions are reversible and which aren’t. Some decisions can be undone (deploy a model, see how it performs, roll it back if needed). Some decisions are hard to undo (choose a vendor, build integration, hire for a skill). Some decisions are nearly impossible to undo (deploy a model that’s trained on proprietary data, build a regulatory precedent).

Governance can be lighter for reversible decisions and heavier for irreversible ones. If you make everything high-governance, it’s seen as overly cautious. If you make everything low-governance, nothing prevents bad irreversible decisions.

The structures that survive political pressure are ones that match the governance weight to the reversibility of the decision.

The Conversation That Reveals What You Need

When you design governance, ask this question: “If someone with authority disagrees with what this governance structure says, what happens?”

If the honest answer is “they override it,” then your governance structure is advisory. That might be fine. But you should know that’s what you have. Don’t pretend you have authority when you don’t.

If the honest answer is “we discuss it, and we follow the structure,” then ask: why? What makes them accept the constraint? Usually it’s because (1) they understand why the rule exists, (2) they see benefit from the rule, or (3) they have accountability if the rule is ignored.

The organizations with the strongest governance are the ones that have designed it explicitly to survive politics. They’ve made sure the stakeholders with power understand the benefit of following the rules. They’ve created accountability for not following them. They’ve matched the governance rigor to the actual risk.

How to Design Governance That Lasts

Start by identifying the most powerful people in your organization and asking: “What does this governance structure require of them?” Then ask: “Do they see benefit in following it? If not, why would they?”

If the answer is “I don’t know” or “not really,” you’ve found your political vulnerability.

Then, either (1) redesign the governance to create benefit for them, or (2) accept that the governance won’t hold under pressure and design something lighter that can hold.

Most organizations do neither. They design governance that looks good in a document, and then are surprised when it falls apart when someone with power tests it.

The second thing: link accountability to outcomes. If a model is deployed against governance recommendations and it fails, that failure should be visible. The people who approved it, the people who were overridden, the leadership that allowed the override—all of it should be part of the story. This doesn’t mean blame. It means learning. It means next time, people think twice before overriding governance because they know it matters.

The third thing: be honest about reversibility. Some decisions should go through heavy governance. Some shouldn’t. If everything is heavily governed, you’re not making trade-offs—you’re just slowing down decision-making. The governance structures that last are the ones that people see as proportional.

The Fundamental Problem

The fundamental problem is that governance is a constraint on power. And power doesn’t like constraints. So either governance is weak enough that power doesn’t feel constrained (in which case it’s not doing much), or it’s strong enough that power notices (in which case power pushes back).

The organizations that solve this well don’t try to make governance neutral or invisible. They make it aligned. They make sure the people with power see governance as something that protects them, not something that limits them. “We don’t deploy models without fairness audits, because the cost of a fairness issue is enormous.” That’s governance that makes sense to power.

Governance that says “we have policies and you have to follow them” is governance that will eventually lose to someone who doesn’t want to.

Governance that says “here’s why this structure protects you and creates value for you” is governance that lasts.

In Practice: AI in the Enterprise | Day 48: The Cost Model That Prevents Runaway AI Spending

Most organizations are asking the wrong question about AI costs.

They ask: “How much will this AI initiative cost?”

They should be asking: “How do we prevent AI costs from spiraling?”

The difference is the difference between a forecast and a control mechanism. Forecasts are almost always wrong. Control mechanisms work.

The problem is that AI costs don’t behave like traditional IT costs. With traditional infrastructure, you pay for capacity: servers, storage, network. The cost is relatively predictable. You plan for growth. You scale. It’s understood.

With AI, you pay for inference. And inference costs scale with usage. As your model gets more popular, as you integrate it into more applications, as more people use it, costs go up. And because models are often inexpensive to run at scale, the incentive to optimize the cost is low. So organizations deploy models, they get popular, usage grows, and suddenly you’re spending millions on inference that you didn’t budget for.

This happens because most organizations don’t have a cost governance structure for AI. They have a cost tracking structure. They measure what they spent. They don’t control how much they spend.

Why This Happens

The typical progression looks like this:

Someone builds a successful AI model. It works. It saves money or makes money. It’s popular. Usage grows. Inference cost is $0.02 per request, but requests go from 10,000 a day to 1 million a day. Now you’re spending $20,000 a day on that model. Nobody planned for that. It just happened.

So you have a choice: shut down the model, or keep paying. And because the model is popular and it works, you keep paying. But now you’re subsidizing that usage, because nobody allocated budget for it. That budget has to come from somewhere—probably from planned AI spending on new models, or from other projects.

This pattern repeats. By the end of the year, you’ve deployed seven models. Three of them are wildly popular and they’re costing you 60% of your AI inference budget. The other four are barely used, but you’re still paying to run them. You have $5M that you didn’t budget for. And you have to figure out where it came from.

Most organizations handle this by saying “we need to be more careful about which models we deploy” or “we need better forecasting.” Neither of those works. The problem is not selection or forecasting. The problem is that you don’t have a cost governance structure.

What Cost Governance Actually Means

Cost governance for AI doesn’t mean “spend less money.” It means “make spending decisions consciously.” This framework draws on common enterprise cost modeling principles.

Here’s what it looks like:

Every model has a cost budget. Not a forecast. A budget. When you deploy a model, you specify: “This model can spend up to $50,000 per month.” That’s the budget. If inference costs exceed that, the model hits the budget cap and either (a) you optimize the model to reduce costs, or (b) you explicitly decide to increase the budget.

Every model has an owner who cares about the cost. This is not the data scientist who built it. The data scientist cares about accuracy. You need someone who cares about cost. In many organizations, this is the product manager for the AI initiative or the business owner of the process it affects.

You review model costs regularly. Monthly, at minimum. Who’s spending what? Are costs going up or down? Why? If a model is consuming 40% of your inference budget but it’s not producing 40% of the value, why are we running it? These are real conversations.

You have a retirement process for models. When a model’s cost exceeds its value, or when it’s no longer needed, you shut it down. This sounds obvious, but most organizations never retire models. They accumulate. You end up with a graveyard of low-value models that nobody wants to turn off because “someone might need it.”

You look for economies of scale. Once you have multiple models, you can start optimizing. Can you batch inferences? Can you use a smaller model? Can you run models in a cheaper region? Can you use caching to reduce redundant inferences? These optimizations only matter if you have cost visibility and cost ownership.

The Uncomfortable Bit

Cost governance requires making trade-offs that are uncomfortable.

If you have limited inference budget, you have to make a choice: run a very accurate model infrequently, or run a less accurate model frequently. You have to make that choice consciously. That requires business input. It requires someone to say “yes, we’re okay with 85% accuracy if it costs half as much.”

Most organizations don’t want to have that conversation. It’s easier to say “let’s try to optimize both” or “we’ll figure it out later.” But that avoidance is what creates runaway costs.

How To Start

If you have AI systems in production and you don’t have cost governance, start here:

  1. Get an accurate measure of your actual AI inference costs. Not an estimate. Actual. What are you spending on model serving, on inference APIs, on GPU capacity?

  2. Allocate that cost to the models that are driving it. Which models are expensive? Why?

  3. For the expensive models, identify the owner. Product manager, business leader, operations director. Someone who cares about the cost.

  4. Have a conversation with that owner: “This model is costing $X per month. What value is it producing? Is that cost justified?” If the answer is “I don’t know,” you’ve found a problem.

  5. Set a cost budget for the coming quarter. Not a forecast. A budget. “This model can spend up to $Y per month.”

  6. Monitor it monthly. If the model hits the budget, deal with it. Optimize, or request a budget increase, or retire the model. Don’t let it exceed the budget silently.

That’s cost governance. It’s not complicated. It’s just intentional.

The Payoff

Organizations that do this end up with 20-30% lower inference costs than organizations that don’t, because they’re constantly asking “do we need to keep running this?” and “can we run this more cheaply?” instead of just assuming that usage and cost will work out.

And more importantly, they don’t have the experience of looking at their bill at the end of the quarter and being surprised. They know what they’re spending. They chose to spend it. That’s control.

The question isn’t “how much will AI cost?” It’s “how much do we want to spend, and what do we get for that?” Answer that question first, and the costs take care of themselves.

In Practice: AI in the Enterprise | Day 47: The Decision Audit Trail Nobody’s Building (But Everyone Should)

When something goes wrong with an AI system, the first serious conversation is always the same.

Someone from compliance or legal asks: “Why was this decision made?”

And here’s what usually happens: nobody knows. There’s no record. Someone on the team vaguely remembers discussing it. There are emails somewhere, but they’re scattered. There’s a Slack channel that got archived. The person who made the decision left six months ago.

And now you’re in a room having a retroactive argument about whether the decision was reasonable, when nobody can actually remember what the reasoning was.

This happens because organizations don’t build decision audit trails. They build decision-making processes—governance boards, approval workflows, documentation templates—but they don’t track what was actually decided and why.

The difference matters.

Why This Matters

A decision audit trail is a record that says: “On this date, we decided to deploy this model. Here’s why we thought it was a good idea. Here’s what we were concerned about. Here’s what we decided to do about those concerns. Here’s who signed off. Here’s when we said we’d review this decision.”

That record is valuable for three reasons:

First, it’s legally defensive. If the model causes harm and someone asks “did you make a reasonable decision to deploy this,” you can point to the record and say “yes, here’s the reasoning, here’s the concerns we identified, here’s what we did about them.” That’s the beginning of a credible story. Without it, you’re arguing retroactively, and you’re at a disadvantage.

Second, it’s organizationally honest. A decision audit trail forces you to be explicit about trade-offs. You can’t just say “we decided to go ahead.” You have to say “we decided to go ahead because X was more important than Y, and here’s why.” That conversation is uncomfortable, which is why most organizations avoid it. But it’s where the real thinking happens.

Third, it’s operationally useful. When you’re reviewing a model six months later and something’s not working, a decision audit trail tells you what you were thinking about at the time. Maybe you were concerned about data drift—and you should have been, because now you’re seeing it. That tells you that your monitoring should have caught this, and it didn’t. That’s valuable information about what went wrong operationally.

What It Looks Like

A decision audit trail doesn’t need to be complicated. For a model deployment, it might look like this:

Decision: Deploy the demand forecast model to production for the northeast region.

Date: November 2024

Who: VP of Operations, Chief Data Officer, Finance Director

Rationale: The model improves forecast accuracy by 12% vs. the manual process, reducing inventory carrying costs. We project ROI of $2.3M annually with a payback period of 8 months. Production deployment is justified.

Key concerns raised: – Accuracy is good, but it’s not perfect. What if the model fails and we stock the wrong inventory? – We haven’t seen this model perform in all seasons. We have 18 months of data.

How we addressed concerns: – We’re deploying to one region first. If accuracy degrades, we can roll back without major impact. – We’re monitoring forecast accuracy weekly and will escalate if it drops below 85%. – We’re running a manual review process for orders above $1M, at least for the first 90 days.

Decision: Proceed with phased deployment.

Review schedule: 90 days (go/no-go decision), 6 months (full rollout decision)

That’s it. It’s specific. It shows that real thinking happened. It shows that someone considered the downside. It shows what you’re actually monitoring. If something goes wrong, it’s not “we made a reckless decision.” It’s “we made a decision with these safeguards and the safeguards didn’t work as expected.”

The second one is a defensible story. The first one is not.

The Missing Piece

Most organizations have governance processes that feel like they’re creating decision records. They have approval workflows. They have sign-off sheets. Someone’s responsible for documentation. But none of that actually creates a decision audit trail.

A decision audit trail requires capturing:

  1. What decision was being made
  2. Why it was a good idea (the business case)
  3. What could go wrong (the risks)
  4. How you’re going to detect if it’s going wrong (the monitoring)
  5. What you’ll do if it is going wrong (the contingency)
  6. Who owned the decision

Most organizations capture maybe two of these. Number 3 and 4 are usually missing.

And because they’re missing, you end up with a situation where you thought you were monitoring something, but you weren’t. Or you thought you had a contingency plan, but the plan depended on someone who’s no longer here.

How To Build It

If you don’t have decision audit trails, start with the consequential decisions.

Not every decision. You don’t need a decision audit trail for “which hyperparameter value should we use for this test.” You do need one for “should we deploy this model to production” and “should we increase our confidence threshold on this model” and “should we change the fairness criteria we’re using.”

The template can be simple. One page. Five minutes to fill out. The point is not to create bureaucracy. The point is to answer the question: “Why did we make that choice?”

And to answer it not retroactively, but at the time, when the thinking is fresh and the reasoning is real.

The Conversation You Need To Have

When you ask “do we have a decision audit trail for this,” and the answer is no, that’s information. It means you don’t actually know why you made the decision you made. You can construct a story now, but you’re probably wrong about some of it.

That’s worth fixing. Not because regulators will ask, though they might. But because when something goes wrong, the first thing you should be able to do is point to the decision record and say, “Here’s what we were thinking about. Here’s what we got wrong. Here’s what we should have been monitoring. Here’s what we’re doing about it now.”

That’s the conversation that leads to change. The conversation where you don’t know what you were thinking, and you’re constructing stories now—that’s the conversation that leads to friction and defensiveness.

Build the audit trail while the decision is fresh. It takes five minutes. And when something goes wrong, it’s the most valuable document you have.