Talk to us
Engineering4 min read

LangChain in the enterprise: what governance has to add

LangChain answers how agents are built. It deliberately does not answer who may run them, what they may touch, or who approved that. Enterprises need the second answer.

Written by

Key takeaways

  • LangChain and LangGraph are excellent at what they claim: building agents and orchestrating their execution. They are not, and do not claim to be, enterprise governance.
  • The gap is specific: identity that survives the framework, policy enforcement before tool calls, approvals that capture context, evidence that survives refactors, and stops the agent cannot bypass.
  • The integration pattern that works is wrapping, not forking: keep LangGraph for orchestration, put the governance layer around the runtime at the model and tool boundary.
  • Teams that try to build governance inside the framework rebuild a control plane piecemeal and own it forever. The framework should stay a framework.

What the framework actually gives you

Credit where it is due, because the enterprise relationship with LangChain starts from respect: LangChain standardized the building blocks (model bindings, tool abstractions, retrievers, memory), and LangGraph made multi-step, stateful agent execution explicit and inspectable — a graph you can see, checkpoint, and resume is a genuine engineering advance. Callback handlers give observability a standard surface. For a team building an agent, these are the right tools.

The gaps only appear when the question shifts from “how do we build this?” to “how does the institution run this?” — and they are gaps by design, not by neglect:

Identity is not a framework concept. The agent runs under whoever’s credentials initialized it. Nothing in the framework distinguishes one deployed agent from another at the infrastructure level, so attribution stops at the application boundary.

Tool calls are application decisions. The framework will call any tool the graph wires up. Whether that call should happen — this agent, this scope, this moment — is a policy question the framework has no authority to answer.

Approvals are interrupt points, not approval workflows. LangGraph’s interrupts and checkpoints are exactly the right primitive — pause the graph, wait, resume. But an approval needs a named human, the evidence they saw, their recorded reason, and separation from the person who built the agent. That is a workflow system, not a checkpoint.

Evidence lives in application callbacks. Callbacks fire inside the application process; the records they produce are as mutable and as fragile as the application. Tamper-evidence, retention policy, and export-to-SIEM are infrastructure concerns the application layer cannot enforce on itself.

Stops are code decisions. A max-iterations setting is a courtesy the agent’s own runtime extends to itself. The stop that matters — revoke the identity, refuse every call — must work when the code does not cooperate.

The integration pattern: wrap, don’t fork

The pattern that keeps both sides’ strengths: LangGraph runs the graph; the governance layer owns the boundary.

  • Identity in, grants attached. Each deployed agent registers in the control plane and receives its own identity. Its runtime initializes model and tool clients through the gateway, never direct.
  • The gateway is the policy point. Every model call and tool invocation passes the gateway, which verifies identity, evaluates policy, enforces budgets, gates consequential actions, and writes the evidence record — before execution.
  • LangGraph interrupts become gate callbacks. Where the graph declares a human-approval point, the gateway’s approval workflow fulfills it: the named reviewer, the evidence payload, the recorded decision. The graph’s checkpoint/resume machinery makes the pause natural; the control plane makes the approval real.
  • Version pinning at deploy. The manifest records which agent build, model versions, prompt versions and tool grants constitute “this agent” — so what runs in production is what was approved, and the run record replays against pinned versions.
  • The stop is upstream. Stopping means the gateway refuses everything for that identity. The graph’s own settings become a second layer, not the only one.

This is why Moring is framework-agnostic: the same gateway, registry, gates and evidence serve a LangGraph agent, a CrewAI crew, a Bedrock Agent, or a hand-rolled loop. The framework is the customer’s choice; the governance is the institution’s requirement.

When building it yourself makes sense — and when it doesn’t

Building governance inside your LangStack is defensible in exactly one case: governance-as-product is part of your business. Otherwise, cost the DIY honestly: identity propagation, a policy engine, an approval workflow with audit, tamper-evident storage with retention, drill-tested stops — each maintained across framework version churn, each with the failure modes discovered in production rather than in a vendor’s hardening history. The framework’s release pace, which is its strength for features, is a tax on anything you bolt into its runtime. Keep the framework for orchestration; buy the boundary.

Sources

Frequently asked questions

Does LangChain include enterprise governance?

LangChain and LangGraph provide callback-based observability and structural control over graph execution, but the enterprise decisions — who may deploy an agent, what it may access, which actions need human approval, what evidence each action leaves — sit outside the framework by design. Framework-level controls serve the developer; enterprise controls must serve the institution.

How do you govern LangGraph agents in production?

Wrap the runtime, don't rewrite it: per-agent identity issued from your IdP, a policy gateway between the agent and its models/tools that checks every call before execution, approval gates for consequential actions implemented as interrupt points the gateway enforces, and tamper-evident records captured at the gateway rather than in application callbacks.

Can we add governance ourselves on top of LangChain?

Partially, and it costs more than it looks: you will rebuild identity propagation, policy evaluation, approval workflow, evidence storage and stop mechanics — and own their maintenance as the framework evolves. The build makes sense only when governance is your product. For most enterprises it is a purchase, with the framework kept for what it is good at.

Architecture & Governance

Governing Autonomous AI Agents in Production

Moring provides the runtime control layer, identity verification, human-in-the-loop approvals, and audit records needed to deploy production-grade AI agents safely.

LangChainLangGraphAI agentsgovernanceenterpriseproduction

About the author

Balaji Nagaraj Kumar

Balaji Nagaraj KumarChief AI Officer, Moring AI, Moring AISweden

Leads platform and delivery engineering at Moring AI, turning each engagement into a substrate the customer’s own team operates at handoff. His background spans developer-platform leadership at Volvo Cars and engineering at CERN. He writes about governance for agents that take actions in production systems.

LinkedIn profile