Insight | Sep 11, 2026

Is AI-Written Code Safe to Ship to Your Store?
By Justin Emond
In almost every conversation we have about agentic development, this question comes up before anything about speed, cost, or capacity. Someone on the client's technical side asks whether AI-written code is safe to put in front of their customers.
It's the right question to ask first, and the honest answer is that it depends entirely on what happens between the moment code is generated and the moment it reaches production. The code itself is not the risk. The absence of a pipeline is.
So here is a direct walkthrough of what that pipeline looks like in practice, what each gate is actually catching, and what you should ask any partner who tells you they are doing this.
What Does "AI-Written Code" Mean in a Production Pipeline?
Worth being precise, because the term covers a wide range of things.
At one end, a developer uses an AI assistant for autocomplete and small function generation, reviews it inline, and commits it as their own work. Most engineering teams are already doing this, including teams that would tell you they aren't.
At the other end, which is what we mean by agentic development, autonomous agents pick up tickets from Jira, write the implementation, open pull requests, respond to feedback in Slack, run their own tests, and produce documentation. They operate as engineers on the team rather than as a tool a person is holding.
That second model is the one that raises legitimate concerns, and it should. An autonomous agent that can open a pull request without constraint is a real risk to a production codebase. The question is what constraints it operates inside.
What Stops an Agent From Pushing a Risky Change?
Four things, and they work as layers rather than as a single checkpoint.
Feature-branch isolation. Every change happens in a dedicated feature branch with traceability back to the requirement that produced it. Agents never work in protected branches. There is no path from generated code to main that does not pass through the same review process everything else passes through.
Blocking CI. Pull requests are automatically blocked when CI fails. This is not a warning that a reviewer can wave through. A failing build stops the change from moving.
Mandatory static security scanning. SAST runs before code can progress, and it is not optional or conditional on the size of the change. This catches the category of problem that human reviewers miss most reliably, which is injection risk and unsafe handling patterns buried in code that otherwise reads fine.
Least-privilege access. Agents operate with the minimum access needed for the task in front of them. Access discipline in integrations and connected systems limits the blast radius of anything that goes wrong.
None of these are novel. They are the controls a well-run engineering organization already applies to human-written code. The relevant point is that agentic development does not get an exemption from them.
Like every existing workflow unrelated to AI, good governance wins.
Who Reviews It, and Who Is Accountable?
A TAG lead developer reviews every pull request for architecture, security, and logic. Only humans can approve and merge. An agent cannot approve its own work, and it cannot approve another agent's work.
The accountability question matters more than the review question, and it is the one I would press any agency on. When something ships and causes a problem, who answers for it? On our engagements, a named lead developer owns every pull request that reaches production. That person reviewed it, approved it, and is accountable for it in exactly the way they would be if they had written every line themselves.
If a partner cannot name the human who owns a given change, the review gate is decorative.
One crucial element that is often lost in these discussions is that part of what Third and Grove has always sold to our clients is being responsible for the work that our team creates, and that includes mistakes. That doesn't change with our agentic development. We are still responsible for every line of code that comes out of Third and Grove, so the risk profile for brands isn't any different.
Is It Reviewed Differently Than Human-Written Code?
The gates are identical. The posture going in is not.
We treat AI output as untrusted until it passes validation, human review, and QA. That is a meaningful distinction from how most teams review a trusted colleague's pull request, where a certain amount of benefit of the doubt is reasonable and efficient.
In practice this means a reviewer reads generated code with a different set of questions. Does this solve the requirement, or does it solve something adjacent that happens to pass the tests? Are the edge cases handled or merely avoided? Does this introduce a pattern that conflicts with how the rest of the codebase is structured?
Those are the failure modes worth watching for. Generated code is rarely wrong in obvious ways, because obvious wrongness fails CI. It is more often subtly misaligned with intent, and that is a review problem rather than a tooling problem.
There is also an independent QA gate. A tester who was not involved in generating or reviewing the work validates it against acceptance criteria before it reaches staging or UAT. Separating the person who validates from the people who produced the work removes the most common source of missed defects, which is familiarity with what the code was supposed to do.
What Happens to Your Data?
Two questions live inside this one, and they have different answers.
On training: we do not train anyone else's model with your data. Your data stays private, in environments where our team operates in compliance with data privacy regulations and with client IT requirements, including the strict ones.
On exposure during development: the process is built to avoid putting sensitive data where it does not belong. Least-privilege access limits what any agent can reach. Data handling discipline governs what moves between systems during a task.
If you have specific compliance obligations, and enterprise ecommerce brands usually do, this is worth working through in detail rather than accepting a general assurance. We would rather map your requirements against our process explicitly at the start of an engagement than discover a conflict later.
Will This Make Our Site Feel Generic?
This concern comes up often enough that it deserves a direct answer, even though it is a design question rather than a security one.
Agentic development accelerates implementation. It does not originate the requirements, the architecture, or the interaction design. Those come from people, and they are where the quality of a site is actually determined.
A vague requirement produces mediocre output whether a human or an agent implements it. A well-specified requirement backed by real design work produces good output either way. The difference in the result traces back to the specification, not to what executed it.
Where Is Agentic Development a Poor Fit?
Worth saying plainly, because a partner who claims this works everywhere is telling you something about their judgment.
- Architecture decisions. Choosing how systems relate to each other has consequences that outlast any individual ticket. That is a senior engineering judgment call.
- Work with unclear acceptance criteria. Our process starts by scoping tasks into defined inputs, acceptance criteria, and measurable outcomes. When a task resists that definition, it is a signal that the work needs human framing before it needs execution. Our engineers determine which tasks are appropriate for agentic execution and which are not. That triage is part of the engagement, and it is one of the more valuable parts.
An important distinction across these two items is that ambiguous requirements or unclear acceptance criteria aren't a good fit for agentic development, but they're not a good fit for human development either. With a really solid plan and really great judgment from an experienced technical leader, every single development task is a good fit for AI agentic development.
What Should You Ask a Partner Doing This?
If you are evaluating an agency that says it uses AI in delivery, these questions will tell you quickly whether there is a real process behind the claim.
Can you walk me through what happens between code generation and production, gate by gate? A partner with a real pipeline will describe it in specifics. A vague answer about oversight is the answer.
Can an agent merge to a protected branch? The answer should be no, without qualification.
Who approves pull requests, and can you name the person who would own changes on our account? Look for a named role and a named human.
Does your CI block on failure, and is security scanning mandatory or conditional? Conditional scanning is not scanning.
Who validates against acceptance criteria, and were they involved in producing the work? Independence here matters more than people expect.
Where would you tell us not to use this? A partner who cannot answer has not thought about it, or is not being straight with you.
The Short Version
AI-written code is as safe as the pipeline it moves through. Containment, blocking automated gates, mandatory human review with named accountability, and independent QA are what make it usable in production. Remove any one of those and the risk profile changes significantly.
The teams getting this wrong are not the ones using AI in delivery. They are the ones using it without the gates, and the failure will not look like a dramatic incident. It will look like accumulated small problems in a codebase nobody fully reviewed.
If you want to walk through how this would apply to your specific stack and compliance requirements, we're glad to have that conversation in detail rather than in generalities.
Drop us a line
Have a project in mind?
Contacting Third and Grove may cause awesomeness. Side effects include a website too good to ignore. Proceed at your own risk.


