Most small teams do access cleanup whenever something falls over. That produces a review with no defined period, no consistent snapshot, and no way to compare one cycle to the next. The fix is boring: pick a review date, export every account as it exists on that date, and never edit the export with later changes. The export becomes the record for the quarter, and next quarter's export becomes a comparison point.
Frameworks treat this as a measurement problem rather than a one-time configuration task. The OWASP Software Assurance Maturity Model (SAMM) is built to give organizations an effective and measurable way to analyze and improve security practice, and it is explicitly risk-driven because there is no single recipe that works for every organization OWASP SAMM. That framing suits small teams: you are not satisfying an auditor's full checklist, you are establishing a baseline you can improve against.
There is a sharp warning in practitioner literature about mistaking documentation for reality. A widely quoted paragraph from a startup security list says SOC2 is about documentation, not reality, because the audits are performed by accountants rather than penetration testers Hacker News discussion. A small team can easily produce a beautiful sheet certifying access nobody checked. This procedure is designed to make the sheet match reality, which is harder and more useful.
Two weeks is long enough for owners to respond and short enough that the snapshot stays roughly accurate. Anything longer and people join, leave, or switch roles mid-review, so decisions apply to a state that no longer exists. Anything shorter and owners ignore the request until the deadline passes.



