Eight steps for implementing code review governance across engineering organizations, with ownership assigned at each stage.
Implementing code review governance is most effective when done systematically. Each step addresses a specific failure mode common across engineering organizations at scale. The steps can be implemented independently, but they are most effective in order: accountability is established before automation, and the feedback loop closes last.
Track baseline metrics before making any changes: average time to first review, time to merge, how often PRs are reopened after merge, and how many issues surface post-merge as fixes. Without these baselines, it is impossible to evaluate whether the steps that follow are having measurable impact.
An approval should certify specific things: that the code is correct, that tests cover the change, that it complies with security and policy rules, and that it is architecturally aligned with the system. Document this explicitly. When approval means different things to different reviewers, enforcement becomes inconsistent and standards degrade over time.
Not every finding should prevent a merge. Categorize findings into three levels: blocking (must be resolved before merge), important (should be addressed), and optional (suggestions for improvement). This prevents low-signal findings from creating noise and gives developers clear signal on what actually needs to change.
Push tests, linting, ownership validation, and security checks into CI gates. These run automatically and block merge on violations before human review begins. Automating this layer removes mechanical checks from the reviewer’s workload and ensures they are applied consistently on every pull request.
Architectural decisions made during pull request review are expensive to change and create inconsistency. Require design documentation for changes that affect system architecture and block merges on changes that lack it. Pull requests then contain implementation detail only, making governance checks more precise.
An approval is a statement of ownership: the reviewer owns the correctness and maintainability of what is merged, not just that it looks acceptable. Making this explicit changes how reviewers engage with changes and creates accountability for what escapes into production.
Set a response SLA for first review and escalate when no reviewer has responded. Slow first response is the most common cause of PR queue buildup. Defining ownership and escalation paths keeps review moving without requiring individual reviewers to monitor PR queues manually.
Who owns: Platform, reliability, and security teams
When production incidents occur, trace them back to the pull requests that introduced the issue. Identify which check was missing or which guarantee was not enforced. Add the missing check to the CI gate or governance rule set. This creates a feedback loop between production failures and the governance process.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Qodo Documentation","colors":{"primary":"#4D3BA8","light":"#9B8FF5","dark":"#4D3BA8"},"logo":{"light":"https://mintcdn.com/qodo/w1UErntK5Ek8Raqb/logo/light.svg?fit=max\u0026auto=format\u0026n=w1UErntK5Ek8Raqb\u0026q=85\u0026s=92083cda4f13735dc22962002ddc7476","dark":"https://mintcdn.com/qodo/w1UErntK5Ek8Raqb/logo/dark.svg?fit=max\u0026auto=format\u0026n=w1UErntK5Ek8Raqb\u0026q=85\u0026s=79992e6bee36b694f4bf4229de855e82","href":"https://docs.qodo.ai/"},"favicon":"https://mintcdn.com/qodo/61By8swf_ctT3kVc/favicon.png?fit=max\u0026auto=format\u0026n=61By8swf_ctT3kVc\u0026q=85\u0026s=517f0a45c45ac97ac729da06d21aa72c","appearance":{"default":"light"},"background":{"color":{"dark":"#0e0f10"}},"navbar":{"links":[],"primary":{"type":"button","label":"Log in","href":"https://app.qodo.ai/signin"}},"footer":{"socials":{"x":"https://x.com/QodoAI","linkedin":"https://www.linkedin.com/company/qodoai","github":"https://github.com/Codium-ai","youtube":"https://www.youtube.com/@QodoAI"},"links":[{"header":"Products","items":[{"label":"Git code review","href":"https://www.qodo.ai/features/qodo-git"},{"label":"Agentic Toolbox","href":"https://www.qodo.ai/features/qodo-agentic-toolbox"}]},{"header":"Resources","items":[{"label":"Blog","href":"https://www.qodo.ai/blog"},{"label":"Events","href":"https://www.qodo.ai/events"},{"label":"Trust Center","href":"https://trust.qodo.ai/"},{"label":"Report Issues","href":"https://www.qodo.ai/report-issues"}]},{"header":"Company","items":[{"label":"Pricing","href":"https://www.qodo.ai/pricing"},{"label":"About","href":"https://www.qodo.ai/about"},{"label":"Careers","href":"https://www.qodo.ai/careers"}]},{"header":"Legal","items":[{"label":"Terms of Use","href":"https://www.qodo.ai/terms"},{"label":"Privacy Policy","href":"https://www.qodo.ai/privacy-policy"},{"label":"Data Processing","href":"https://www.qodo.ai/data-processing-addendum"}]}]},"seo":{"metatags":{"canonical":"https://docs.qodo.ai"}},"integrations":{"gtm":{"tagId":"GTM-M6PJSFV"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"qodo","hasAudioNarration":false,"actualSubdomain":"qodo","customDomains":["docs.qodo.ai"],"gitSource":{"type":"github","owner":"qodo-ai","repo":"qodo-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec3a26754501e0c6b533b0","collectionId":"e0b931d2-4faa-42bf-9106-b71435a4e61b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec3a26754501e0c6b533b0"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aec8d9522f813687c151333","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Get started","count":43},{"language":"default","tag":"Git code review","count":38},{"language":"default","tag":"On-premises","count":31},{"language":"default","tag":"Code Governance","count":25},{"language":"default","tag":"Git providers","count":20},{"language":"default","tag":"Agentic Toolbox","count":17},{"language":"default","tag":"Account management","count":16},{"language":"default","tag":"Configuration","count":13},{"language":"default","tag":"Operations","count":12},{"language":"default","tag":"Interact with Qodo in your pull request","count":11}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"6a4cd80ad857fd8fbfa11d8a","deploymentId":"69b333191ff687608d37761c","questionText":"How can I configure the Code review experience in my organization?","status":"active","generatedBy":"manual","createdAt":"2026-07-07T10:42:18.675Z","updatedAt":"2026-07-07T10:42:18.675Z","__v":0}],"googleFontsInlined":false},"customCss":[{"filePath":"styles/content.css","content":"#banner{height:52px}#content{margin-top:var(--spacing-sm)}#content-area div.mdx-content .prose>span[data-as=\"p\"],#content-area div.mdx-content.prose>span[data-as=\"p\"]{margin-bottom:var(--spacing-sm)}div[role=\"list\"]{margin-top:var(--spacing-sm)}div[component-part=\"callout-icon\"]{margin-right:18px}li[data-title][data-group-tag]>button{font-weight:500}#content .callout div.prose{color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.dark #content .callout div.prose{color:rgb(var(--gray-400))}[data-callout-type=\"note\"]{--accent: var(--color-purple-600);--accent-dark: var(--color-purple-300)}[data-callout-type=\"tip\"]{--accent: var(--color-green-600);--accent-dark: var(--color-green-300)}[data-callout-type=\"check\"]{--accent: var(--color-green-600);--accent-dark: var(--color-green-300)}[data-callout-type=\"warning\"]{--accent: var(--color-orange-600);--accent-dark: var(--color-orange-300)}[data-callout-type=\"info\"]{--accent: var(--color-purple-muted-600);--accent-dark: var(--color-purple-muted-300)}#content [data-callout-type]{align-items:flex-start;border-radius:0!important;border-width:0!important;border-left-width:4px!important;border-left-style:solid!important;border-left-color:var(--accent)!important;background-color:#faf9fa!important}.dark #content [data-callout-type]{border-left-color:var(--accent-dark)!important;background-color:var(--color-purple-muted-700)!important}#content [data-callout-type] [data-component-part=\"callout-icon\"] svg{color:var(--accent)!important}.dark #content [data-callout-type] [data-component-part=\"callout-icon\"] svg{color:var(--accent-dark)!important}#content [data-callout-type] [data-component-part=\"callout-content\"]{color:rgb(38 38 38 / var(--tw-text-opacity, 1))!important}.dark #content [data-callout-type] [data-component-part=\"callout-content\"]{color:rgb(var(--gray-400))!important}[data-callout-type=\"note\"] [data-component-part=\"callout-content\"]::before{content:\"Note\"}[data-callout-type=\"tip\"] [data-component-part=\"callout-content\"]::before{content:\"Tip\"}[data-callout-type=\"check\"] [data-component-part=\"callout-content\"]::before{content:\"Check\"}[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"]::before{content:\"Warning\"}[data-callout-type=\"info\"] [data-component-part=\"callout-content\"]::before{content:\"Info\"}#content [data-callout-type] [data-component-part=\"callout-content\"]::before{display:block;font-weight:700;margin-bottom:4px;color:var(--accent)!important}.dark #content [data-callout-type] [data-component-part=\"callout-content\"]::before{color:var(--accent-dark)!important}#navigation-items a,#navigation-items button{gap:0;font-size:0.8125rem}#navigation-items a:not([aria-expanded]){padding-top:0.125rem;padding-bottom:0.125rem}#navigation-items svg{display:none}.prose div a{text-decoration:none!important;font-weight:400!important;font-size:0.875rem!important}.prose div a.new-features-link{font-weight:500!important;font-size:13px!important}a.home-link{display:block;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:0.875rem;font-weight:400;text-decoration:none!important;color:#4d3ba8}a.home-link:hover{text-decoration:underline!important}.dark a.home-link{color:#9b8ff5;border-bottom-color:#2a2a2a}.dark h4{color:#aaa}.prose .link{font-weight:400;color:unset}.prose .link:hover{border-radius:2px}ul#table-of-contents-content.toc li{border-left:2px solid transparent;padding-left:8px}ul#table-of-contents-content.toc li:has(.border-primary){border-color:rgb(var(--primary-light) / var(--tw-border-opacity, 1))}footer{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.light #sidebar-content{background:linear-gradient(to right, #ffffff, #faf9fa)}.dark #sidebar-content{background:linear-gradient(\n to right,\n rgb(var(--background-dark) / var(--tw-bg-opacity, 1)),\n #141414\n )}.light #navbar{background:#faf9fa}.dark #navbar{background:#141414}.light [data-component-part=\"version-select-item\"] p{color:rgb(var(--gray-800))}.dark [data-component-part=\"version-select-item\"] p{color:rgb(var(--gray-300))}span[data-badge=\"true\"][data-shape=\"pill\"]{font-size:10px;font-style:normal;font-weight:400;line-height:150%;letter-spacing:0.2px;display:inline-flex;height:18px;padding:2px 6px;align-items:center;gap:4px;border-radius:6px}span[data-badge=\"true\"][data-color=\"outline-purple\"]{border:1px solid #4D3BA8;color:var(--text-tag-emphasis-idle, #a8a1fd)}.light span[data-badge=\"true\"][data-color=\"outline-purple\"]{color:#634fd1}span[data-badge=\"true\"][data-color=\"outline-gray\"]{border:1px solid var(--border-tag-neutral-idle, #2a2a2a);color:var(--text-tag-neutral-idle, #c3c3c3)}.light span[data-badge=\"true\"][data-color=\"outline-gray\"]{color:#2a2a2a}span[data-badge=\"true\"][data-color=\"outline-gray\"] svg{color:var(--text-tag-neutral-idle, #c3c3c3);background-color:var(--text-tag-neutral-idle, #c3c3c3)}.light span[data-badge=\"true\"][data-color=\"outline-gray\"] svg{color:#2a2a2a;background-color:#2a2a2a}span[data-badge=\"true\"][data-color=\"outline-provider\"]{border:1px solid #6E6E6E;color:#6E6E6E}.light span[data-badge=\"true\"][data-color=\"outline-provider\"]{border:1px solid #6E6E6E;color:#6E6E6E}span[data-badge=\"true\"][data-color=\"outline-provider\"] svg{color:#6E6E6E;background-color:#6E6E6E}.light span[data-badge=\"true\"][data-color=\"outline-provider\"] svg{color:#6E6E6E;background-color:#6E6E6E}span[data-badge=\"true\"][data-color=\"deployment\"]{border:1px solid #D9A066;color:#D9A066}.light span[data-badge=\"true\"][data-color=\"deployment\"]{border:1px solid #57340A;color:#57340A}span[data-badge=\"true\"][data-color=\"purple\"]{color:rgb(var(--primary) / var(--tw-text-opacity, 1));background-color:rgb(var(--primary) / 0.1);font-weight:700}span[data-badge=\"true\"][data-color=\"purple\"] svg{color:rgb(var(--primary) / var(--tw-text-opacity, 1));background-color:rgb(var(--primary) / var(--tw-text-opacity, 1))}.dark span[data-badge=\"true\"][data-color=\"purple\"] svg{color:rgb(var(--primary-light) / var(--tw-text-opacity, 1));background-color:rgb(var(--primary-light) / var(--tw-text-opacity, 1))}span[data-badge=\"true\"][data-color=\"outline-provider\"] svg.linear-icon{color:#6E6E6E;background-color:transparent}span[data-badge=\"true\"][data-color=\"outline-provider\"] svg.gerrit-icon{color:#6E6E6E;background-color:transparent}.dark span[data-badge=\"true\"][data-color=\"outline-provider\"]{color:#ffffff}.dark span[data-badge=\"true\"][data-color=\"outline-provider\"] svg{color:#ffffff;background-color:#ffffff}.dark span[data-badge=\"true\"][data-color=\"outline-provider\"] svg.linear-icon{color:#ffffff}.dark span[data-badge=\"true\"][data-color=\"outline-provider\"] svg.gerrit-icon{color:#ffffff}span[data-badge=\"true\"][data-color=\"purple\"] svg.azure-icon{color:rgb(var(--primary) / var(--tw-text-opacity, 1));background-color:transparent}.dark span[data-badge=\"true\"][data-color=\"purple\"] svg.azure-icon{color:rgb(var(--primary-light) / var(--tw-text-opacity, 1));background-color:transparent}.dark span[data-badge=\"true\"][data-color=\"purple\"]{color:rgb(var(--primary-light) / var(--tw-text-opacity, 1))}#sidebar-group>li button.group[aria-expanded],#navigation-items li>a[aria-expanded],#navigation-items li>button[aria-expanded]{justify-content:space-between}#sidebar-group>li button.group[aria-expanded]::after,#navigation-items li>a[aria-expanded]::after,#navigation-items li>button[aria-expanded]::after{content:\"›\";margin-left:auto;display:inline-block}#sidebar-group>li button.group[aria-expanded=\"true\"]::after,#navigation-items li>a[aria-expanded=\"true\"]::after,#navigation-items li>button[aria-expanded=\"true\"]::after{transform:rotate(90deg)}.dark img[src=\"/images/logos/gerrit-icon.svg\"]{content:url(\"/images/logos/gerrit-icon-dark.svg\")}.dark img[src=\"/images/logos/azure-devops-icon.svg\"]{content:url(\"/images/logos/azure-devops-icon-dark.svg\")}html[data-current-path=\"/install-qodo/git-provider-feature-support\"] td:not(:first-child),html[data-current-path=\"/install-qodo/git-provider-feature-support\"] th:not(:first-child){min-width:114px!important}html[data-current-path=\"/install-qodo/git-provider-feature-support\"] td:first-child,html[data-current-path=\"/install-qodo/git-provider-feature-support\"] th:first-child{min-width:130px!important}"},{"filePath":"styles/global.css","content":"/* latin-ext */\n@font-face {\n font-family: 'Figtree';\n font-style: italic;\n font-weight: 300 900;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/figtree/v9/_Xmu-HUzqDCFdgfMm4GNAa5o_ik.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Figtree';\n font-style: italic;\n font-weight: 300 900;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/figtree/v9/_Xmu-HUzqDCFdgfMm4GND65o.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Figtree';\n font-style: normal;\n font-weight: 300 900;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/figtree/v9/_Xms-HUzqDCFdgfMm4q9DbZs.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Figtree';\n font-style: normal;\n font-weight: 300 900;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/figtree/v9/_Xms-HUzqDCFdgfMm4S9DQ.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--spacing-sm: 16px;--spacing-md: 18px;a span {\n --primary-dark: 121 104 250;\n }\n\n --color-purple-muted-100: #f4f4f4;--color-purple-muted-200: #dfdfdf;--color-purple-muted-300: #c3c3c3;--color-purple-muted-350: #919191;--color-purple-muted-400: #6e6e6e;--color-purple-muted-500: #3d3d3d;--color-purple-muted-600: #2a2a2a;--color-purple-muted-700: #1c1c1c;--color-purple-muted-750: #171717;--color-purple-muted-800: #141414;--color-purple-muted-900: #090a0b;--color-purple-50: #dddcff;--color-purple-100: #c1befe;--color-purple-200: #a8a1fd;--color-purple-300: #9084fc;--color-purple-400: #7968fa;--color-purple-500: #634fd1;--color-purple-600: #4d3ba8;--color-purple-700: #39277f;--color-purple-800: #261657;--color-purple-900: #160d33;--color-green-100: #c7f5ea;--color-green-200: #a0f6e1;--color-green-300: #68d9bd;--color-green-400: #4ec2a4;--color-green-500: #499985;--color-green-600: #206b58;--color-green-700: #23453c;--color-green-800: #1a2925;--color-green-900: #151a19;--color-red-100: #ffe0e9;--color-red-200: #ffb6ca;--color-red-300: #fc86a8;--color-red-400: #e55c83;--color-red-500: #cc315d;--color-red-600: #8c2a46;--color-red-700: #611d30;--color-red-800: #471422;--color-red-900: #291017;--color-orange-100: #fff2e0;--color-orange-200: #ffe1b6;--color-orange-300: #e5bb7a;--color-orange-400: #cca05a;--color-orange-500: #cc9241;--color-orange-600: #855614;--color-orange-700: #57340a;--color-orange-800: #3d2000;--color-orange-900: #241100}"},{"filePath":"styles/header.css","content":"h1#page-title{font-family:\"Figtree\", sans-serif;font-optical-sizing:auto;font-weight:500;font-style:normal;text-transform:normal}header#header .eyebrow{font-family:\"Figtree\", sans-serif;color:rgb(var(--gray-700))}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5{margin-top:22px;font-weight:500}h1 span,h2 span,h3 span,h4 span,h5 span{color:rgb(var(--gray-900))}.dark h1 span,.dark h2 span,.dark h3 span,.dark h4 span,.dark h5 span{color:rgb(var(--gray-100))}#banner{background:#7968FA}"}],"page":{"pagePath":"governance/implementing-governance-in-organization","slug":"/governance/implementing-governance-in-organization","pageMetadata":{"title":"Guidelines for implementing governance at scale","sidebarTitle":"Plan governance at scale","description":"Eight steps for implementing code review governance across engineering organizations, with ownership assigned at each stage.","href":"/governance/implementing-governance-in-organization"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Eight steps for implementing code review governance across engineering organizations, with ownership assigned at each stage.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,..._provideComponents(),...props.components},{Heading,Note}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Implementing code review governance is most effective when done systematically. Each step addresses a specific failure mode common across engineering organizations at scale. The steps can be implemented independently, but they are most effective in order: accountability is established before automation, and the feedback loop closes last.`}),`\n`,_jsx(Heading,{level:`2`,id:`1-measure-current-behavior`,children:`1. Measure current behavior`}),`\n`,_jsx(Note,{children:`Who owns: Platform team, engineering leadership`}),`\n`,_jsx(_components.p,{children:`Track baseline metrics before making any changes: average time to first review, time to merge, how often PRs are reopened after merge, and how many issues surface post-merge as fixes. Without these baselines, it is impossible to evaluate whether the steps that follow are having measurable impact.`}),`\n`,_jsx(Heading,{level:`2`,id:`2-define-what-approval-means`,children:`2. Define what approval means`}),`\n`,_jsx(Note,{children:`Who owns: Engineering leadership, tech leads`}),`\n`,_jsx(_components.p,{children:`An approval should certify specific things: that the code is correct, that tests cover the change, that it complies with security and policy rules, and that it is architecturally aligned with the system. Document this explicitly. When approval means different things to different reviewers, enforcement becomes inconsistent and standards degrade over time.`}),`\n`,_jsx(Heading,{level:`2`,id:`3-separate-blocking-from-optional`,children:`3. Separate blocking from optional`}),`\n`,_jsx(Note,{children:`Who owns: Tech leads, reviewers`}),`\n`,_jsx(_components.p,{children:`Not every finding should prevent a merge. Categorize findings into three levels: blocking (must be resolved before merge), important (should be addressed), and optional (suggestions for improvement). This prevents low-signal findings from creating noise and gives developers clear signal on what actually needs to change.`}),`\n`,_jsx(Heading,{level:`2`,id:`4-automate-baseline-enforcement`,children:`4. Automate baseline enforcement`}),`\n`,_jsx(Note,{children:`Who owns: Platform and DevOps team`}),`\n`,_jsx(_components.p,{children:`Push tests, linting, ownership validation, and security checks into CI gates. These run automatically and block merge on violations before human review begins. Automating this layer removes mechanical checks from the reviewer’s workload and ensures they are applied consistently on every pull request.`}),`\n`,_jsx(Heading,{level:`2`,id:`5-move-design-decisions-out-of-prs`,children:`5. Move design decisions out of PRs`}),`\n`,_jsx(Note,{children:`Who owns: Architecture group, tech leads`}),`\n`,_jsx(_components.p,{children:`Architectural decisions made during pull request review are expensive to change and create inconsistency. Require design documentation for changes that affect system architecture and block merges on changes that lack it. Pull requests then contain implementation detail only, making governance checks more precise.`}),`\n`,_jsx(Heading,{level:`2`,id:`6-make-reviewer-responsibility-explicit`,children:`6. Make reviewer responsibility explicit`}),`\n`,_jsx(Note,{children:`Who owns: Engineering leadership`}),`\n`,_jsx(_components.p,{children:`An approval is a statement of ownership: the reviewer owns the correctness and maintainability of what is merged, not just that it looks acceptable. Making this explicit changes how reviewers engage with changes and creates accountability for what escapes into production.`}),`\n`,_jsx(Heading,{level:`2`,id:`7-optimize-for-fast-first-feedback`,children:`7. Optimize for fast first feedback`}),`\n`,_jsx(Note,{children:`Who owns: Engineering leadership`}),`\n`,_jsx(_components.p,{children:`Set a response SLA for first review and escalate when no reviewer has responded. Slow first response is the most common cause of PR queue buildup. Defining ownership and escalation paths keeps review moving without requiring individual reviewers to monitor PR queues manually.`}),`\n`,_jsx(Heading,{level:`2`,id:`8-use-escaped-issues-to-improve`,children:`8. Use escaped issues to improve`}),`\n`,_jsx(Note,{children:`Who owns: Platform, reliability, and security teams`}),`\n`,_jsx(_components.p,{children:`When production incidents occur, trace them back to the pull requests that introduced the issue. Identify which check was missing or which guarantee was not enforced. Add the missing check to the CI gate or governance rule set. This creates a feedback loop between production failures and the governance process.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Guidelines for implementing governance at scale","sidebarTitle":"Plan governance at scale","description":"Eight steps for implementing code review governance across engineering organizations, with ownership assigned at each stage.","href":"/governance/implementing-governance-in-organization"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Measure current behavior","slug":"1-measure-current-behavior","depth":2,"children":[]},{"title":"2. Define what approval means","slug":"2-define-what-approval-means","depth":2,"children":[]},{"title":"3. Separate blocking from optional","slug":"3-separate-blocking-from-optional","depth":2,"children":[]},{"title":"4. Automate baseline enforcement","slug":"4-automate-baseline-enforcement","depth":2,"children":[]},{"title":"5. Move design decisions out of PRs","slug":"5-move-design-decisions-out-of-prs","depth":2,"children":[]},{"title":"6. Make reviewer responsibility explicit","slug":"6-make-reviewer-responsibility-explicit","depth":2,"children":[]},{"title":"7. Optimize for fast first feedback","slug":"7-optimize-for-fast-first-feedback","depth":2,"children":[]},{"title":"8. Use escaped issues to improve","slug":"8-use-escaped-issues-to-improve","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/qodo/d22b9139cd6086c8/cookie-script.js"],"subdomain":"qodo","siteName":"Qodo Documentation","title":"Guidelines for implementing governance at scale - Qodo Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-03T08:56:38.646Z","originalFileLocation":"governance/implementing-governance-in-organization.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Eight steps for implementing code review governance across engineering organizations, with ownership assigned at each stage.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Qodo Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Guidelines for implementing governance at scale - Qodo Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Eight steps for implementing code review governance across engineering organizations, with ownership assigned at each stage.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Qodo Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.qodo.ai/governance/implementing-governance-in-organization\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://qodo.mintlify.app/_mintlify/api/og/v2?division=+\u0026amp;title=Guidelines+for+implementing+governance+at+scale\u0026amp;description=Eight+steps+for+implementing+code+review+governance+across+engineering+organizations%2C+with+ownership+assigned+at+each+stage.\u0026amp;theme=fc74412b4431a07ce0b91db7\u0026amp;signature=7307ea39a30a60b3f743ada25ceffb731169191e272582024165f62210005535\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Guidelines for implementing governance at scale - Qodo Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Eight steps for implementing code review governance across engineering organizations, with ownership assigned at each stage.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://qodo.mintlify.app/_mintlify/api/og/v2?division=+\u0026amp;title=Guidelines+for+implementing+governance+at+scale\u0026amp;description=Eight+steps+for+implementing+code+review+governance+across+engineering+organizations%2C+with+ownership+assigned+at+each+stage.\u0026amp;theme=fc74412b4431a07ce0b91db7\u0026amp;signature=7307ea39a30a60b3f743ada25ceffb731169191e272582024165f62210005535\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/qodo/PWlSRZemwS1U1hDv/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Qodo Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4D3BA8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.qodo.ai/governance/implementing-governance-in-organization\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/governance/implementing-governance-in-organization.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.qodo.ai/#organization\",\"name\":\"Qodo Documentation\",\"url\":\"https://docs.qodo.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/qodo/w1UErntK5Ek8Raqb/logo/light.svg?fit=max\u0026auto=format\u0026n=w1UErntK5Ek8Raqb\u0026q=85\u0026s=92083cda4f13735dc22962002ddc7476\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.qodo.ai#website\",\"name\":\"Qodo Documentation\",\"url\":\"https://docs.qodo.ai\",\"publisher\":{\"@id\":\"https://docs.qodo.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.qodo.ai/governance/implementing-governance-in-organization#webpage\",\"url\":\"https://docs.qodo.ai/governance/implementing-governance-in-organization\",\"name\":\"Guidelines for implementing governance at scale\",\"description\":\"Eight steps for implementing code review governance across engineering organizations, with ownership assigned at each stage.\",\"dateModified\":\"2026-05-03T08:56:38.646Z\",\"isPartOf\":{\"@id\":\"https://docs.qodo.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.qodo.ai/governance/implementing-governance-in-organization#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.qodo.ai/governance/implementing-governance-in-organization#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\" \",\"item\":\"https://docs.qodo.ai/code-governance\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guidelines for implementing governance at scale\",\"item\":\"https://docs.qodo.ai/governance/implementing-governance-in-organization\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.qodo.ai/governance/implementing-governance-in-organization#article\",\"headline\":\"Guidelines for implementing governance at scale\",\"name\":\"Guidelines for implementing governance at scale\",\"description\":\"Eight steps for implementing code review governance across engineering organizations, with ownership assigned at each stage.\",\"url\":\"https://docs.qodo.ai/governance/implementing-governance-in-organization\",\"mainEntityOfPage\":{\"@id\":\"https://docs.qodo.ai/governance/implementing-governance-in-organization#webpage\"},\"dateModified\":\"2026-05-03T08:56:38.646Z\",\"publisher\":{\"@id\":\"https://docs.qodo.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.qodo.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Qodo Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Qodo Documentation","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":"/core-concepts/qodo-platform-overview"}]},{"tab":"Configuration","pages":[{"title":"Configuration","href":"/configuration"}]},{"tab":"Git code review","pages":[{"title":"Git code review","href":"/code-review"}]},{"tab":"Agentic Toolbox","pages":[{"title":"Agentic Toolbox","href":"/agentic-toolbox"}]},{"tab":"Code Governance","groups":[{"group":" ","pages":[{"title":"Qodo Code Governance","sidebarTitle":"Code Governance","href":"/code-governance"},{"title":"Managing governance in Qodo","sidebarTitle":"Governance management in Qodo","description":"How the Qodo portal serves as the central point for managing rules, teams, and governance settings across your organization.","href":"/governance/governance-management"},{"title":"Guidelines for implementing governance at scale","sidebarTitle":"Plan governance at scale","href":"/governance/implementing-governance-in-organization"}]},{"group":"Governance insights","pages":[{"title":"Manage pull request bottlenecks with PR Triage","sidebarTitle":"Resolve bottlenecks with PR Triage","description":"PR Triage helps teams manage and prioritize open pull requests across their organization, identify review bottlenecks, set their own triage policies, and take action with review and codebase context.","tag":"Preview","href":"/governance/pr-triage"},{"title":"Qodo code review analytics","sidebarTitle":"Code review analytics","href":"/governance/code-review-analytics"},{"title":"Monitor organization-wide pull request findings","sidebarTitle":"Monitor pull request findings","href":"/governance/view-all-findings-in-organization"}]},{"group":"Repository governance","pages":[{"group":"Manage code review across repositories","root":{"title":"Manage code review across repositories in the Qodo portal","href":"/governance/repositories"},"pages":[{"title":"Manage Git repositories by installation","sidebarTitle":"Manage Git repositories by installation","href":"/governance/repositories/installations"},{"title":"Monitor and manage repositories","sidebarTitle":"Monitor and manage repositories","href":"/governance/repositories/manage-repositories"},{"title":"View cross-repository relationships","sidebarTitle":"View cross-repository relationships","href":"/governance/repositories/relationships"}]},{"group":"Cross-repository code review","root":{"title":"Cross-repository code review","href":"/governance/cross-repo-code-review"},"pages":[{"title":"Manage cross-repository relationships","sidebarTitle":"Manage cross-repository relationships","href":"/governance/cross-repo-code-review/repository-relationships"}]},{"title":"Gain insight with Software Map","sidebarTitle":"Gain insight with Software Map","href":"/governance/repositories/gain-insight-with-software-map"}]},{"group":"Review Standards","pages":[{"title":"Review Standards in code review","sidebarTitle":"Review Standards in code review","href":"/governance/review-standards"},{"group":"How Qodo builds Review Standards","root":{"title":"How Qodo builds your Review Standards","sidebarTitle":"How Qodo builds your Review Standards","href":"/governance/rule-enforcement/building-review-standards"},"pages":[{"title":"Enable Review Standards for existing customers","sidebarTitle":"Enable for existing customers","href":"/governance/rule-enforcement/enable-rules-existing-customers"},{"title":"Configure rule import sources and instructions","href":"/governance/rule-enforcement/configure-rule-import-sources-and-instructions"}]},{"title":"Apply REVIEW.md instructions to code review","sidebarTitle":"Apply REVIEW.md instructions","tag":"Preview","href":"/governance/use-review-md"},{"title":"Manage skills across repositories","href":"/governance/manage-skills-across-repositories"}]},{"group":"Rule enforcement","pages":[{"title":"Rule enforcement in code review","sidebarTitle":"Rule enforcement in code review","href":"/governance/rule-enforcement"},{"title":"Generate and manage rules","href":"/governance/rule-enforcement/generate-and-manage-rules"},{"title":"Configure rule import sources and instructions","href":"/governance/rule-enforcement/configure-rule-import-sources-and-instructions"},{"title":"Generate rules from pull request history with Rule Miner","sidebarTitle":"Generate rules from PR history indexing","href":"/governance/rule-enforcement/rule-miner"},{"title":"Review and activate pending rules","href":"/governance/rule-enforcement/suggested-rules"},{"title":"Best practices for setting rules","href":"/governance/rule-enforcement/best-practices-for-setting-rules"},{"title":"Analyze rule performance across pull requests","sidebarTitle":"Analyze rules","href":"/governance/rule-enforcement/analytics"},{"group":"Rules system (prior to v2.1)","root":{"title":"Rule enforcement without Review Standards","sidebarTitle":"Without Review Standards","href":"/governance/rule-enforcement/without-rule-system"},"pages":[{"title":"Best practices","href":"/governance/rule-enforcement/without-rule-system/best-practices"},{"title":"Custom compliance","href":"/governance/rule-enforcement/without-rule-system/custom-compliance"}]}]},{"group":" ","pages":[{"title":"Troubleshoot background processes","sidebarTitle":"Troubleshoot background processes","href":"/governance/troubleshoot-background-processes"}]}]},{"tab":"Account management","pages":[{"title":"Account management","href":"/account-management/manage-your-qodo-account"}]},{"tab":"On-premises","pages":[{"title":"On-premises","href":"/on-prem"}]},{"tab":"What's new","pages":[{"title":"What's new","href":"/whats-new"}]}]},"basePath":"","title":"Guidelines for implementing governance at scale - Qodo Documentation","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":[],"chunks":[]}