Security drift is architectural drift
When a service crosses a boundary it was not supposed to cross, that is an architectural violation. It is also a security violation — because the boundary existed to enforce a security constraint. The two problems are not two problems. They are one problem seen through two lenses.
When an API surface expands past its declared contract, that is architectural drift. It is also an attack surface expansion. When a caching pattern bypasses a circuit breaker, that is a structural deviation. It is also a controls gap. Security and architecture are not separate disciplines that need to be coordinated. Security is a property of the architecture. It degrades when the architecture drifts.
The consequence: organizations that track architectural drift and organizations that track security posture are tracking the same thing under different names, with different tools that never talk to each other, and with a gap between them where violations accumulate silently.
The toolchain scans the wrong layer
SAST evaluates code implementation after the architectural decision has been made. DAST finds what is exposed after the service is deployed. Pen testing finds what shipped months ago. These tools are not wrong — they are looking at the right things at the wrong point in the timeline.
The decision about how a service authenticates, how data flows between components, what is exposed across a boundary — that decision happens in a pull request. It is an architectural decision. It is also a security decision. And no tool in your current pipeline evaluates it against your security design intent at the moment it is made.
When AI agents make these decisions — extending API surfaces, introducing data handling patterns, wiring new service dependencies — they are making security decisions with no awareness of the security constraints they must respect. The policy document exists. The constraint is documented. The agent has no access to it, and no gate in the pipeline requires the constraint to be checked.
No silent sweep
Security architectural debt is not backlog debt. It is not a wiki item tagged for the next sprint. It is not something that surfaces in a retrospective.
It surfaces in a pen test. In a SOC 2 audit finding. In a production incident traced back to an architectural decision made six sprints ago that nobody flagged because no mechanism existed to flag it. By then, the causal chain is long, the decision is buried, and the remediation requires rearchitecting rather than reverting.
Security violations at the architectural level belong at the PR gate — surfaced, recorded, decided by a named person with a timestamp — not quietly absorbed into a system that accumulates risk invisibly until the next audit or incident.
The adverse outcomes, stated plainly
An AI agent extends a service's API surface in a way that contradicts your zero-trust boundary policy. Syntactically correct. Tests pass. PR merges. A security audit finds it six weeks later. Remediation requires rearchitecting two services.
An AI agent introduces a caching pattern that violates your data residency constraint. Reasonable in isolation. Nobody evaluated it against the compliance policy that existed. The violation is in production before anyone notices.
A SOC 2 auditor asks for evidence that security controls were applied systematically to every code change. You point at a training program and a wiki. The auditor notes that documentation of intent is not evidence of enforcement. The finding goes in the report.
A pen test finds a vulnerability introduced by an agentic commit. The ADR prohibiting the pattern existed. It was never enforced at the gate. The agent had no way to check it, and no mechanism required it to.
The KPIs you should be tracking
How rkito treats security as architecture
rkito’s Steering corpus is where design intent lives — Policies, ADRs, Manifestos, Compliance artifacts — organized into Pillars. Security is a first-class Pillar of the Steering corpus, not a separate document store. AWS Well-Architected Security, OWASP Top 10, ISO 27001, CIS Benchmarks, NIST CSF are pre-built Steering artifacts in rkito — adopted as active entries in the Security Pillar. From those artifacts, Lenses are assembled: curated, scoped views of the Steering corpus that apply to specific teams and service areas. A Lens for your payment service combines your OWASP constraints, your data residency policies, and your zero-trust ADRs into a single evaluation context. The CDA evaluates each PR against the Lenses active for that code’s context. When a specific directive within a security Lens is violated — say, “all inter-service calls must use mutual TLS” — the finding is traced back to the Lens, the directive, and the exact diff. Over time, the violation rate per directive tells you which of your security Steering artifacts are being enforced and which are being bypassed.
The Continuous Design Audit evaluates every PR against the Lenses active for that code’s service context before it merges. An AI agent that crosses an authentication boundary, introduces a data handling pattern, or extends an API surface is evaluated against your zero-trust policies, your data residency constraints, and your API exposure rules — in the same CDA pass as your architectural ADRs and service boundary policies. There is no separate security lane. Security Steering artifacts live in the same Lenses as your architectural constraints. Conformance is one check.
Violations surface at the gate with the specific policy contradicted and the specific diff that triggered it. A named architect makes a decision. It is recorded with a timestamp. The violation does not ship silently. The audit trail is the byproduct of the process, not a separate exercise.
Your metrics — and where they can mislead you.
These are the rkito metrics that matter most to your role. Each one removes a blind spot. Each one can also be misused. Read both.
Whether architectural security decisions — not code vulnerabilities, but structural choices — are conformant. SAST/DAST miss this entirely.
Security Pillar Lenses encode architectural security intent. Every PR touching security-relevant systems is evaluated. PCR = pass rate for that Pillar's Lenses.
PCR is not a substitute for SAST/DAST/SCA. Also: Security PCR=100% with LPP=1 means one rule is checked. Always read alongside LPP (Lenses per Pillar).
AI agents generating security-relevant structural changes without security design context loaded. The agent that added a direct DB call from an external service didn't know your security Manifesto prohibits it.
Agent attribution from commit signatures and MCP access logs. ADRIFT broken down by Pillar shows agent violations in the Security Pillar specifically.
Governed agents with rkito MCP integration approach zero ADRIFT. Use ADRIFT to justify MCP investment — not to restrict AI tools in security-sensitive codebases.
Structural changes to security-critical systems without Change Intentions — the undeclared changes a security audit cannot explain.
Every structural PR checked for an approved CHI. Blocked PRs produce a durable audit record: named approver, timestamp, scope, justification.
UDR cannot be the CSO's only governance signal. It measures process compliance, not decision quality. A CHI approved by the wrong reviewer is still a process record, not a security guarantee.
On the roadmap
Policy coverage rate, violation trend by team and service. A live view of your security architecture posture — not a point-in-time pen test report.
Auto-generate SOC 2, ISO 27001, and NIST CSF audit packages from accumulated CDA records. The evidence you need for the next audit, produced from decisions already made.
Which services are degrading against which security standards over time. Early visibility into the teams and codebases accumulating the most security policy debt.
Security is not a review that happens after the architecture is decided. It is a property of the architecture itself. The moment you separate the two, you create a gap where violations accumulate silently — and that gap is now being filled, at scale, by AI agents that have no awareness of either.