Stop PR reviews from raising patterns you don’t care about
Suppression rules tell Odin not to raise specific vulnerability patterns during PR Reviews. Use them to mute false positives, accepted risks, or patterns that are intentional in your codebase (for example, raw HTML rendering in a static blog generator, or test code that purposely uses weak crypto).Open Ignored findings from Settings > Ignored findings on the Agentic whitebox page.
Manual: you create them on this page when you know a pattern shouldn’t be raised
Auto-learned: when your team ignores the same suggestion across multiple PRs and you’ve enabled auto-suppression in Configuration, Odin creates a rule automatically once the threshold is hit
Each rule shows its source so you can tell at a glance whether it came from the team or was learned from PR dismissals.
Click New Rule (or press c from the page) to open the creation dialog.
Field
Description
Scope
Apply the rule to a single repository or across the entire organisation
Repository
When scope is repository, the full owner/repo name from GitHub
Category
The vulnerability category (e.g. injection, authorisation)
Vulnerability type
The specific type within that category (e.g. sql-injection, idor)
File pattern
The files the rule covers, starting with a folder or file name (e.g. tests/**, src/legacy/*.ts)
Reason
Why this pattern is acceptable. This is required and gets shown to teammates reviewing the rule.
Use file patterns to scope rules narrowly. For example, suppress sql-injection only in tests/** rather than globally — that way Odin still flags it in production code paths.
A rule only applies to the files it covers, so it needs a file pattern before it can be approved or switched on. Auto-learned rules arrive without one. Click Add file pattern in the rule’s File pattern column (or in its actions menu), enter the files it should cover, and save. Then approve it or switch it on. If you try to approve or switch on a rule that has no pattern, the same dialog opens for you. If you’re a member and the rule is already on, adding a pattern pauses it until an admin approves the change.
Document the reason clearly. Future you (and your teammates) will thank you when reviewing why something was suppressed.
Prefer narrow scope: repository-scoped rules with file patterns are safer than organisation-wide rules.
Review auto-learned rules periodically. They’re created from real dismissal patterns, but they can encode bad habits if your team is over-dismissing.
Disable rather than delete if you’re not sure — disabled rules can be re-enabled later, deleted ones can’t.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Odin","colors":{"primary":"#0f1a29","light":"#809cff","dark":"#091320"},"logo":{"light":"https://mintcdn.com/borgresearchas/Ov2Q7p-CRPhlmtjB/logo/light.svg?fit=max\u0026auto=format\u0026n=Ov2Q7p-CRPhlmtjB\u0026q=85\u0026s=96e97f2b95c5c4fe2ec50e19abe5a9da","dark":"https://mintcdn.com/borgresearchas/PosxlzFQ8VizB4Dq/logo/dark.svg?fit=max\u0026auto=format\u0026n=PosxlzFQ8VizB4Dq\u0026q=85\u0026s=2431420f8415a9ec7c1e94669efa94bf"},"favicon":"https://mintcdn.com/borgresearchas/PosxlzFQ8VizB4Dq/favicon.ico?fit=max\u0026auto=format\u0026n=PosxlzFQ8VizB4Dq\u0026q=85\u0026s=2b544445c130e77ca7212742c10bc3e4","navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://odin.borghq.io"}},"footer":{"socials":{"x":"https://x.com/BorgHQ","linkedin":"https://linkedin.com/company/borghq"}},"contextual":{"options":["copy","view","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Support","icon":"envelope","href":"mailto:[email protected]"},{"anchor":"Dashboard","icon":"gauge","href":"https://odin.borghq.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"borgresearchas","hasAudioNarration":false,"actualSubdomain":"borgresearchas","customDomains":["docs.borghq.io"],"gitSource":{"type":"github","owner":"borgdevelopment","repo":"borg-platform","deployBranch":"production","contentDirectory":"docs/odin","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adea4089602829e4e1d02d4","collectionId":"719a520c-7023-4571-a465-faadf80d3013","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adea4089602829e4e1d02d4"},"feedback":{"agentFeedback":true},"entitlements":{},"buildId":"6adea4089602829e4e1d02d4","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Getting Started","count":56},{"language":"default","tag":"Platform","count":13},{"language":"default","tag":"Overview","count":12},{"language":"default","tag":"Testing","count":12},{"language":"default","tag":"Integrations","count":11},{"language":"default","tag":"Setup","count":6},{"language":"default","tag":"Single Sign-On","count":6},{"language":"default","tag":"Account \u0026 Settings","count":5},{"language":"default","tag":"Cloud","count":5},{"language":"default","tag":"Team \u0026 Access","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"editor-agent-model-picker","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":"billing-updated-9-15","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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"mjolnir/suppression-rules","slug":"/mjolnir/suppression-rules","pageMetadata":{"title":"Suppression Rules","description":"Stop PR reviews from raising patterns you don't care about","icon":"shield-off","href":"/mjolnir/suppression-rules"},"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: \"Stop PR reviews from raising patterns you don’t care about\"\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={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Suppression rules tell Odin not to raise specific vulnerability patterns during `,_jsx(_components.a,{href:`/mjolnir/pr-reviews`,children:`PR Reviews`}),`. Use them to mute false positives, accepted risks, or patterns that are intentional in your codebase (for example, raw HTML rendering in a static blog generator, or test code that purposely uses weak crypto).`]}),`\n`,_jsxs(_components.p,{children:[`Open Ignored findings from `,_jsx(_components.strong,{children:`Settings > Ignored findings`}),` on the `,_jsx(_components.a,{href:`/mjolnir/runs`,children:`Agentic whitebox`}),` page.`]}),`\n`,_jsx(Heading,{level:`2`,id:`where-rules-come-from`,children:`Where rules come from`}),`\n`,_jsx(_components.p,{children:`Rules can be created two ways:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Manual`}),`: you create them on this page when you know a pattern shouldn’t be raised`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Auto-learned`}),`: when your team ignores the same suggestion across multiple PRs and you’ve enabled auto-suppression in `,_jsx(_components.a,{href:`/mjolnir/configuration#pr-review`,children:`Configuration`}),`, Odin creates a rule automatically once the threshold is hit`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Each rule shows its source so you can tell at a glance whether it came from the team or was learned from PR dismissals.`}),`\n`,_jsx(Heading,{level:`2`,id:`creating-a-rule`,children:`Creating a rule`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`New Rule`}),` (or press `,_jsx(_components.code,{children:`c`}),` from the page) to open the creation dialog.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Scope`})}),_jsx(_components.td,{children:`Apply the rule to a single repository or across the entire organisation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Repository`})}),_jsxs(_components.td,{children:[`When scope is repository, the full `,_jsx(_components.code,{children:`owner/repo`}),` name from GitHub`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Category`})}),_jsxs(_components.td,{children:[`The vulnerability category (e.g. `,_jsx(_components.code,{children:`injection`}),`, `,_jsx(_components.code,{children:`authorisation`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Vulnerability type`})}),_jsxs(_components.td,{children:[`The specific type within that category (e.g. `,_jsx(_components.code,{children:`sql-injection`}),`, `,_jsx(_components.code,{children:`idor`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`File pattern`})}),_jsxs(_components.td,{children:[`The files the rule covers, starting with a folder or file name (e.g. `,_jsx(_components.code,{children:`tests/**`}),`, `,_jsx(_components.code,{children:`src/legacy/*.ts`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Reason`})}),_jsx(_components.td,{children:`Why this pattern is acceptable. This is required and gets shown to teammates reviewing the rule.`})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Use file patterns to scope rules narrowly. For example, suppress `,_jsx(_components.code,{children:`sql-injection`}),` only in `,_jsx(_components.code,{children:`tests/**`}),` rather than globally — that way Odin still flags it in production code paths.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`managing-rules`,children:`Managing rules`}),`\n`,_jsx(_components.p,{children:`From the rules list you can:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Filter`}),` by source (Manual / Auto-learned) and status (Active / Disabled)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Enable or disable`}),` a rule with the toggle — disabling lets you pause a rule without losing it`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Delete`}),` a rule permanently from the `,_jsx(_components.strong,{children:`Actions`}),` column — Odin resumes raising findings that match it on the next PR`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`adding-a-file-pattern`,children:`Adding a file pattern`}),`\n`,_jsxs(_components.p,{children:[`A rule only applies to the files it covers, so it needs a file pattern before it can be approved or switched on. Auto-learned rules arrive without one. Click `,_jsx(_components.strong,{children:`Add file pattern`}),` in the rule’s `,_jsx(_components.strong,{children:`File pattern`}),` column (or in its actions menu), enter the files it should cover, and save. Then approve it or switch it on. If you try to approve or switch on a rule that has no pattern, the same dialog opens for you. If you’re a member and the rule is already on, adding a pattern pauses it until an admin approves the change.`]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best practices`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Document the reason`}),` clearly. Future you (and your teammates) will thank you when reviewing why something was suppressed.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Prefer narrow scope`}),`: repository-scoped rules with file patterns are safer than organisation-wide rules.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Review auto-learned rules`}),` periodically. They’re created from real dismissal patterns, but they can encode bad habits if your team is over-dismissing.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Disable rather than delete`}),` if you’re not sure — disabled rules can be re-enabled later, deleted ones can’t.`]}),`\n`]})]})}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":"Suppression Rules","description":"Stop PR reviews from raising patterns you don't care about","icon":"shield-off","href":"/mjolnir/suppression-rules"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Where rules come from","slug":"where-rules-come-from","depth":2,"children":[]},{"title":"Creating a rule","slug":"creating-a-rule","depth":2,"children":[]},{"title":"Managing rules","slug":"managing-rules","depth":2,"children":[{"title":"Adding a file pattern","slug":"adding-a-file-pattern","depth":3,"children":[]}]},{"title":"Best practices","slug":"best-practices","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"borgresearchas","siteName":"Odin","title":"Suppression Rules - Odin","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T00:51:28.879Z","originalFileLocation":"mjolnir/suppression-rules.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=\"system\"}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=\"Stop PR reviews from raising patterns you don\u0026#x27;t care about\">\u003cmeta data-mint-head name=\"application-name\" content=\"Odin\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/borgresearchas/1qAj3Qfb88sK6GGW/_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/borgresearchas/1qAj3Qfb88sK6GGW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/borgresearchas/1qAj3Qfb88sK6GGW/_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/borgresearchas/1qAj3Qfb88sK6GGW/_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/borgresearchas/1qAj3Qfb88sK6GGW/_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/borgresearchas/1qAj3Qfb88sK6GGW/_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/borgresearchas/1qAj3Qfb88sK6GGW/_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/borgresearchas/1qAj3Qfb88sK6GGW/_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/borgresearchas/1qAj3Qfb88sK6GGW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Suppression Rules - Odin\">\u003cmeta data-mint-head property=\"og:description\" content=\"Stop PR reviews from raising patterns you don\u0026#x27;t care about\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Odin\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.borghq.io/mjolnir/suppression-rules\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://borgresearchas.mintlify.app/_mintlify/api/og/v2?division=Code+Review\u0026amp;title=Suppression+Rules\u0026amp;description=Stop+PR+reviews+from+raising+patterns+you+don%27t+care+about\u0026amp;theme=eb34bf9549b9e0f190560438\u0026amp;signature=e18fc4728374ab6e6ee071216609beed8b4dfe807169f46a7dcae2a60044bf6c\">\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=\"Suppression Rules - Odin\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Stop PR reviews from raising patterns you don\u0026#x27;t care about\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://borgresearchas.mintlify.app/_mintlify/api/og/v2?division=Code+Review\u0026amp;title=Suppression+Rules\u0026amp;description=Stop+PR+reviews+from+raising+patterns+you+don%27t+care+about\u0026amp;theme=eb34bf9549b9e0f190560438\u0026amp;signature=e18fc4728374ab6e6ee071216609beed8b4dfe807169f46a7dcae2a60044bf6c\">\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/borgresearchas/1qAj3Qfb88sK6GGW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Odin\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0f1a29\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.borghq.io/mjolnir/suppression-rules\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/mjolnir/suppression-rules.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.borghq.io/#organization\",\"name\":\"Odin\",\"url\":\"https://docs.borghq.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/borgresearchas/Ov2Q7p-CRPhlmtjB/logo/light.svg?fit=max\u0026auto=format\u0026n=Ov2Q7p-CRPhlmtjB\u0026q=85\u0026s=96e97f2b95c5c4fe2ec50e19abe5a9da\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.borghq.io#website\",\"name\":\"Odin\",\"url\":\"https://docs.borghq.io\",\"publisher\":{\"@id\":\"https://docs.borghq.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.borghq.io/mjolnir/suppression-rules#webpage\",\"url\":\"https://docs.borghq.io/mjolnir/suppression-rules\",\"name\":\"Suppression Rules\",\"description\":\"Stop PR reviews from raising patterns you don't care about\",\"dateModified\":\"2026-10-26T00:51:28.879Z\",\"isPartOf\":{\"@id\":\"https://docs.borghq.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.borghq.io/mjolnir/suppression-rules#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.borghq.io/mjolnir/suppression-rules#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Code Review\",\"item\":\"https://docs.borghq.io/mjolnir/pr-reviews\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Suppression Rules\",\"item\":\"https://docs.borghq.io/mjolnir/suppression-rules\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.borghq.io/mjolnir/suppression-rules#article\",\"headline\":\"Suppression Rules\",\"name\":\"Suppression Rules\",\"description\":\"Stop PR reviews from raising patterns you don't care about\",\"url\":\"https://docs.borghq.io/mjolnir/suppression-rules\",\"mainEntityOfPage\":{\"@id\":\"https://docs.borghq.io/mjolnir/suppression-rules#webpage\"},\"dateModified\":\"2026-10-26T00:51:28.879Z\",\"publisher\":{\"@id\":\"https://docs.borghq.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.borghq.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Odin\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Odin","nav":{"global":{"anchors":[{"anchor":"Support","icon":"envelope","href":"mailto:[email protected]"},{"anchor":"Dashboard","icon":"gauge","href":"https://odin.borghq.io"}]},"tabs":[{"tab":"Getting Started","icon":"book-open","pages":[{"title":"Getting Started","href":"/getting-started/introduction"}]},{"tab":"Testing","icon":"bolt","groups":[{"group":"Overview","pages":[{"title":"AI Pentesting Overview","icon":"bolt","href":"/mjolnir/overview"},{"title":"Agentic whitebox","icon":"play","href":"/mjolnir/runs"},{"title":"Scheduled Assessments","icon":"calendar-clock","href":"/mjolnir/scheduled-assessments"}]},{"group":"Setup","pages":[{"title":"Step 1: Connect GitHub","icon":"github","href":"/mjolnir/setup/connect-github"},{"title":"Step 2: Scope \u0026 Connectivity","icon":"globe","href":"/mjolnir/setup/scope-and-connectivity"},{"title":"Allowlisting Borg IPs","icon":"shield-check","href":"/mjolnir/setup/allowlisting"},{"title":"Step 3: Code \u0026 Documentation","icon":"code","href":"/mjolnir/code-and-docs/repositories"},{"title":"Pricing","href":"/mjolnir/setup/pricing"},{"title":"Domain Verification","icon":"badge-check","href":"/mjolnir/domain-verification/overview"},{"title":"Setup Drafts","icon":"floppy-disk","href":"/mjolnir/setup/drafts"}]},{"group":"Code Review","pages":[{"title":"PR Reviews","description":"Automatic and on-demand Odin security reviews for pull requests","icon":"git-pull-request","href":"/mjolnir/pr-reviews"},{"title":"Suppression Rules","icon":"shield-off","href":"/mjolnir/suppression-rules"},{"title":"Configuration","description":"Turn on PR reviews per repository and review the pentest's full-scan setup","icon":"sliders","href":"/mjolnir/configuration"}]}]}]},"title":"Suppression Rules - Odin","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":[],"chunks":[]}