Guardrails AI vs LlamaFirewall: when each one fits
A team putting an LLM app or agent into production and choosing its first runtime guardrail usually faces two shapes of control. Guardrails AI fits when the checks belong inside application code: input and output guards built from validators published on Guardrails Hub are chained together, and structured output is generated to match Pydantic models. Its README also describes running as a standalone Flask REST service started with guardrails start and called through the OpenAI SDK, which suits a shared check that several services need to reach over HTTP. LlamaFirewall fits when the priority is layered scanning across a chat model and an agent: PromptGuard 2 for direct prompt injection, AlignmentCheck for auditing agent reasoning, CodeShield for insecure generated code, and regex or custom scanners for the rest. It is a Python framework rather than a service endpoint, so it sits in the agent's execution path.
Three questions should settle the choice before any tooling work starts. First, where must the controls run? If enforcement has to sit at a network boundary or in front of many clients, a REST service or a gateway-style deployment matters more than library features. If the checks can live in the application process, the library model is simpler to test. Second, do your agents make tool calls? LlamaFirewall's AlignmentCheck targets agent reasoning, while a validator-based setup covers the text going in and out of the model but does not audit an agent's plan. Confirm which of these coverage points your architecture actually needs, and test them with your own tool-call traces. Third, can you accept an external API key and model downloads? The LlamaFirewall README states that AlignmentCheck requires a Together API key, and the PromptGuard 2 models are gated under Meta's license terms, so model access and key management belong in the security review, not after deployment.
Many teams end up running both, and the split is usually clean: Guardrails AI validates structure and content at the application boundary, while LlamaFirewall screens prompts and agent actions before tools execute. Running both adds two dependency trees, two sets of model licenses and two places where a failure can silently pass traffic, so the plan should name an owner for each control and a test that proves a known injection is stopped by the component you expect. Before committing, check the current release notes on the Guardrails AI GitHub releases page and the LlamaFirewall README, because both projects are actively changing.
Which platform fits which scenario
This table maps common team scenarios to the platform that fits better, with the reason and the condition that would flip the answer. Read each row as a starting point: the fit depends on whether you need schema-bound output, agent-level coverage, or both. Most teams with a fixed schema and a Python service layer will start with Guardrails AI, while teams running tool-using agents or code generation should weigh LlamaFirewall's coverage more heavily.
| Scenario | Better fit | Reason and when the answer flips |
|---|---|---|
| Chatbot with a fixed output schema | Guardrails AI | Generates structured output that matches Pydantic models using function calling or prompt optimization. Flips if the main risk is direct prompt injection rather than output shape, since PromptGuard 2 in LlamaFirewall targets that. |
| Tool-using agent that takes actions | LlamaFirewall | Includes AlignmentCheck for auditing agent reasoning, which Guardrails AI does not cover from the supplied facts. Confirm AlignmentCheck's Together API key requirement against your data residency rules before choosing it. |
| Code generation assistant | LlamaFirewall | CodeShield statically analyzes LLM-generated code in 8 languages using Semgrep and regex rules. Flips if your generated code is never executed or reviewed by a scanner you already run in CI, or if you need custom validators beyond the Hub. |
| Regulated customer-facing app with audit needs | Depends on the control to evidence | Guardrails AI validators are configurable and logged in your own service, while LlamaFirewall adds model downloads under Llama Community Licenses to review. Ask legal and compliance to confirm license terms for each model before deployment. |
| Team already running a Python service layer | Guardrails AI | Installs as a library with validators from Guardrails Hub, or runs as a standalone Flask service via guardrails start. Flips if your agents need the LlamaFirewall pipeline, which ships demos for OpenAI Agents and LangChain. |
| Need for custom validators and Hub contributions | Guardrails AI | The README describes writing custom validators and contributing them to Guardrails Hub. LlamaFirewall offers regex or custom scanners within its pipeline, so confirm the extension path matches your team's review process. |
| Air-gapped or restricted egress network | Confirm before choosing | Both need model artifacts and dependencies staged internally. LlamaFirewall's AlignmentCheck depends on an external API key, so confirm whether that scanner can run in your environment or must be disabled. |
| Need for both prompt injection and output validation | Run both | Layering LlamaFirewall's scanners on inputs and agent actions with Guardrails AI validators on outputs covers different failure points. Costs rise with two dependency stacks and two sets of model licenses to track. |
How each platform is built and deployed
Guardrails AI and LlamaFirewall both sit between your application and a model, but they place their checks in different places. The cards below separate what runs inside your application process, what runs as a separate service, and which model downloads each scanner needs, so you can plan upgrades, monitoring and scaling for each piece.
Guardrails AI library and Hub validators
The core library runs in your application process. You install it with pip, then install each validator from Guardrails Hub separately, and chain them into input and output guards. Validators that load models run in the same process as your app, so their memory use and dependency versions land in your application image. Upgrades mean testing the library and every validator version together. Confirm with the vendor how each Hub validator loads its models and what it needs at startup before you size containers.
Guardrails Flask REST service
Guardrails AI can also run as a standalone Flask REST service, started with the guardrails start command, and your application calls it through the OpenAI SDK. The guards then execute in a separate process from your application, so you can upgrade and restart the guard service without redeploying the app. Monitoring moves to that service, and you need to decide how it is scaled and which network path your application uses to reach it. Ask the vendor which production server and worker model it supports.
LlamaFirewall scanner pipeline
LlamaFirewall is installed with pip install llamafirewall and runs as a library in your Python process, with a Python 3.10 or later requirement. It layers scanners across chat models and agents, so one pipeline covers direct prompt injection, agent reasoning audits, generated code and custom regex rules. Because it is a library, its upgrades follow your application's release cycle. Check which scanners are enabled in each agent path, since coverage depends on the configuration you ship.
PromptGuard 2 model download
PromptGuard 2 is a classifier model that LlamaFirewall uses for direct prompt injection. It ships in 86M and 22M parameter versions and has a 512-token context window. The model weights are a separate download under the Llama Community License, so your image build, model storage and license review all need to account for them. The 22M version is described as the lower-latency option. Confirm which size your traffic profile needs and where the weights will be cached in your environment.
CodeShield and its static analysis
CodeShield statically analyzes LLM-generated code in 8 languages using Semgrep and regex rules. It runs in the same pipeline as the other scanners, so it adds analysis work to each response that contains code. Semgrep and its rule sets are operational dependencies you must install, pin and update in your environment. Confirm which rule sets ship with your LlamaFirewall version and how often they change, because your scanning results depend on them.
AlignmentCheck external dependency
AlignmentCheck audits agent reasoning and requires a Together API key. That makes it the one LlamaFirewall component with a call to an outside service, so your data path, egress rules and vendor review must cover it. Plan for the key's lifecycle, the failure behavior when that service is unreachable and the cost of each call, which you should request from the provider. Decide whether agent traffic can leave your network at all before you enable this scanner.
Side-by-side capability comparison
This table compares Guardrails AI and LlamaFirewall on license, release, coverage, structured output, service mode and Python requirements. Where the supplied facts do not establish a capability, the cell tells you what to confirm with the project before you commit to a design.
| Capability | Guardrails AI | LlamaFirewall |
|---|---|---|
| License | Apache-2.0 | MIT |
| Maintainer and latest supplied release | Guardrails AI project; v0.11.0 published August 14, 2026 | Meta's Purple Llama project; version 1.0.3 is the latest on PyPI |
| Validator or scanner ecosystem | Validators installed from Guardrails Hub and chained into guards; custom validators can be contributed to the Hub | Fixed set of scanners: PromptGuard 2, AlignmentCheck, CodeShield, plus regex or custom scanners |
| Prompt injection coverage | Available only if a suitable Hub validator is installed; confirm which injection validators fit your traffic | PromptGuard 2 scans direct prompt injection and jailbreak attempts |
| Agent action coverage | Not established by the supplied facts; confirm with the project how guards apply to tool calls | AlignmentCheck audits agent reasoning; confirm which agent frameworks it covers beyond the published demos |
| Insecure generated code coverage | Not established by the supplied facts; confirm whether a Hub validator checks generated code | CodeShield statically analyzes generated code in 8 languages using Semgrep and regex rules |
| Structured output from Pydantic models | Yes, using function calling or prompt optimization | Not applicable |
| REST service mode | Yes, a standalone Flask service started with guardrails start and called through the OpenAI SDK | Not established by the supplied facts; confirm whether a service mode exists |
| Custom validators or scanners | Yes, custom validators can be written and contributed to Guardrails Hub | Yes, regex and custom scanners are supported |
| Python version requirement | Not stated in the supplied facts; confirm in the installation docs | Python 3.10 or later |
Licenses, model terms and what each one costs in license terms
Guardrails AI is licensed under Apache-2.0, which covers the framework code you install from the project repository. The release history matters for planning: v0.10.0 was published on April 3, 2026, v0.10.2 on June 4, 2026 and v0.11.0 on August 14, 2026. The validators form a separate layer. Guardrails Hub validators are installed individually after the core package, and each one can carry its own license and dependencies, so your license review has to cover every validator you install.
- Core library: Apache-2.0 permits commercial use under its notice and attribution conditions. Confirm with counsel what notices your distribution must include.
- Hub validators: Each validator is installed separately and may have its own terms. Inventory every validator in your dependency files and record its license beside its version.
- Custom validators: Validators you write remain under the terms you choose. Review contribution terms before you publish anything to Guardrails Hub.
- Telemetry: The Guardrails AI quickstart notes that guardrails configure asks whether to enable anonymous metrics reporting. Set that choice deliberately and document it for privacy reviewers.
- Version pinning: Pin the release you validated, and schedule a license re-check each time you upgrade, including to v0.11.0.
Before shipping, check the license of every Hub validator in your lock file and confirm the telemetry setting in the production configuration.
LlamaFirewall is an MIT-licensed framework that layers scanners for direct prompt injection, agent reasoning, generated code and custom rules. The framework license is the simpler part of the review. The scanners that depend on model weights, PromptGuard 2 in particular, are published under the Llama 4 Community License according to the LICENSE files in the PurpleLlama repository, and AlignmentCheck needs a Together API key. Version 1.0.3 is the latest release on PyPI.
- Framework code: The LlamaFirewall package is MIT-licensed. CodeShield is also listed under MIT in the Purple Llama license table.
- PromptGuard 2 weights: The weights ship under the Llama 4 Community License, so read its attribution and acceptable use obligations with counsel. The Prompt Guard 2 model card is the starting point for the model-specific terms.
- License version mismatch: The Purple Llama license table cites the Llama 3.2 Community License as an example for Prompt Guard, so confirm which terms apply to the exact model file you download.
- AlignmentCheck: This scanner requires a Together API key, which means the Together service terms govern the data sent for agent reasoning checks. Verify those terms before enabling it.
- Runtime requirement: LlamaFirewall needs Python 3.10 or later. That is a technical constraint, not a license term, but record it in your bill of materials.
Before shipping, obtain the model license text from the same source as the weights and get a written view on whether its acceptable use policy fits your product.
Beyond the libraries, both stacks can depend on model files and external services at runtime. Those dependencies carry their own terms, data handling and availability, and they often appear in the architecture after the initial license review is complete. List each one as a separate line in your third-party register so it gets its own review.
- Model downloads: Prompt Guard 2 is published in 86M and 22M parameter versions, so the model you choose changes the license file, the hardware profile and the review scope. Record the exact variant.
- Hosted services: AlignmentCheck sends agent reasoning to a third-party API. Confirm the provider's retention, region and subprocessor terms before any production traffic is routed through it.
- Hub validator calls: Some validators may call an external model or API at runtime. Check each validator's documentation and confirm locally whether it makes outbound calls.
- Recurring costs: Open-source licenses carry no fee, but model hosting capacity and any per-call API charges recur. Ask any implementation partner to list these as separate items in a written quote.
- Data flows: Document every outbound call, including the optional telemetry in Guardrails AI, so your privacy and security reviewers can approve the design.
Before approving the design, ask each provider for its data processing terms and confirm in writing which calls leave your environment.
Which risks each one blocks and how agents are covered
Start with the risk each stack is built to catch. Guardrails AI guards are assembled from Guardrails Hub validators, such as regex matching and toxicity detection, which you install separately and chain together on inputs and outputs. That covers content and format checks you can express as rules or classifiers, and you can extend it with custom validators for patterns your organization defines. LlamaFirewall targets a narrower set of threats with specialized scanners: PromptGuard 2 for direct prompt injection, AlignmentCheck for auditing an agent's reasoning, CodeShield for insecure generated code in 8 languages, and regex or custom scanners. Neither stack is a complete defense, so map each control to the risks your application actually carries before deciding which one blocks them.
Agent coverage is where the two designs differ most. LlamaFirewall was built for chat models and agents, and its published demos cover OpenAI Agents and LangChain, so an agent loop can pass its reasoning through AlignmentCheck. That scanner requires a Together API key, which adds an external service to your data path and needs sign-off from your privacy and security reviewers. Guardrails AI's README describes input and output guards and structured output, but the supplied material does not establish that its validators inspect tool call arguments or multi-step traces. Confirm that with a test in your own environment before you rely on it for agent workflows.
The supplied facts stop at several points, and each one is a test to run yourself. PromptGuard 2 has a 512-token context window, so long retrieved documents or chat histories may need chunking or a different check. Confirm how each stack handles multi-turn sessions, what happens when the AlignmentCheck call to Together fails, and whether a blocked agent step halts the loop or only writes a log entry. Neither source gives detection or false-positive rates, so measure both on your own traffic. Run a prompt injection test set through a staging agent with each configuration, then record which tool calls still reach external systems.
What drives the running cost of each stack
The largest cost in both stacks is usually engineering time, and most of it is one-time. With Guardrails AI, a team installs the library, installs the validators it chooses from Guardrails Hub, chains them into guards and wires those guards into the request path or into a standalone service started with guardrails start. With LlamaFirewall, the work is installing llamafirewall, selecting which scanners (PromptGuard 2, AlignmentCheck, CodeShield, or regex and custom scanners) apply to each chat or agent flow, and adapting the demo code for OpenAI Agents or LangChain to the production stack. Ask any integrator for a written breakdown of these tasks, the number of flows in scope and the agent frameworks involved, because each one multiplies the wiring effort.
Recurring costs differ by stack. A Guardrails AI service adds hosting for the Flask REST process, logs, and capacity for the validators that run models on every request, and it recurs with traffic. LlamaFirewall's scanner models, including PromptGuard 2 in its 86M or 22M versions, must be downloaded, stored and hosted on your own infrastructure, and the 22M version was described by its model card as cutting latency and compute costs by 75% with minimal performance trade-offs, so model size is a real cost lever. AlignmentCheck requires a Together API key, so every agent check that calls it carries an external usage charge that you should model against expected message volume before choosing it. Maintenance recurs in both: libraries such as guardrails-ai (v0.11.0 on August 14, 2026) and llamafirewall (version 1.0.3 on PyPI) release new versions, and each upgrade needs regression tests. Confirm with the vendor how often each one changes, and budget for that testing in any retainer.
The cost that most often surprises teams is tuning false positives, which requires people who understand both the attack patterns and the application's normal traffic. Blocking too much generates support tickets and lost sales, while blocking too little defeats the control, so someone must review logged decisions and adjust thresholds, validator settings or scanner choices for each use case. Ask any quote to name who performs that tuning, how many review cycles are included, and whether test traffic and labeled examples come from your environment. Finally, request the licensing position for any model you download, because LlamaFirewall's models ship under the Llama 4 Community License Agreement, which may carry obligations that your legal team should review.
Moving from one stack to the other without a rewrite
This sequence moves checks from Guardrails AI to LlamaFirewall, or back, in controlled steps. Each step produces evidence that the new path blocks what the old path blocked, so the cutover can be reviewed and reversed before the old path is removed.
Inventory current checks and thresholds
The platform or security engineer lists every guard, validator, regex rule, threshold, failure action and log destination in the current application. Include Guardrails Hub validators, custom validator code, Pydantic output models and any agent or tool-call checks. The step closes when the inventory is reviewed by the security owner and every entry names its route, its owner and the action taken on a failed check.
Map each check to an equivalent control
The same engineer maps each inventory row to a control in the target stack. Regex rules and simple pattern checks usually carry over directly. Prompt injection checks map to LlamaFirewall's PromptGuard 2 scanner, and generated-code checks map to CodeShield. Agent reasoning audits have no direct Guardrails AI counterpart, and AlignmentCheck needs a Together API key, so record it as a decision. The step closes when every row has an equivalent or a documented gap.
Rebuild wiring, scanners and keys
The platform team rebuilds the parts that do not transfer. This covers guard wiring in the application, scanner configuration, agent hooks, and model and key management. For LlamaFirewall, plan how Prompt Guard 2 weights are obtained and stored under the Llama 4 Community License, and how any API key is issued and rotated. Confirm license terms with counsel before copying weights into air-gapped networks. The step closes when the new stack starts in a test environment with all configuration held in version control.
Run both stacks in shadow mode
The team replays recorded traffic through both stacks at the same time. The new stack logs its verdicts but does not block anything, while the production path keeps its current behavior. Scrub recorded prompts and responses for personal or regulated data before replay and limit who can read the logs. The step closes when both verdict logs exist for the same request identifiers, so the two stacks can be compared line by line.
Compare blocked results and resolve differences
The security owner reviews every request where the two stacks disagree, separating false positives from misses. Thresholds are adjusted in the new stack until disagreements are either removed or accepted as known differences. Each accepted difference gets a written decision and an owner. The step closes when every disagreement has a recorded decision and the security owner signs off on the new configuration.
Cut over one route at a time
The team moves one route at a time, starting with the route that carries the lowest risk. Each cutover keeps a switch that returns traffic to the old path without a redeploy. Monitor blocked-request rates and logs after each change before moving the next route. The step closes when each route runs on the new stack, has a tested rollback switch, and its logs show the same audit fields as before.
Retire the old path
Once no route uses the old stack, the team removes its validators and dependencies, pins the new versions, and archives the old configuration. Keep the test cases and recorded traffic sets, since they still apply to the new stack. Update the runbook so on-call engineers know where checks now live. The step closes when the old stack has no traffic, its configuration is archived, and the runbook is approved.
What implementing each involves and where projects run long
Guardrails AI starts with pip install guardrails-ai, then each validator is installed separately from Guardrails Hub and chained into a guard. Plan the validator list first, because each one is its own dependency to pin and test. Running guardrails configure asks whether to enable anonymous metrics reporting, so make that answer a recorded decision for your environment. Custom validators are Python code your team will own, test and maintain, and contributing one to Hub is optional. If you expose the guard as a service with guardrails start, confirm the Python version and validator dependencies in the container image, and confirm that the OpenAI SDK clients calling it are pointed at your internal endpoint.
LlamaFirewall installs with pip install llamafirewall and requires Python 3.10 or later. Configure scanners by role: PromptGuard 2 on user and tool input, AlignmentCheck on agent reasoning, CodeShield on generated code, and regex or custom scanners for your own rules. The LlamaFirewall README lists the demos for OpenAI Agents and LangChain, which are the fastest way to see how scanners attach to an agent loop. AlignmentCheck needs a Together API key, so settle who owns that key, where it is stored and whether the data sent to that service is approved before go-live. Prompt Guard 2 and Llama Guard 4 weights are governed by the Llama 4 Community License, so someone must accept and record those terms for every environment, including air-gapped ones.
Projects usually run long in three places. The first is false positive tuning: a validator or classifier that blocks legitimate traffic needs repeated test rounds against real user phrasing, and each threshold change must be retested against the attack set. The second is agent tool schemas: AlignmentCheck and the scanners only see what the agent passes along, so each tool's arguments must be mapped and tested before the scope is trusted. The third is license and key approval, where model terms and a third-party API key can stall a launch long after the code is ready. Test both stacks against adversarial inputs drawn from your own threat list. A fixed-scope engagement bounds this work by naming in writing the validators, scanners, agent flows, test set and tuning cycles, and by assigning who obtains each license acceptance and API key. Ask any partner to list what is excluded.
Questions buyers ask before choosing or hiring help
How much effort does each stack take to run?
Guardrails AI is a Python library you install with pip, then extend with validators from Guardrails Hub, so most ongoing work tends to sit in your application code and validator choices. LlamaFirewall also installs with pip on Python 3.10 or later, but it adds scanner models that need inference capacity, model downloads and access to a hosted API if you enable AlignmentCheck. Effort depends on how many layers you run and where they execute. Guardrails AI published v0.11.0 on August 14, 2026, and LlamaFirewall's latest PyPI release is 1.0.3, so plan for regular upgrades on both. Ask any provider for a written inventory of models, hosts, keys, monitoring and upgrade steps before accepting an estimate.
Can one team implement this alone?
One platform or security engineer can prototype either stack, but a production rollout usually needs application developers, a security reviewer and whoever owns model hosting. Guardrails AI fits a team that already controls its LLM application code, because validators wrap calls the team owns. LlamaFirewall adds a scanning layer around chat and agent flows, so it needs agreement from the teams that own those flows. DeployOpen plans, implements and hardens self-hosted open-source platforms inside the client's own infrastructure, and most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. Ask for the roles the provider expects from your side.
How long does a first deployment take and what drives it?
No supplied figure gives a typical duration for this pairing, so ask for a timeline in the written scope rather than relying on general estimates. The main drivers are the number of validators or scanners you enable, whether you write custom validators, and where the stack runs. Air-gapped networks add time for approved model downloads and offline dependency mirrors. Enabling AlignmentCheck adds time for key procurement and a data-sharing review. Other drivers include integration with your CI pipeline, evaluation datasets used to tune thresholds, and sign-off from compliance and security reviewers. A quote should list each of these as a separate line item with an owner.
What do our engineers and security staff need to provide?
Engineers need a Python environment that meets each library's requirements, access to the LLM application they want to guard, and a test harness that exercises real prompts and tool calls. Security staff need to decide which findings block a request, which only log, and who reviews exceptions. For LlamaFirewall, someone must also handle the license terms for the Llama models it uses and the key for AlignmentCheck. For Guardrails AI, someone should review the license and maintenance status of each Hub validator before it reaches production. DeployOpen can prepare systems, controls and evidence for compliance assessments, but it does not issue audit reports or certifications.
Should we run Guardrails AI and LlamaFirewall together?
Running both is reasonable when you need typed, validated output and also scanning for prompt injection, agent alignment or insecure generated code. Guardrails AI covers validators such as regex matching and toxicity detection, plus Pydantic-based structured output. LlamaFirewall covers direct prompt injection, agent reasoning audits and code scanning. The cost is two dependency trees, two sets of thresholds to tune and two upgrade cycles. If you prefer a single entry point, Guardrails AI can run as a standalone Flask service started with guardrails start and called through the OpenAI SDK, which keeps validation outside the application process. Test both configurations for latency and failure behavior before you commit.
Which one fits agent workloads better?
LlamaFirewall is designed to cover agents more directly, because its AlignmentCheck scanner audits agent reasoning and the project ships demos for OpenAI Agents and LangChain. Guardrails AI validates inputs, outputs and structured data, so it covers agent steps only where you attach validators to the boundaries you control, such as tool arguments and final responses. If your agents take actions with side effects, such as sending messages or changing records, AlignmentCheck addresses a gap that schema validation does not. If your main need is reliable structured output from agent steps, Guardrails AI fits well. Confirm framework support for your specific agent runtime before you decide.
Does AlignmentCheck introduce a data-sharing decision?
Yes. The LlamaFirewall README states that AlignmentCheck requires a Together API key, which means scanning relies on an external hosted service that you must approve before enabling it. Decide whether agent transcripts, tool outputs and user data can leave your environment, and document that decision with your security and privacy owners. Ask the provider and Together to confirm in writing what data is sent, how long it is retained and where it is processed. If the answer is unacceptable, you can run the locally hosted scanners, such as PromptGuard 2 and CodeShield, and cover agent reasoning through other controls. Record the choice in your architecture review.
How DeployOpen helps choose, implement or migrate
DeployOpen plans, implements, customizes and hardens self-hosted open-source platforms inside your own infrastructure. For Guardrails AI vs LlamaFirewall, we start by mapping which risks your application must block, whether agents are in scope, and where each tool would run.
How we scope
- We confirm which risks the guardrails must block, such as prompt injection, insecure generated code or agent actions.
- We document which chat, agent and structured output paths need coverage before any build work begins.
- Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
How we build
- We install and configure the chosen tools in your cloud accounts, data centers or air-gapped networks.
- We check model download sources, license terms and Python version requirements against your approved software list.
- We test the guardrails against your own adversarial inputs and document the results, including gaps that remain.
How we hand over
- We deliver configuration, validator or scanner settings, test cases and runbooks written for your engineering team.
- We document the decision record, covering why each tool was chosen and what it does not cover.
- We walk your team through operating, updating and extending the guardrail setup before handover closes.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers after handover.
- We track upstream release changes for the tools in your setup and plan upgrades with your team.
- Ask any provider to confirm in writing which versions, model files and license terms the quote covers.

