Risk assessment
Before an AI feature ships, we assess what it can affect โ read-only suggestions carry a very different risk profile to anything that can touch production infrastructure, and we design review gates accordingly.
Model evaluation
We evaluate models against real tasks from our own platform (infrastructure generation, code review, deployment assistance) before adopting them, rather than relying solely on general-purpose benchmarks.
Hallucination mitigation
AI-generated infrastructure and code is validated against real tooling โ terraform validate/plan, test suites, linters โ rather than trusted at face value. A hallucinated resource type or a non-existent API fails validation before it fails in production.
Security validation
AI-generated changes pass through the same security scanning as human-written changes: secret scanning, dependency scanning, static analysis.
Infrastructure testing
Where modules support it, AI-assisted infrastructure changes run through automated tests (for example, Terraform's native test framework) before merge.
Continuous monitoring
AI-assisted deployments are observed through the same monitoring stack as everything else โ logs, metrics and traces โ so a problem introduced by an AI-assisted change is visible the same way any other regression would be.
Incident response
If an AI-assisted change causes an incident, it's handled through our normal incident response process โ root-caused, fixed, and reviewed for what should change in the workflow that produced it.
Feedback loops
Outcomes from AI-assisted changes โ accepted, rejected, rolled back โ feed back into how we tune prompts, guardrails and which tasks we trust AI with by default.
Risk matrix
| Risk area | Likelihood | Impact | Primary mitigation |
|---|---|---|---|
| Hallucinated infrastructure resource | Medium | Medium | terraform validate/plan before apply |
| Overly-broad IAM suggestion | Medium | High | Least-privilege scoping + human review |
| Incorrect code logic | Medium | Medium | Test suites, code review |
| Prompt injection via external data | Low | Medium | Input treated as untrusted, no direct command construction |
| Unauthorised production action | Low | High | Human approval gate, no AI-held prod credentials |