On this page
- They built the differentiator, then rebuilt the platform five times
- Should you build or buy an AI agent platform?
- Which layers should you build yourself?
- Which layers should you standardize?
- Extend through declared interfaces, not escape hatches
- Owning a component isn't owning the relationships
- Does buying a platform mean lock-in?
- When does building your own platform make sense?
- Compare the portfolio, not the first application
- Common anti-patterns
- Ten rules for build vs buy
- The result: own the outcome, not every mechanism
- Frequently asked questions
- How Frozion standardizes the layers you shouldn't rebuild
- Sources
Don't decide build vs buy for the whole AI application. Build what differentiates you: domain logic, proprietary models, evaluation data and your own apps. Standardize what must be consistent across every agent: identity, policy enforcement, approvals, durable state and evidence. Extend the shared layer where business rules legitimately vary, through declared interfaces.
They built the differentiator, then rebuilt the platform five times
A financial-services firm develops a proprietary credit-risk capability. The domain model, decision logic, evaluation data and reviewer experience are real intellectual property. It's too important to hand to an opaque product, so the first team builds everything around it too: identity propagation, tenant scoping, schema validation, workflow state, model routing, policy adapters, approval records, retry logic, execution logs and cost tracking.
It ships, and it works.
Within eighteen months, four more teams build AI applications for claims, supplier onboarding, contract review and customer operations. Each reuses some code and rewrites the rest. Now there are five interpretations of approval expiry, tenant scope, retries, model fallback, evidence retention and versioning.
An auditor asks a simple question: which shared control stops a paused case from resuming after the requester's authority expires?
There isn't one. Five teams own five implementations, each reasonable, none authoritative.
Building the risk capability was the right call. Nobody decided to build and run five versions of governed execution. That responsibility came in through the side door, because build vs buy treated the application as one indivisible thing.
Should you build or buy an AI agent platform?
Neither, as a single decision. Build the parts that differentiate you, standardize the controls every agent needs, and extend the shared layer where your business rules legitimately vary.
The binary question hides that an AI application holds several kinds of responsibility with very different strategic value. A proprietary model can be a competitive advantage. So can a pricing rule or a customer experience. Those justify direct ownership.
Identity propagation, policy enforcement, approval binding, durable waits, retry reconciliation, lineage and cost attribution are different. You need them because the application is consequential, long-running, multi-tenant and changing. Their value comes from being consistent and provable everywhere, not from being different in every app.
The stakes are real. Gartner expects over 40% of agentic AI projects to be canceled by the end of 2027, citing escalating costs, unclear business value and inadequate risk controls. McKinsey's April 2026 research finds fewer than 10% of organizations have scaled agents to tangible value. Rebuilding the control layer per team feeds all three of Gartner's causes.
| Decision | Purpose | Typical layers |
|---|---|---|
| Own (build) | Differentiate, or keep control of unique knowledge | Domain logic, proprietary models, source-of-truth data, evaluation sets, risk appetite, your own apps and user experience |
| Extend | Fit shared mechanisms to your domain without a parallel authority | Schemas, connectors, policies, approval rules, evaluators, model adapters, reusable sub-workflows, custom steps |
| Standardize | Same semantics, evidence and lifecycle across every agent | Identity and delegation, tenant scope, contracts, durable state, versions, policy enforcement, approvals, side-effect control, evidence, replay, cost attribution |

Which layers should you build yourself?
Build what makes you different: domain logic, differentiating models, evaluation data, the business rules that embody how you compete, and the apps your users and customers touch.
Own a capability when its behavior creates strategic value, or when handing it off would give away control of the business proposition. That includes proprietary decision logic, domain-specific models, high-performance kernels, specialized data representations, evaluation assets and customer-facing experiences.
Ownership means more than keeping the source code. It means owning correctness, evaluation, security, lifecycle, staffing, incident response and compatibility with everything around it.
Be deliberate. A capability isn't differentiating just because you happened to write it first. A custom retry library rarely is. A custom underwriting model often is.
Which layers should you standardize?
Standardize identity, policy enforcement, approvals, durable state and evidence. Every agent needs them, inconsistency creates risk, and rebuilding them per team multiplies the cost of every audit and upgrade.
These layers aren't unimportant because they're not differentiating. They're what turns a differentiated capability into trustworthy enterprise behavior. Rebuilt per application, they create control duplication: several implementations of the same obligation, evolving at different speeds, each needing its own testing and evidence.
Standardizing doesn't have to mean buying one product. You can build an internal platform, adopt an external one, or combine them. The requirement is one governed contract and one accountable owner per obligation.
| Standardized layer | Why consistency matters | What you still own |
|---|---|---|
| Identity and delegation | Authority mustn't be lost or widened across queues, agents and tools | Identity sources, delegation rules, access policy |
| Policy enforcement | Decisions and obligations bind to the exact action | Policy content, thresholds, separation of duties |
| Approvals | The approval covers the exact proposal that runs | Who may approve, and when |
| Durable state and retries | Waits, resume and recovery behave the same everywhere | Business lifecycle, timeouts, exception owners |
| Side-effect control | Recovery never repeats or misdirects a real effect | Compensation authority, what counts as done |
| Evidence and replay | Every outcome is inspectable and reconstructable | Retention, access, what's sufficient for audit |
| Versions and publishing | Every case maps to one approved application version | Release policy, migration decisions |
| Cost attribution | Spend ties to governed outcomes | Budgets, provider policy, value method |
This is the same logic as shared ("common") controls in NIST's Risk Management Framework: implement once, inherit everywhere, assess once. (See AI agent identity and delegated authority for why the identity layer especially shouldn't be rebuilt per agent.)
Extend through declared interfaces, not escape hatches
A good platform doesn't force every application into one data model, policy, workflow, interface, model provider or deployment. You need extension points for domain schemas, policies, queries, connectors, sub-workflows, evaluators, custom code, model adapters, UI components and deployment targets.
But an extension must not become a way around the shared layer. A custom step that receives ambient credentials, writes straight to a database, causes side effects without an operation ID or emits no evidence is flexible, and makes the application ungovernable.
Code and platform don't compete. Teams will always need custom algorithms and integrations; a platform that can't accommodate them pushes teams to build around it, which is how the stitched stack starts. (See the hidden cost of a stitched AI stack.)
Owning a component isn't owning the relationships
A domain team owns the risk model. A data team owns features. IAM owns authentication. Security owns policy content. A platform team owns the runtime. None of that says who owns what they mean together.
The application still needs one authority for questions like: which proposal did the model produce, which policy evaluated it, what did the reviewer approve, which version resumed, and what effect actually committed? That's the cross-cutting layer's job. Write it down as a contract between the platform and application teams:
| Area | Platform guarantees | Application team provides |
|---|---|---|
| Application definition | Immutable publishing, pinned dependencies, version isolation | Domain workflow, release approval, migration choices |
| Contracts and extensions | Typed interfaces, compatibility checks, validation | Business meaning, extension conformance |
| Authority and policy | Propagation, enforcement, decision evidence | Identity attributes, policy content, risk rules |
| State and recovery | Durable state, waits, retries, reconciliation | Lifecycle, timeouts, compensation rules |
| Evidence and replay | Evidence capture, permission-aware inspection, side-effect-free replay | Retention, access, investigation policy |
| Operations and cost | Telemetry, cost attribution, deployment controls | Budgets, service levels, outcome value |
Does buying a platform mean lock-in?
It can, but the deepest lock-in is semantic, not technical. Insist that the application's meaning (definitions, contracts, policies, state and evidence) stays explicit and exportable, and that the platform runs where you choose.
Lock-in is usually discussed as dependence on proprietary APIs or hosting. Those matter. Harder to escape is meaning that exists only in generated code, hidden config, undocumented workflow state or proprietary logs.
Ask for:
- The complete application definition, not just generated code.
- Machine-readable schemas, mappings, identifiers and units.
- Custom code, models and tools that enter through contracts and can be rebound.
- Explicit durable-state formats, operation IDs and migration rules.
- Policies, decisions and authority context you can inspect and export.
- Evidence you can retain independently, with access controls.
- Cost records normalized and linked to cases and outcomes.
- Deployment in your own data center or cloud account.
Portability doesn't mean reducing the platform to the lowest common denominator. It means advanced behavior stays explicit enough to understand, test, migrate or deliberately keep.
When does building your own platform make sense?
When you have unusual scale, latency, deployment or regulatory needs nothing available meets, when the platform itself is strategic IP, or when you can staff it as a product for years.
An internal platform isn't done when the first runtime works. It's a product with users: roadmap, documentation, security, testing, upgrades, compatibility, support, incident response, capacity, migration tooling and deprecation. Without the staffing and product discipline to run that for years, the control you gain by building becomes a dependency on a small internal team.
Buying doesn't remove responsibility either. You still evaluate the platform's contract, supply chain, extension behavior, evidence, portability and change process. Responsibility moves; it doesn't disappear. And an internal build should meet the same contract, portability and evidence bar you'd demand of a vendor.
Compare the portfolio, not the first application
The first custom application looks cheap because it doesn't yet carry the cost of shared controls, documentation, migration, audit and operations. Five teams rebuilding the same controls tells a different story: duplicated development, security review, testing, evidence work, incident response and upgrades.
| Question | Signal |
|---|---|
| Does this behavior create real competitive or mission advantage? | Own it |
| Will several agents need the same control? | Standardize it |
| Must each domain express its own rules, schemas or evaluators? | Extend a shared mechanism |
| Would inconsistency create financial, legal, privacy or audit exposure? | Standardize enforcement and evidence; own the policy content |
| Does it need durable state, migration, replay and long-term evidence? | Use a managed platform capability |
| Does unique performance or deployment justify a special build? | Own the implementation behind a governed contract |
| Can you staff it for years? | If not, building is an illusion of control |
| Will rebuilding controls delay the differentiator? | Standardize and get to the differentiator |
Compare options on the full cost per valid, authorized, evidenced outcome across the portfolio, not lines of code, model calls, seats or licenses.

Common anti-patterns
| Anti-pattern | Why it fails | What to do instead |
|---|---|---|
| Build everything for control | Without long-term staffing, control becomes fragility | Own the differentiators; standardize recurring controls |
| Buy everything for speed | No platform owns your risk appetite or domain meaning | Keep domain logic, data, policy content and evaluation |
| Platform as code generator | Generated code becomes a second source of truth | Run from the published definition, traceably |
| Custom code bypasses governance | Extensions become a parallel authority | Declared interfaces with checks at publish and run time |
| Standardize the business decision | The platform starts owning judgment it can't understand | Standardize the mechanics; domain owners set the rules |
| Portability means file export | State, policy and evidence stay trapped | Require exportable definitions, state and evidence |
| One-off exception per app | The platform becomes a pile of special cases | Version exceptions and turn repeats into extensions |
| Measure adoption only | High usage hides costly, ungoverned outcomes | Measure control reuse, evidence completeness and cost per outcome |
Ten rules for build vs buy
- Decide per layer, not per application.
- Own what differentiates: domain logic, models, evaluation data and your apps.
- Standardize identity, policy, approvals, durable state and evidence.
- Extend through declared interfaces, never around the shared layer.
- Name an owner for every cross-component relationship.
- Write down what the platform guarantees and what teams provide.
- Keep a governed core without consolidating every component.
- Demand semantic portability, not just file export.
- Run an internal platform as a long-lived product, or don't build one.
- Compare options on cost per governed outcome across the portfolio.
The result: own the outcome, not every mechanism
The goal isn't to maximize internal code or minimize vendors. It's to put ownership where it creates value and standardization where inconsistency creates risk and recurring cost. A proprietary model stays proprietary. A unique workflow stays with its domain. Specialized stores and model providers stay replaceable.
What the application can't do without is one authority connecting those parts from intent to effect. Don't outsource your business meaning. And don't mistake rebuilding common control machinery for competitive advantage.
Frequently asked questions
Should we build or buy an AI agent platform?
Split the decision. Build the domain logic, models and experiences that differentiate you. Standardize the cross-cutting controls every agent needs (identity, policy, approvals, durable state, evidence) on one platform, whether you buy it, build it as an internal product, or combine both.
What's the hidden cost of building agent infrastructure ourselves?
Duplication. When each team builds its own identity handling, approvals, retries and logging, you end up with several inconsistent versions to secure, test, audit and upgrade. The first application looks cheap; the portfolio doesn't.
How do we avoid lock-in with an agent platform?
Require that the application's meaning stays explicit and exportable: schemas, mappings, workflow definitions, policies, state and evidence. File export alone isn't enough if policy, state and audit history stay trapped in the platform.
How does this work for agents we already run?
Keep the agents and route their tool calls through a governed runtime over MCP or HTTPS. Identity, policy, approvals, durable state and evidence then come from the shared layer, and each team keeps owning its agent's domain logic.
How Frozion standardizes the layers you shouldn't rebuild
Frozion is one runtime where agents, workflows and apps act, with identity, policy, approvals, durable state and evidence built in once. Start by governing the agents you already run: they connect over MCP or HTTPS, and any MCP server plugs in as a workflow step. Agent Delegation keeps each agent within the authority of the person it acts for, the HITL Inbox sends people just the decisions your rules select, and Durable Execution survives restarts. Your domain logic, models and App Builder apps stay yours. It runs in your data center or cloud account, customer-owned, with no lock-in.
Sources
- Gartner: over 40% of agentic AI projects will be canceled by end of 2027Escalating costs, unclear business value or inadequate risk controls.
- McKinsey, Building the foundations for agentic AI at scale (Apr 2026)Fewer than 10% have scaled agents to tangible value; a shared execution layer for rules and guardrails.
- NIST AI Risk Management FrameworkGovernance, roles and accountability across the AI lifecycle.
- NIST SP 800-37 Rev. 2, Risk Management FrameworkSystem-specific, hybrid and common (shared) controls.
- NIST SP 800-53 Rev. 5Acquisition, configuration, access, audit and supply-chain controls.
- NIST SP 800-160 Vol. 1 Rev. 1Systems engineering for trustworthy systems.
- NIST SP 800-218, Secure Software Development FrameworkPlatform ownership includes build, release and provenance.
- CISA Secure by DesignProducer ownership of customer security outcomes.
- NIST SP 800-207, Zero Trust ArchitectureAuthorization focused on users, resources and workflows.
- FinOps FOCUS specificationNormalized cost and usage data across providers.
More in Strategy & economics
Build vs buy 3
Cost & efficiency 3
Private & sovereign AI 2
Other topics



