diff --git a/docs/assets/images/add_edit_connectors.png b/docs/assets/images/add_edit_connectors.png index b4b4fec881c..fedcf0d060e 100644 Binary files a/docs/assets/images/add_edit_connectors.png and b/docs/assets/images/add_edit_connectors.png differ diff --git a/docs/assets/images/add_edit_connectors_2.png b/docs/assets/images/add_edit_connectors_2.png index e074c4146a7..fedcf0d060e 100644 Binary files a/docs/assets/images/add_edit_connectors_2.png and b/docs/assets/images/add_edit_connectors_2.png differ diff --git a/docs/assets/images/add_edit_connectors_3.png b/docs/assets/images/add_edit_connectors_3.png index 68e2147e4b2..9f38943e4cc 100644 Binary files a/docs/assets/images/add_edit_connectors_3.png and b/docs/assets/images/add_edit_connectors_3.png differ diff --git a/docs/assets/images/integrators_3.png b/docs/assets/images/integrators_3.png index 9b81ad527e8..e864256ebfc 100644 Binary files a/docs/assets/images/integrators_3.png and b/docs/assets/images/integrators_3.png differ diff --git a/docs/assets/js/custom.js b/docs/assets/js/custom.js index cfe53a366c7..a9d57852a8c 100644 --- a/docs/assets/js/custom.js +++ b/docs/assets/js/custom.js @@ -1,12 +1,27 @@ // custom js - -// version toggler +// Mobile navigation: the site sets doks.bootstrapJavascript = false, so no +// Bootstrap plugins load and the header's offcanvas toggles are dead markup. +// Importing the Offcanvas plugin evaluates its module, which registers the +// data-bs-toggle="offcanvas" click handling; the window reference keeps the +// import (and its side effects) from being tree-shaken. +import { Offcanvas } from 'bootstrap'; + +window.ddOffcanvas = Offcanvas; + + +// Edition toggler (Open Source / Pro) +// +// The sidebar renders both edition menus (.version-opensource / .version-pro). +// Which menu shows — and which segmented-control button reads as selected — +// is pure CSS keyed off html[data-dd-version] (see _custom.scss). An inline +// script in custom-head.html stamps that attribute from localStorage before +// first paint, so every page load renders the stored edition immediately with +// no hide-then-reveal flicker. This module only handles toggling: update the +// attribute, persist the choice, sync aria-checked for assistive tech. (() => { "use strict"; - console.log("[VersionToggle] custom.js loaded"); - // Asset-modelling landing pages per edition. The top nav is otherwise // static, so a single URL can't be correct for both editions: we keep the // "Model Your Assets" nav link in sync with the selected version, and — @@ -28,30 +43,21 @@ }; const setVersion = (version) => { - console.log("[VersionToggle] Setting version to:", version); + // CSS shows the matching menu and highlights the matching button + document.documentElement.dataset.ddVersion = version; - document.querySelectorAll(".version-opensource, .version-pro").forEach(el => { - el.style.display = el.classList.contains(`version-${version}`) ? "block" : "none"; - }); - - localStorage.setItem("version", version); - console.log("[VersionToggle] localStorage updated:", localStorage.getItem("version")); + try { + localStorage.setItem("version", version); + } catch (e) { + // Storage blocked (private browsing) — toggle still works this page + } - // Update dropdown - const selects = document.querySelectorAll("#version-select"); - selects.forEach(sel => { - sel.value = version; - sel.dataset.version = version; - sel.style.visibility = "visible"; + // aria-checked is for assistive tech only; visuals come from the + // html[data-dd-version] attribute above + document.querySelectorAll(".dd-version-seg button[data-version-value]").forEach(btn => { + btn.setAttribute("aria-checked", btn.dataset.versionValue === version ? "true" : "false"); }); - // unhide sidebar after version is applied - const sidebar = document.querySelector(".docs-sidebar"); - if (sidebar) { - sidebar.style.visibility = "visible"; - console.log("[VersionToggle] Sidebar revealed"); - } - // Edition-aware top nav: route "Model Your Assets" to the page that // matches the selected version (see assetNavUrls above). document.querySelectorAll("a.nav-link").forEach(link => { @@ -62,19 +68,20 @@ }; const initVersionToggle = () => { - const storedVersion = localStorage.getItem("version") || "opensource"; - console.log("[VersionToggle] Stored version:", storedVersion); - setVersion(storedVersion); + // custom-head.html already stamped the stored edition on before + // paint; re-applying it here syncs aria-checked and the nav link on + // freshly parsed (or dynamically replaced) markup. + setVersion(document.documentElement.dataset.ddVersion || "opensource"); }; - // Delegated listener on body - document.body.addEventListener("change", (e) => { - if (e.target && e.target.id === "version-select") { - console.log("[VersionToggle] Dropdown changed to:", e.target.value); - setVersion(e.target.value); + // Delegated listener on body — catches every control instance + document.body.addEventListener("click", (e) => { + const btn = e.target.closest("button[data-version-value]"); + if (btn) { + setVersion(btn.dataset.versionValue); // Only on an explicit user toggle (not on load) follow the page to // the matching edition when viewing an asset-modelling page. - switchAssetPageForVersion(e.target.value); + switchAssetPageForVersion(btn.dataset.versionValue); } }); @@ -91,6 +98,56 @@ })(); +// Code block language labels — stamp the fence language onto each +// expressive-code frame's (empty) title span so CSS can render it in the +// header band via attr(data-lang). Frames whose fence "language" is really +// an editor artifact (paths, line ranges) get a generic "code" label. +(() => { + "use strict"; + + const CLEAN_LANG = /^[a-z0-9_+#.-]{1,16}$/i; + + const init = () => { + document.querySelectorAll(".docs-content .expressive-code .frame").forEach(frame => { + const title = frame.querySelector(".header .title"); + if (!title || title.textContent.trim() !== "" || title.dataset.lang) return; + const code = frame.querySelector("pre code[data-lang]"); + let lang = code ? code.dataset.lang : ""; + if (!lang || lang === "fallback" || !CLEAN_LANG.test(lang)) lang = "code"; + title.dataset.lang = lang; + frame.classList.add("dd-has-lang"); + }); + }; + + if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", init); + } else { + init(); + } +})(); + + +// Homepage hero search field — forwards to the DocSearch modal +(() => { + "use strict"; + + const init = () => { + const trigger = document.getElementById("ddHomeSearch"); + if (!trigger) return; + trigger.addEventListener("click", () => { + const btn = document.getElementsByClassName("DocSearch-Button")[0]; + if (btn) btn.click(); + }); + }; + + if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", init); + } else { + init(); + } +})(); + + // Scroll progress bar — shows reading progress on doc pages (() => { "use strict"; diff --git a/docs/assets/scss/common/_custom.scss b/docs/assets/scss/common/_custom.scss index 22e0522e75a..38ece151749 100644 --- a/docs/assets/scss/common/_custom.scss +++ b/docs/assets/scss/common/_custom.scss @@ -1,3 +1,16 @@ +// ============================================================ +// DefectDojo Docs design system +// +// Imported last in doks-core app.scss — everything here wins the +// cascade. Selectors defined here are safelisted from PurgeCSS via +// purgecss-whitelister (see config/postcss.config.js). +// +// Architecture: CSS custom properties define both themes once +// (:root = light, [data-bs-theme="dark"] = dark); components read +// tokens instead of hardcoding hex per mode. Navy header/footer and +// code cards are shared brand surfaces with trust.defectdojo.com. +// ============================================================ + // ============================================================ // Font Face Declarations — Work Sans (Brand Typeface) // ============================================================ @@ -57,52 +70,295 @@ } // ============================================================ -// Layout +// Design tokens — light (default) + dark +// ============================================================ + +:root { + --dd-navy: #{$dd-navy}; + --dd-navy-2: #{$dd-navy-2}; + --dd-blue: #{$dd-fuji-blue}; + --dd-blue-deep: #0f5e9e; + --dd-blue-bright: #4aa3e8; + --dd-orange: #{$dd-torii-orange}; + --dd-orange-deep: #{$dd-torii-hue-03}; + + --dd-page: #ffffff; + --dd-surface: #ffffff; + --dd-surface-2: #f5f8fb; + --dd-ink: #{$dd-ink}; + --dd-muted: #{$dd-muted}; + --dd-border: #{$dd-border}; + --dd-border-strong: #cfd9e6; + --dd-link: #0f5e9e; + --dd-link-hover: #{$dd-fuji-blue}; + --dd-icon-tile: #eaf3fb; + --dd-icon-ink: #0f5e9e; + --dd-shadow-card: 0 1px 2px rgba(10, 22, 40, 0.05), 0 6px 20px -10px rgba(10, 22, 40, 0.1); + --dd-shadow-card-hover: 0 2px 4px rgba(10, 22, 40, 0.06), 0 14px 34px -12px rgba(10, 22, 40, 0.18); + + // Navy brand surfaces (header, footer, hero, code) — same in both modes + --dd-hero-ink: #f2f6fc; + --dd-hero-muted: #b7c5d9; + --dd-hero-line: rgba(151, 180, 216, 0.16); + + // Code cards + --dd-code-bg: #0d1b2f; + --dd-code-border: #23374f; + --dd-code-ink: #d7e3f4; + --dd-code-head: #0a1626; +} + +[data-bs-theme='dark'] { + --dd-page: #0b1422; + --dd-surface: #101d31; + --dd-surface-2: #16253c; + --dd-ink: #e7edf6; + --dd-muted: #93a3ba; + --dd-border: #243449; + --dd-border-strong: #334761; + --dd-link: #4aa3e8; + --dd-link-hover: #7fc0f2; + --dd-icon-tile: #16304a; + --dd-icon-ink: #4aa3e8; + --dd-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3), 0 6px 20px -10px rgba(0, 0, 0, 0.5); + --dd-shadow-card-hover: 0 2px 4px rgba(0, 0, 0, 0.35), 0 14px 34px -12px rgba(0, 0, 0, 0.6); + + --dd-code-bg: #0e1d33; + --dd-code-border: #273c58; + --dd-code-head: #0b1728; +} + +// ============================================================ +// Layout & base // ============================================================ .container-lg { max-width: 100%; } -html { - font-size: 85%; +body { + background-color: var(--dd-page); + color: var(--dd-ink); + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; } -// ============================================================ -// Typography — Brand Weight Hierarchy -// ============================================================ +a { + color: var(--dd-link); + + &:hover { + color: var(--dd-link-hover); + } +} h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - font-weight: 600; // Semi Bold per brand guidelines - color: #191919; // Dojo Black + font-weight: 600; + color: var(--dd-ink); +} + +::selection { + background-color: rgba($dd-fuji-blue, 0.22); } // ============================================================ -// Navbar +// Header — navy brand band, both color modes // ============================================================ -.navbar .nav-link { - font-weight: 500; // Medium per brand guidelines for nav/buttons +.dd-header { + background: + linear-gradient(180deg, rgba(23, 121, 197, 0.12), rgba(23, 121, 197, 0) 55%), + var(--dd-navy); + border-bottom: 1px solid rgba(151, 180, 216, 0.14); + padding-top: 0.5rem; + padding-bottom: 0.375rem; + + // Brand hairline: blue→orange stripe across the very top + &::before { + content: ''; + position: absolute; + inset: 0 0 auto; + height: 2px; + background: linear-gradient(90deg, var(--dd-blue) 0%, var(--dd-blue-bright) 55%, var(--dd-orange) 100%); + } + + // Always show the dark-surface logo inside the navy band + .logo-lightmode { + display: none; + } + + .logo-darkmode { + display: inline-block; + } + + .dd-wordmark { + color: var(--dd-hero-ink); + font-weight: 500; + letter-spacing: 0.01em; + } + + .nav-link, + .btn-link { + color: var(--dd-hero-muted); + + &:hover, + &:focus-visible { + color: #ffffff; + } + } + + // The main nav row sits inside #offcanvasNavMain but OUTSIDE + // .offcanvas-body in this header, so scope to .navbar-nav directly. + .navbar-nav .nav-link { + font-size: 0.9375rem; + font-weight: 500; + padding: 0.3125rem 0.75rem; + border-radius: 0.5rem; + white-space: nowrap; + color: var(--dd-hero-muted); + + &:hover { + color: #ffffff; + background-color: rgba(151, 180, 216, 0.12); + } + + &.active { + color: #ffffff; + background-color: rgba(23, 121, 197, 0.28); + } + } + + // Release chip next to the logo + .dd-release-chip { + display: inline-flex; + align-items: center; + font-size: 0.75rem; + font-weight: 500; + letter-spacing: 0.02em; + color: var(--dd-hero-muted); + background: rgba(23, 121, 197, 0.18); + border: 1px solid rgba(151, 180, 216, 0.28); + border-radius: 999px; + padding: 0.2rem 0.75rem; + text-decoration: none; + transition: color 0.15s ease, border-color 0.15s ease; + + &:hover { + color: #ffffff; + border-color: rgba(151, 180, 216, 0.55); + } + } } -.navbar .nav-link.active { - color: #1779C5; // Fuji Blue +// Search pill (DocSearch trigger) in the navy header +#searchToggleDesktop { + border: 1px solid rgba(151, 180, 216, 0.3); + border-radius: 999px; + padding: 0.375rem 1rem; + font-size: 0.875rem; + color: var(--dd-hero-muted); + background: rgba(10, 22, 40, 0.35); + gap: 0.375rem; + min-width: 13rem; + + &:hover { + border-color: rgba(151, 180, 216, 0.6); + color: #ffffff; + background: rgba(23, 121, 197, 0.18); + } + + .search-kbd { + font-family: inherit; + font-size: 0.6875rem; + font-weight: 600; + border: 1px solid rgba(151, 180, 216, 0.34); + border-radius: 0.3125rem; + padding: 0.05rem 0.45rem; + line-height: 1.5; + color: var(--dd-hero-muted); + background: rgba(151, 180, 216, 0.1); + } } -// ============================================================ -// Sidebar -// ============================================================ +.header-social-links { + gap: 0.125rem; + + .social-link { + padding: 0.25rem; + opacity: 0.75; + transition: opacity 0.15s ease; + + &:hover { + opacity: 1; + } + } +} + +// Mobile offcanvas panels use theme surfaces (readable in both modes) +.offcanvas { + background-color: var(--dd-surface); + color: var(--dd-ink); + + .offcanvas-header .btn-link { + color: var(--dd-ink); + } +} + +// Inside the navy header band the offcanvas is inlined on desktop; scope the +// light-on-navy colors so the *panel* (mobile, position: fixed) stays themed. +@media (max-width: 991.98px) { + .dd-header .offcanvas .navbar-nav .nav-link { + color: var(--dd-ink); + + &:hover { + color: var(--dd-link); + background-color: var(--dd-surface-2); + } + + &.active { + color: var(--dd-link); + background-color: var(--dd-icon-tile); + } + } + + .dd-header .offcanvas .dd-wordmark { + color: var(--dd-ink); + } + + .dd-header .offcanvas .logo-darkmode { + display: none; + } + + .dd-header .offcanvas .logo-lightmode { + display: inline-block; + } -.docs-sidebar { - visibility: hidden; // Hide sidebar until version is resolved + [data-bs-theme='dark'] .dd-header .offcanvas .logo-lightmode { + display: none; + } + + [data-bs-theme='dark'] .dd-header .offcanvas .logo-darkmode { + display: inline-block; + } + + .dd-header .offcanvas .dd-release-chip { + color: var(--dd-muted); + background: var(--dd-icon-tile); + border-color: var(--dd-border); + } } +// ============================================================ +// Sidebar — column sizing, edition control, nav tree +// ============================================================ + @media (min-width: 992px) { @supports ((position: -webkit-sticky) or (position: sticky)) { .docs-sidebar { - display: flex !important; // Override Bootstrap d-lg-block { display: block !important } + display: flex !important; // Override Bootstrap d-lg-block flex-direction: column; + flex: 0 0 auto; + width: 17rem; } .docs-version-toggle { @@ -113,567 +369,921 @@ h1, h2, h3, h4, h5, h6, flex: 1; min-height: 0; // Required: allows flex child to shrink below content size overflow-y: auto; + overflow-x: hidden; + scrollbar-width: thin; + scrollbar-color: var(--dd-border) transparent; } .docs-links { - max-height: none; // Parent flex container now handles height/scroll + max-height: none; // Parent flex container handles height/scroll overflow: visible; } + + // Content column takes the remaining width beside fixed rails + .docs-content { + flex: 1 1 0; + width: auto; + min-width: 0; + max-width: 62rem; + } } } -.doks-sidebar .section-nav a { - color: #333333; // Dojo Hue 04 - transition: color 0.15s ease, background-color 0.15s ease; +@media (min-width: 1200px) { + .docs-toc { + flex: 0 0 auto; + width: 15rem; + } } -.doks-sidebar .section-nav a:hover { - color: #1779C5; // Fuji Blue - background-color: rgba(#C6DDF2, 0.3); // Fuji Hue 01, subtle -} +// --- Edition segmented control (Open Source ↔ Pro) --- -.doks-sidebar .section-nav a[aria-current="page"] { - color: #1779C5; // Fuji Blue - font-weight: 600; - border-left: 3px solid #1779C5; - padding-left: 0.5rem; - background-color: rgba(#C6DDF2, 0.15); +.docs-version-toggle { + padding-top: 1.75rem; + padding-bottom: 1rem; } -// ============================================================ -// Buttons -// ============================================================ +.dd-version-seg { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 0.25rem; + padding: 0.25rem; + background: var(--dd-surface-2); + border: 1px solid var(--dd-border); + border-radius: 0.625rem; + + button { + appearance: none; + border: 0; + background: transparent; + border-radius: 0.4375rem; + padding: 0.375rem 0.5rem; + font-size: 0.8125rem; + font-weight: 500; + color: var(--dd-muted); + transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease; + white-space: nowrap; -.btn-primary { - --bs-btn-bg: #1779C5; - --bs-btn-border-color: #1779C5; - --bs-btn-hover-bg: #204D87; - --bs-btn-hover-border-color: #204D87; - --bs-btn-active-bg: #003864; - --bs-btn-active-border-color: #003864; -} + &:hover { + color: var(--dd-ink); + } -.btn-cta { - --bs-btn-bg: #F2561D; - --bs-btn-border-color: #F2561D; - --bs-btn-hover-bg: #F2762E; - --bs-btn-hover-border-color: #F2762E; - --bs-btn-active-bg: #C1230D; - --bs-btn-active-border-color: #C1230D; - --bs-btn-color: #fff; - --bs-btn-hover-color: #fff; - --bs-btn-active-color: #fff; - font-weight: 500; // Medium for buttons -} + // Selected state keys off the edition stamped on before first + // paint (custom-head.html), not aria-checked — the static markup always + // ships aria-checked="true" on Open Source, so styling from it would + // flash the wrong button when Pro is stored. JS keeps aria-checked in + // sync for assistive tech. :not() makes Open Source the no-JS default. + html:not([data-dd-version='pro']) &[data-version-value='opensource'], + html[data-dd-version='pro'] &[data-version-value='pro'] { + color: #ffffff; + font-weight: 600; + } -.hero-actions .btn-outline-secondary { - --bs-btn-color: #191919; - --bs-btn-border-color: #191919; - --bs-btn-hover-bg: #191919; - --bs-btn-hover-border-color: #191919; - --bs-btn-hover-color: #fff; - --bs-btn-active-bg: #333333; - --bs-btn-active-border-color: #333333; - --bs-btn-active-color: #fff; -} + html:not([data-dd-version='pro']) &[data-version-value='opensource'] { + background: var(--dd-blue); + box-shadow: 0 1px 3px rgba(23, 121, 197, 0.4); + } -[data-bs-theme="dark"] .hero-actions .btn-outline-secondary { - --bs-btn-color: #e0e0e0; - --bs-btn-border-color: #e0e0e0; - --bs-btn-hover-bg: #e0e0e0; - --bs-btn-hover-border-color: #e0e0e0; - --bs-btn-hover-color: #191919; - --bs-btn-active-bg: #cccccc; - --bs-btn-active-border-color: #cccccc; - --bs-btn-active-color: #191919; + html[data-dd-version='pro'] &[data-version-value='pro'] { + background: var(--dd-orange); + box-shadow: 0 1px 3px rgba(242, 86, 29, 0.4); + } + } } -// ============================================================ -// Version Selector -// ============================================================ - -#version-select[data-version="opensource"] { - background-color: rgba(#003864, 0.72); - border: 2px solid #003864; - color: white; -} +.version-menu-wrapper { + border-top: 1px solid var(--dd-border); + padding-top: 0.75rem; + padding-right: 0.375rem; -#version-select[data-version="pro"] { - background-color: rgba(#F2561D, 0.72); - border: 2px solid #F2561D; - color: white; + // The theme bleeds .docs-links 24px past its column (margin-right: -24px), + // which pushed every item outside this scroll wrapper and clipped labels, + // badges, and the active pill at the right edge. + .docs-links { + margin-right: 0; + } } -// Hide Pro-versioned content by default (opensource is default). -// JS sets explicit inline display:block/none when version is toggled. -.version-pro { +// Both edition menus render; html[data-dd-version] (stamped before first +// paint by custom-head.html, updated by custom.js on toggle) decides which +// one shows. Without JS the attribute is absent and Open Source shows. +html[data-dd-version='pro'] .version-opensource, +html:not([data-dd-version='pro']) .version-pro { display: none; } // Pro badge — appears next to sidebar items with audience: pro -// Box height is `1lh` so it equals one line-height of the surrounding text. .pro-badge { display: inline-flex; align-items: center; box-sizing: border-box; height: 1lh; margin-left: 0.5em; - padding: 0 0.45em; - border: 1px solid #F2561D; - border-radius: 0.25rem; - background-color: rgba(#F2561D, 0.72); - color: #fff; - font-size: 0.7em; - font-weight: 500; + padding: 0 0.5em; + border-radius: 999px; + background-color: rgba($dd-torii-orange, 0.14); + border: 1px solid rgba($dd-torii-orange, 0.35); + color: var(--dd-orange-deep); + font-size: 0.6875em; + font-weight: 600; + letter-spacing: 0.04em; + text-transform: uppercase; vertical-align: middle; white-space: nowrap; } -// ============================================================ -// Cards -// ============================================================ - -.card { - border-color: #DCDCDC; // Dojo Hue 01 - transition: border-color 0.15s ease, box-shadow 0.15s ease; -} - -.card:hover { - border-color: #82B0D9; // Fuji Hue 02 - box-shadow: 0 2px 8px rgba(#1779C5, 0.1); -} - -.card a.stretched-link { - color: #1779C5; - font-weight: 500; -} - -// ============================================================ -// Code Blocks -// ============================================================ - -:not(pre) > code { - background-color: rgba(#C6DDF2, 0.25); // Fuji Hue 01, subtle - color: #204D87; // Fuji Hue 03 - border-radius: 3px; - padding: 0.15em 0.35em; +[data-bs-theme='dark'] .pro-badge { + color: #f0946e; + background-color: rgba($dd-torii-orange, 0.16); + border-color: rgba($dd-torii-orange, 0.45); } -// ============================================================ -// Breadcrumb -// ============================================================ - -.breadcrumb-item a { - color: #1779C5; -} +// --- Sidebar nav tree --- -.breadcrumb-item.active { - color: #666666; // Dojo Hue 03 -} +.doks-sidebar .section-nav, +.docs-sidebar .section-nav { + padding-top: 0.25rem; -// ============================================================ -// Logo — Dark / Light mode switching -// ============================================================ + // Top-level groups read as small-caps section labels + > ul > li > details > summary { + font-size: 0.75rem; + font-weight: 600; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--dd-muted); + padding: 0.375rem 0; + line-height: 1.5; -.logo-darkmode { - display: none; -} + &:hover { + color: var(--dd-ink); + } + } -[data-bs-theme="dark"] .logo-lightmode { - display: none; -} + a { + display: block; + color: var(--dd-muted); + font-size: 0.9063rem; + line-height: 1.4; + margin: 0; + padding: 0.3125rem 0.625rem; + border-radius: 0.4375rem; + transition: color 0.13s ease, background-color 0.13s ease; -[data-bs-theme="dark"] .logo-darkmode { - display: inline-block; -} + &:hover { + color: var(--dd-link); + background-color: var(--dd-surface-2); + } -// ============================================================ -// DocSearch Overrides -// ============================================================ + &[aria-current='page'] { + color: var(--dd-link); + font-weight: 600; + background-color: var(--dd-icon-tile); + border-left: 0; + padding-left: 0.625rem; + } + } -.DocSearch-Container { - z-index: 2000 !important; -} + ul.list-nested { + border-left: 1px solid var(--dd-border); + margin-left: 0.25rem; -.DocSearch-Hit-icon { - display: flex; - align-items: center; -} + li a { + margin-left: -1px; + border-left: 2px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; -.DocSearch-Hits mark { - padding: 0; + &[aria-current='page'] { + border-left-color: var(--dd-blue); + } + } + } } -.DocSearch-Logo { - display: none !important; -} +// Chevron indicators on collapsible groups +.section-nav details > summary { + position: relative; + cursor: pointer; + padding-right: 1.5rem; + list-style: none; -@media (max-width: 768px) { - .DocSearch-Modal { - position: fixed !important; + // A clicked summary keeps :focus-visible in most browsers; the default + // outline ring gets clipped by the sidebar's scroll wrapper and reads as + // stray horizontal lines. Use a filled state instead (still obvious for + // keyboard users). + &:focus, + &:focus-visible { + outline: none; } -} - -// ============================================================ -// Selection Color -// ============================================================ -::selection { - background-color: rgba(#1779C5, 0.2); - color: #191919; + &:focus-visible { + background: var(--dd-icon-tile); + border-radius: 0.375rem; + color: var(--dd-ink); + } } -// ============================================================ -// Homepage Sections -// ============================================================ - -.section-features h2 { - color: #1779C5; // Fuji Blue +.section-nav details > summary::-webkit-details-marker { + display: none; } -.section-features a { - color: #F2561D; // Torii Orange for call-to-action links - font-weight: 500; +.section-nav details > summary::after { + content: ''; + position: absolute; + right: 0.375rem; + top: 50%; + width: 0.5rem; + height: 0.5rem; + border-right: 1.5px solid var(--dd-muted); + border-bottom: 1.5px solid var(--dd-muted); + transform: translateY(-70%) rotate(-45deg); + transition: transform 0.18s ease; } -.section-features a:hover { - color: #C1230D; // Torii Hue 03 +.section-nav details[open] > summary::after { + transform: translateY(-70%) rotate(45deg); } // ============================================================ -// Dark Mode — Brand Adaptation +// Content — the reading experience // ============================================================ -[data-bs-theme="dark"] { - // Headings in dark mode — bright white for strong contrast - h1, h2, h3, h4, h5, h6, - .h1, .h2, .h3, .h4, .h5, .h6 { - color: #f0f0f0; - } +.docs-content { + line-height: 1.75; + padding-bottom: 3rem; - // Links use lighter blue in dark mode - a { - color: #82B0D9; // Fuji Hue 02 + > h1 { + font-size: clamp(1.75rem, 3vw, 2.25rem); + font-weight: 700; + letter-spacing: -0.02em; + line-height: 1.15; + margin-bottom: 1.25rem; } - a:hover { - color: #C6DDF2; // Fuji Hue 01 + // Comfortable measure for running text; media/code/tables use full width + p, + ul, + ol, + blockquote { + max-width: 72ch; } - // CTA button — ensure solid fill in dark mode - .btn-cta { - --bs-btn-bg: #F2561D !important; - --bs-btn-border-color: #F2561D !important; - --bs-btn-hover-bg: #F2762E !important; - --bs-btn-hover-border-color: #F2762E !important; - --bs-btn-active-bg: #C1230D !important; - --bs-btn-active-border-color: #C1230D !important; - --bs-btn-color: #fff !important; - --bs-btn-hover-color: #fff !important; - --bs-btn-active-color: #fff !important; - background-color: #F2561D !important; - border-color: #F2561D !important; - color: #fff !important; + p, + li { + font-size: 1.0625rem; } - .btn-cta:hover { - background-color: #F2762E !important; - border-color: #F2762E !important; + li { + margin-bottom: 0.25rem; } - // Primary button in dark mode - .btn-primary { - --bs-btn-bg: #1779C5; - --bs-btn-border-color: #1779C5; - --bs-btn-hover-bg: #82B0D9; - --bs-btn-hover-border-color: #82B0D9; - --bs-btn-color: #fff; - --bs-btn-hover-color: #fff; + h2 { + font-size: 1.4375rem; + letter-spacing: -0.015em; + margin-top: 2.75rem; + padding-top: 1.375rem; + border-top: 1px solid var(--dd-border); + margin-bottom: 0.875rem; } - // Sidebar adjustments for dark mode - .doks-sidebar .section-nav a { - color: #B3B3B3; // Dojo Hue 02 + h2:first-of-type { + border-top: none; + padding-top: 0; } - .doks-sidebar .section-nav a:hover { - color: #82B0D9; - background-color: rgba(#1779C5, 0.1); + h3 { + font-size: 1.1875rem; + letter-spacing: -0.01em; + margin-top: 2rem; + margin-bottom: 0.625rem; } - .doks-sidebar .section-nav a[aria-current="page"] { - color: #82B0D9; - border-left-color: #82B0D9; - background-color: rgba(#1779C5, 0.08); + h4 { + font-size: 1.0313rem; + margin-top: 1.625rem; } - // Inline code in dark mode - :not(pre) > code { - background-color: rgba(#1779C5, 0.15); - color: #C6DDF2; + // Anchor offset beneath the sticky header + :is(h1, h2, h3, h4, h5, h6)[id] { + scroll-margin-top: 7.5rem; } - // Cards in dark mode - .card { - border-color: #333333; + // Framed screenshots + img:not(.markdown-svg) { + max-width: 100%; + height: auto; + border: 1px solid var(--dd-border); + border-radius: 0.625rem; + box-shadow: var(--dd-shadow-card); + margin: 0.375rem 0 1rem; } - .card:hover { - border-color: #82B0D9; - box-shadow: 0 2px 8px rgba(#1779C5, 0.15); + .markdown-svg { + max-width: 100%; + height: auto; } - .card a.stretched-link { - color: #82B0D9; - } + // Tables + table { + font-size: 0.9375rem; + margin-bottom: 1.5rem; + border-color: var(--dd-border); - // Version selector in dark mode - #version-select[data-version="opensource"] { - background-color: rgba(#003864, 0.85); - border-color: #82B0D9; - } + thead th { + background: var(--dd-surface-2); + border-bottom: 2px solid var(--dd-border-strong); + font-weight: 600; + white-space: nowrap; + } - #version-select[data-version="pro"] { - background-color: rgba(#F2561D, 0.85); - border-color: #F2762E; - } + th, + td { + border-color: var(--dd-border); + padding: 0.5625rem 0.875rem; + } - // Pro badge in dark mode - .pro-badge { - background-color: rgba(#F2561D, 0.85); - border-color: #F2762E; + tbody tr:hover { + background: var(--dd-surface-2); + } } - // Selection color in dark mode - ::selection { - background-color: rgba(#82B0D9, 0.3); - color: #DCDCDC; + // Blockquotes as quiet callouts + blockquote { + border-left: 3px solid var(--dd-blue); + padding: 0.75rem 1.125rem; + margin: 1.5rem 0; + color: var(--dd-muted); + background: var(--dd-surface-2); + border-radius: 0 0.5rem 0.5rem 0; + + p:last-child { + margin-bottom: 0; + } } +} + +// Inline code +:not(pre) > code { + background-color: rgba($dd-fuji-blue, 0.08); + color: var(--dd-link); + border: 1px solid rgba($dd-fuji-blue, 0.14); + border-radius: 0.3125rem; + padding: 0.1em 0.35em; + font-size: 0.875em; +} + +[data-bs-theme='dark'] :not(pre) > code { + background-color: rgba($dd-fuji-blue, 0.16); + color: #9fd0f5; + border-color: rgba($dd-fuji-blue, 0.3); +} + +// ============================================================ +// Code blocks — navy cards in both modes +// +// doks-core wraps every fence in an "expressive-code" frame +// (figure.frame > figcaption.header + .highlight > pre.chroma) whose +// look is driven entirely by --ec-* variables. We retheme the frame to +// the navy system by overriding those variables; the selector list +// mirrors the theme's own light-mode flips so the navy palette wins in +// BOTH color modes by cascade position. +// ============================================================ + +:root, +:root:not([data-bs-theme='dark']), +:root[data-bs-theme='light'] .expressive-code, +[data-bs-theme='dark'] { + --ec-brdRad: 0.625rem; + --ec-brdWd: 1px; + --ec-brdCol: var(--dd-code-border); + --ec-codeBg: var(--dd-code-bg); + --ec-codeFg: var(--dd-code-ink); + --ec-codeSelBg: #1d3b53; + --ec-uiFontFml: var(--bs-body-font-family); + --ec-focusBrd: var(--dd-blue-bright); + --ec-sbThumbCol: rgba(151, 180, 216, 0.22); + --ec-sbThumbHoverCol: rgba(151, 180, 216, 0.4); + --ec-frm-shdCol: transparent; + --ec-frm-frameBoxShdCssVal: none; + // Terminal frames (bash/sh fences): navy title bar + slate dots + --ec-frm-trmBg: var(--dd-code-bg); + --ec-frm-trmTtbBg: var(--dd-code-head); + --ec-frm-trmTtbFg: #7288a3; + --ec-frm-trmTtbDotsFg: #4a6076; + --ec-frm-trmTtbDotsOpa: 1; + --ec-frm-trmTtbBrdBtmCol: var(--dd-code-border); + // Editor frames (titled fences): navy tab bar + --ec-frm-edBg: var(--dd-code-bg); + --ec-frm-edTabBarBg: var(--dd-code-head); + --ec-frm-edTabBarBrdCol: var(--dd-code-border); + --ec-frm-edTabBarBrdBtmCol: var(--dd-code-border); + --ec-frm-edActTabBg: var(--dd-code-bg); + --ec-frm-edActTabFg: #9fd0f5; + --ec-frm-edActTabBrdCol: var(--dd-code-border); + --ec-frm-edActTabIndTopCol: var(--dd-blue); + // Copy button + --ec-frm-inlBtnFg: #d7e3f4; + --ec-frm-inlBtnBg: #7288a3; + --ec-frm-inlBtnBgIdleOpa: 0; + --ec-frm-inlBtnBgHoverOrFocusOpa: 0.18; + --ec-frm-tooltipSuccessBg: #178745; +} + +.expressive-code { + margin: 1.25rem 0 1.5rem; + + // The inner Hugo .highlight is plain content inside the frame + .highlight { + margin: 0; + border: 0; + background: transparent; + } + + .highlight pre { + margin: 0; + padding: 0.9375rem 1.125rem; + font-size: 0.875rem; + line-height: 1.65; - // Homepage features section — vibrant headings - .section-features h2 { - color: #C6DDF2; // Fuji Hue 01 — brighter for dark bg + code { + background: transparent; + color: inherit; + padding: 0; + font-size: inherit; + } } - .section-features a { - color: #F2561D; // Full Torii Orange — vivid on dark + // Header band typography (terminal dots bar + stamped language label) + .frame.is-terminal .header, + .frame.dd-has-lang .header { + display: flex; + align-items: center; + justify-content: flex-start; + min-height: 2.125rem; + font-size: 0.6875rem; + font-weight: 600; + letter-spacing: 0.12em; + text-transform: uppercase; + color: #7288a3; } - .section-features a:hover { - color: #F2D49B; // Torii Hue 01 + .frame.is-terminal .header { + padding-inline: 3.75rem 3rem; // clear the traffic dots on the left } - // Homepage description text - .section .lead, - .section .text-center { - color: #DCDCDC; + .frame.dd-has-lang:not(.is-terminal) .header { + padding-inline: 1.125rem 3rem; + background: var(--dd-code-head); + border: 1px solid var(--dd-code-border); + border-bottom-color: var(--dd-code-border); } - // Breadcrumb - .breadcrumb-item a { - color: #82B0D9; + .frame.dd-has-lang:not(.is-terminal) pre, + .frame.dd-has-lang:not(.is-terminal) code { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } - .breadcrumb-item.active { - color: #B3B3B3; + // Language label stamped by custom.js onto the empty title span + .frame .title[data-lang]:empty::before { + content: attr(data-lang); } -} -// ============================================================ -// WORLD-CLASS ENHANCEMENTS -// ============================================================ + // Copy button (doks clipboard.js injects .copy > .btn-copy > div; the + // theme's own icon mask applies — size and recolor it for the navy card) + .copy button.btn-copy { + width: 1.875rem; + height: 1.875rem; + background: transparent; + opacity: 0.85; -// --- Version Selector Proper Styling --- + > div { + position: absolute; + inset: 0; + background-color: #7288a3; + opacity: 1; + border-radius: inherit; + transition: background-color 0.15s ease; + } -.version-label { - padding-top: 2rem; - font-size: 0.8125rem; - font-weight: 500; - text-transform: uppercase; - letter-spacing: 0.05em; - color: #666666; -} + &:hover { + opacity: 1; + background: rgba(151, 180, 216, 0.14); -.version-menu-wrapper { - border-top: 1px solid #B3B3B3; - padding-top: 0.5rem; + > div { + background-color: #d7e3f4; + } + } + } } -[data-bs-theme="dark"] .version-label { - color: #B3B3B3; +// Bare
without a fence wrapper (rare) gets the same card look
+.docs-content > pre,
+.docs-content td > pre {
+ background: var(--dd-code-bg);
+ border: 1px solid var(--dd-code-border);
+ border-radius: 0.625rem;
+ color: var(--dd-code-ink);
+ padding: 0.9375rem 1.125rem;
+ font-size: 0.875rem;
}
-[data-bs-theme="dark"] .version-menu-wrapper {
- border-top-color: #333333;
+// --- Chroma syntax palette, tuned for the navy card ---
+
+.chroma {
+ color: var(--dd-code-ink);
+
+ // Comments
+ .c, .c1, .ch, .cm, .cs, .cp, .cpf { color: #7288a3; font-style: italic; }
+ // Keywords & operators-as-words
+ .k, .kc, .kd, .kn, .kp, .kr, .kt, .ow { color: #82b8f0; }
+ // Strings
+ .s, .s1, .s2, .sa, .sb, .sc, .dl, .sd, .se, .sh, .si, .sx, .sr, .ss { color: #86d7a8; }
+ // Numbers
+ .m, .mb, .mf, .mh, .mi, .mo, .il { color: #f2b26b; }
+ // Names
+ .na { color: #9fd0f5; }
+ .nb, .bp { color: #9fd0f5; }
+ .nc, .nn { color: #e8c07a; }
+ .nd { color: #c3b1f7; }
+ .ne { color: #f2938c; }
+ .nf, .fm { color: #c3b1f7; }
+ .nt { color: #82b8f0; }
+ .nv, .vc, .vg, .vi, .vm { color: #d7e3f4; }
+ .nl { color: #9fd0f5; }
+ // Operators & punctuation
+ .o { color: #94a9c9; }
+ .p { color: #94a9c9; }
+ // Diff
+ .gd { color: #f2938c; background-color: rgba(242, 147, 140, 0.12); }
+ .gi { color: #86d7a8; background-color: rgba(134, 215, 168, 0.12); }
+ // Generic
+ .gh, .gu { color: #9fd0f5; font-weight: 600; }
+ .ge { font-style: italic; }
+ .gs { font-weight: 600; }
+ .gp { color: #7288a3; }
+ .err { color: #f2938c; }
+ .w { color: inherit; }
+ // Highlighted lines
+ .hl { display: block; background-color: rgba(23, 121, 197, 0.16); }
+ // Line numbers
+ .ln, .lnt { color: #566b85; margin-right: 0.75rem; }
}
-// --- Sidebar Details/Summary Chevron Indicators ---
+// ============================================================
+// TOC ("On this page"), breadcrumbs, prev/next
+// ============================================================
-.section-nav details > summary {
- position: relative;
- cursor: pointer;
- padding-right: 1.5rem;
- list-style: none;
-}
+.page-links {
+ h3 {
+ font-size: 0.75rem;
+ font-weight: 600;
+ letter-spacing: 0.09em;
+ text-transform: uppercase;
+ color: var(--dd-muted);
+ }
-.section-nav details > summary::-webkit-details-marker {
- display: none;
-}
+ li:not(:first-child) {
+ border-top: 0;
+ }
-.section-nav details > summary::after {
- content: '';
- position: absolute;
- right: 0.25rem;
- top: 50%;
- transform: translateY(-50%);
- width: 0;
- height: 0;
- border-left: 5px solid #666666;
- border-top: 4px solid transparent;
- border-bottom: 4px solid transparent;
- transition: transform 0.2s ease;
-}
+ li {
+ margin-top: 0;
+ padding-top: 0;
+ }
-.section-nav details[open] > summary::after {
- transform: translateY(-50%) rotate(90deg);
-}
+ #toc ul,
+ nav > ul {
+ border-left: 1px solid var(--dd-border);
+ }
-[data-bs-theme="dark"] .section-nav details > summary::after {
- border-left-color: #B3B3B3;
-}
+ a {
+ color: var(--dd-muted);
+ font-size: 0.875rem;
+ padding: 0.25rem 0 0.25rem 0.875rem;
+ margin-left: -1px;
+ border-left: 2px solid transparent;
+ transition: color 0.13s ease, border-color 0.13s ease;
-// --- Site Footer ---
+ &:hover {
+ color: var(--dd-ink);
+ }
-.site-footer {
- border-top: 1px solid #DCDCDC;
- background-color: #fafafa;
- margin-top: 3rem;
- padding-top: 2rem;
- padding-bottom: 0;
+ &.active {
+ color: var(--dd-link);
+ font-weight: 500;
+ border-left-color: var(--dd-blue);
+ position: static;
+ }
+ }
+
+ a.active::before {
+ content: none;
+ }
+
+ li ul li {
+ padding-left: 0.5rem;
+ }
}
-.footer-heading {
- font-size: 0.75rem;
- font-weight: 600;
- text-transform: uppercase;
- letter-spacing: 0.08em;
- color: #666666;
+// Single-line breadcrumb: long crumbs ellipsize instead of wrapping, which
+// otherwise strands a leading "/" separator at the start of the next line.
+.breadcrumb {
+ font-size: 0.8125rem;
+ padding: 0;
+ margin-top: 1.5rem;
margin-bottom: 0.75rem;
+ flex-wrap: nowrap;
+ min-width: 0;
}
-.footer-links {
- li {
- margin-bottom: 0.375rem;
- }
+.breadcrumb-item {
+ display: flex;
+ align-items: center;
+ min-width: 3rem; // every crumb keeps a readable stub + ellipsis
+ white-space: nowrap;
+
a {
- color: #333333;
- font-size: 0.875rem;
- text-decoration: none;
- transition: color 0.15s ease;
- &:hover {
- color: #1779C5;
- text-decoration: none;
- }
+ overflow: hidden;
+ text-overflow: ellipsis;
}
-}
-.footer-social {
- display: flex;
- gap: 0.75rem;
+ &:first-child {
+ flex-shrink: 0; // "Home" is the shortest crumb; never truncate it
+ min-width: 0;
+ }
+
+ &.active {
+ // Block, not flex: text-overflow only renders on block containers, and
+ // the current page is bare text (no inner anchor to ellipsize).
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ flex-shrink: 0.5; // current page keeps roughly twice the room of ancestors
+ }
}
-.footer-social-link {
- color: #666666;
- transition: color 0.15s ease;
+.breadcrumb-item a {
+ color: var(--dd-muted);
+ text-decoration: none;
+
&:hover {
- color: #1779C5;
- text-decoration: none;
- }
- svg {
- width: 20px;
- height: 20px;
+ color: var(--dd-link);
}
}
-.footer-bottom {
- border-top: 1px solid #DCDCDC;
- padding: 1rem 0;
- margin-top: 1.5rem;
+.breadcrumb-item.active {
+ color: var(--dd-ink);
+ font-weight: 500;
}
-[data-bs-theme="dark"] {
- .site-footer {
- background-color: #111111;
- border-top-color: #333333;
- }
- .footer-heading {
- color: #B3B3B3;
- }
- .footer-links a {
- color: #B3B3B3;
+.breadcrumb-item + .breadcrumb-item::before {
+ content: "/";
+ color: var(--dd-border-strong);
+}
+
+// Prev / next cards
+.page-nav {
+ margin-top: 2.5rem;
+
+ .card {
+ background: var(--dd-surface);
+ border: 1px solid var(--dd-border);
+ border-radius: 0.75rem;
+ transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
+
&:hover {
- color: #82B0D9;
+ border-color: var(--dd-border-strong);
+ box-shadow: var(--dd-shadow-card-hover);
+ transform: translateY(-2px);
}
- }
- .footer-social-link {
- color: #B3B3B3;
- &:hover {
- color: #82B0D9;
+
+ .text-body-secondary {
+ font-size: 0.75rem;
+ font-weight: 600;
+ letter-spacing: 0.08em;
+ text-transform: uppercase;
+ color: var(--dd-muted) !important;
+ margin-bottom: 0.125rem;
+ }
+
+ a.stretched-link {
+ color: var(--dd-link);
+ font-weight: 600;
+ font-size: 0.9688rem;
+ }
+
+ svg {
+ color: var(--dd-muted);
+ margin: 0 0.5rem;
}
}
- .footer-bottom {
- border-top-color: #333333;
- }
}
-// --- Homepage Hero ---
+// ============================================================
+// Cards (generic) — used by list pages and search results
+// ============================================================
+
+.card {
+ background: var(--dd-surface);
+ border-color: var(--dd-border);
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
+}
+
+.card:hover {
+ border-color: var(--dd-border-strong);
+ box-shadow: var(--dd-shadow-card-hover);
+}
+
+.card a.stretched-link {
+ color: var(--dd-link);
+ font-weight: 500;
+}
+
+// ============================================================
+// Buttons
+// ============================================================
+
+.btn-primary {
+ --bs-btn-bg: #{$dd-fuji-blue};
+ --bs-btn-border-color: #{$dd-fuji-blue};
+ --bs-btn-hover-bg: #{$dd-fuji-hue-03};
+ --bs-btn-hover-border-color: #{$dd-fuji-hue-03};
+ --bs-btn-active-bg: #{$dd-fuji-hue-04};
+ --bs-btn-active-border-color: #{$dd-fuji-hue-04};
+ font-weight: 500;
+}
+
+.btn-cta {
+ --bs-btn-bg: #{$dd-torii-orange};
+ --bs-btn-border-color: #{$dd-torii-orange};
+ --bs-btn-hover-bg: #{$dd-torii-hue-02};
+ --bs-btn-hover-border-color: #{$dd-torii-hue-02};
+ --bs-btn-active-bg: #{$dd-torii-hue-03};
+ --bs-btn-active-border-color: #{$dd-torii-hue-03};
+ --bs-btn-color: #fff;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-active-color: #fff;
+ font-weight: 500;
+}
+
+// ============================================================
+// Homepage
+// ============================================================
+
+body.home .wrap.container-lg {
+ padding: 0;
+}
.hero-section {
- padding: 4rem 0 3rem;
+ position: relative;
+ overflow: hidden;
+ background:
+ radial-gradient(1000px 420px at 80% -20%, rgba(23, 121, 197, 0.26), transparent 62%),
+ radial-gradient(640px 380px at 10% 115%, rgba(23, 121, 197, 0.12), transparent 60%),
+ linear-gradient(180deg, var(--dd-navy) 0%, var(--dd-navy-2) 100%);
+ color: var(--dd-hero-ink);
+ padding: 4.25rem 1.5rem 4.5rem;
text-align: center;
+
+ // Fine blueprint grid
+ &::before {
+ content: '';
+ position: absolute;
+ inset: 0;
+ background-image:
+ linear-gradient(var(--dd-hero-line) 1px, transparent 1px),
+ linear-gradient(90deg, var(--dd-hero-line) 1px, transparent 1px);
+ background-size: 84px 84px;
+ mask-image: radial-gradient(1100px 640px at 50% 0%, rgba(0, 0, 0, 0.9), transparent 76%);
+ -webkit-mask-image: radial-gradient(1100px 640px at 50% 0%, rgba(0, 0, 0, 0.9), transparent 76%);
+ pointer-events: none;
+ }
+
+ > .container {
+ position: relative;
+ z-index: 1;
+ }
}
.hero-title {
- font-size: calc(2rem + 1.5vw);
- font-weight: 600;
+ font-size: clamp(2.125rem, 4.6vw, 3.125rem);
+ font-weight: 700;
+ letter-spacing: -0.022em;
+ line-height: 1.08;
+ color: #ffffff;
margin-bottom: 1rem;
}
.hero-subtitle {
- font-size: 1.125rem;
- color: #666666;
- line-height: 1.6;
+ font-size: 1.0625rem;
+ color: var(--dd-hero-muted);
+ line-height: 1.65;
margin-bottom: 1.5rem;
}
+.hero-section .lead,
+.hero-section .text-muted {
+ color: var(--dd-hero-muted) !important;
+}
+
+.hero-section a.text-muted:hover {
+ color: #ffffff !important;
+}
+
.hero-actions {
margin-bottom: 1rem;
-}
-.hero-actions .btn {
- min-width: 160px;
+ .btn {
+ min-width: 160px;
+ }
+
+ .btn-outline-secondary {
+ --bs-btn-color: var(--dd-hero-ink);
+ --bs-btn-border-color: rgba(151, 180, 216, 0.5);
+ --bs-btn-hover-bg: rgba(151, 180, 216, 0.14);
+ --bs-btn-hover-border-color: rgba(151, 180, 216, 0.8);
+ --bs-btn-hover-color: #ffffff;
+ --bs-btn-active-bg: rgba(151, 180, 216, 0.2);
+ --bs-btn-active-border-color: rgba(151, 180, 216, 0.8);
+ --bs-btn-active-color: #ffffff;
+ }
}
-[data-bs-theme="dark"] .hero-subtitle {
- color: #B3B3B3;
+// Big search field in the hero (opens DocSearch)
+.dd-hero-search {
+ display: flex;
+ align-items: center;
+ gap: 0.875rem;
+ width: 100%;
+ max-width: 520px;
+ margin: 0 auto 1.75rem;
+ padding: 0.875rem 1.125rem;
+ border: 1px solid rgba(151, 180, 216, 0.34);
+ border-radius: 0.75rem;
+ background: rgba(10, 22, 40, 0.55);
+ color: var(--dd-hero-muted);
+ font-size: 0.9688rem;
+ text-align: left;
+ transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
+
+ svg {
+ width: 1.125rem;
+ height: 1.125rem;
+ flex: none;
+ color: var(--dd-blue-bright);
+ }
+
+ .dd-hero-search-label {
+ flex: 1;
+ }
+
+ .dd-kbd {
+ flex: none;
+ font-size: 0.6875rem;
+ font-weight: 600;
+ letter-spacing: 0.04em;
+ color: var(--dd-hero-muted);
+ border: 1px solid rgba(151, 180, 216, 0.34);
+ border-radius: 0.3125rem;
+ padding: 0.15rem 0.45rem;
+ background: rgba(151, 180, 216, 0.08);
+ }
+
+ &:hover,
+ &:focus-visible {
+ border-color: var(--dd-blue-bright);
+ background: rgba(14, 36, 64, 0.75);
+ color: #ffffff;
+ transform: translateY(-1px);
+ }
}
-// --- Home Navigation Cards ---
+// Quick-nav cards — overlap the hero edge
+.home-cards-band {
+ position: relative;
+ z-index: 2;
+ margin-top: -3.25rem;
+ padding: 0 1.5rem;
+}
.home-card {
display: block;
- padding: 1.5rem;
- border: 1px solid #DCDCDC;
- border-radius: 0.5rem;
+ padding: 1.375rem 1.25rem;
+ background: var(--dd-surface);
+ border: 1px solid var(--dd-border);
+ border-radius: 0.875rem;
+ box-shadow: var(--dd-shadow-card);
text-decoration: none;
color: inherit;
transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
height: 100%;
&:hover {
- border-color: #82B0D9;
- box-shadow: 0 4px 12px rgba(23, 121, 197, 0.1);
- transform: translateY(-2px);
+ border-color: var(--dd-border-strong);
+ box-shadow: var(--dd-shadow-card-hover);
+ transform: translateY(-3px);
text-decoration: none;
color: inherit;
}
@@ -681,264 +1291,235 @@ h1, h2, h3, h4, h5, h6,
h3 {
font-size: 1rem;
font-weight: 600;
- margin: 0.75rem 0 0.375rem;
- color: #191919;
+ letter-spacing: -0.005em;
+ margin: 0.875rem 0 0.375rem;
+ color: var(--dd-ink);
}
p {
font-size: 0.875rem;
- color: #666666;
+ color: var(--dd-muted);
margin-bottom: 0;
- line-height: 1.5;
+ line-height: 1.55;
}
}
.home-card-icon {
- color: #1779C5;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 2.75rem;
+ height: 2.75rem;
+ border-radius: 0.75rem;
+ background: var(--dd-icon-tile);
+ color: var(--dd-icon-ink);
+
svg {
- width: 32px;
- height: 32px;
+ width: 1.375rem;
+ height: 1.375rem;
}
}
-[data-bs-theme="dark"] {
- .home-card {
- border-color: #333333;
+// Community strip
+.section-features {
+ padding-top: 2rem;
+
+ h2 {
+ font-size: 1.0625rem;
+ font-weight: 600;
+ color: var(--dd-ink);
+ }
+
+ p {
+ color: var(--dd-muted);
+ font-size: 0.9375rem;
+ }
+
+ a {
+ color: var(--dd-link);
+ font-weight: 500;
+
&:hover {
- border-color: #82B0D9;
- box-shadow: 0 4px 12px rgba(23, 121, 197, 0.15);
+ color: var(--dd-link-hover);
}
- h3 { color: #f0f0f0; }
- p { color: #B3B3B3; }
- }
- .home-card-icon {
- color: #82B0D9;
}
}
-// --- 404 Page ---
+// ============================================================
+// 404
+// ============================================================
.error-code {
- font-size: 8rem;
- font-weight: 600;
- color: #DCDCDC;
+ font-size: 7rem;
+ font-weight: 700;
+ letter-spacing: -0.03em;
+ color: var(--dd-border-strong);
line-height: 1;
margin-bottom: 0.5rem;
}
-[data-bs-theme="dark"] .error-code {
- color: #333333;
-}
+// ============================================================
+// Footer — navy brand band (matches the header bookend)
+// ============================================================
-// --- Back-to-Top Button Branding ---
+.site-footer {
+ background: var(--dd-navy);
+ border-top: 1px solid rgba(151, 180, 216, 0.14);
+ color: var(--dd-hero-muted);
+ margin-top: 3.5rem;
+ padding-top: 2.25rem;
+ padding-bottom: 0;
-#toTop {
- background-color: #1779C5;
- border-color: #1779C5;
- &:hover {
- background-color: #204D87;
- border-color: #204D87;
+ // Always the light-on-dark logo inside the navy band
+ .logo-lightmode {
+ display: none;
}
-}
-// --- Breadcrumb Refinements ---
+ .logo-darkmode {
+ display: inline-block;
+ }
-.breadcrumb {
- font-size: 0.8125rem;
- padding: 0;
- margin-top: 1.5rem;
- margin-bottom: 0.5rem;
-}
+ .text-muted,
+ small.text-muted {
+ color: rgba(183, 197, 217, 0.75) !important;
+ }
-.breadcrumb-item + .breadcrumb-item::before {
- content: "/";
- color: #B3B3B3;
+ a.text-muted:hover,
+ .footer-bottom a:hover {
+ color: #ffffff !important;
+ }
}
-// --- Scroll Progress Indicator ---
-
-.scroll-progress {
- position: fixed;
- top: 0;
- left: 0;
- height: 3px;
- background: linear-gradient(90deg, #1779C5, #F2561D);
- z-index: 9999;
- transition: width 0.1s linear;
+body.home .site-footer {
+ margin-top: 3rem;
}
-// --- Typography Refinements ---
-
-.docs-content {
- line-height: 1.7;
-
- h2 {
- margin-top: 2.5rem;
- padding-top: 1rem;
- border-top: 1px solid #DCDCDC;
- }
-
- h2:first-of-type {
- border-top: none;
- padding-top: 0;
- }
+.footer-heading {
+ font-size: 0.75rem;
+ font-weight: 600;
+ text-transform: uppercase;
+ letter-spacing: 0.09em;
+ color: var(--dd-hero-muted);
+ margin-bottom: 0.75rem;
+}
- h3 {
- margin-top: 2rem;
+.footer-links {
+ li {
+ margin-bottom: 0.375rem;
}
- // Better table styling
- table {
+ a {
+ color: rgba(183, 197, 217, 0.9);
font-size: 0.875rem;
- margin-bottom: 1.5rem;
- }
+ text-decoration: none;
+ transition: color 0.15s ease;
- // Blockquote styling
- blockquote {
- border-left: 3px solid #1779C5;
- padding: 0.5rem 1rem;
- margin: 1.5rem 0;
- color: #666666;
- background: rgba(#C6DDF2, 0.1);
- border-radius: 0 0.25rem 0.25rem 0;
+ &:hover {
+ color: #ffffff;
+ text-decoration: none;
+ }
}
}
-[data-bs-theme="dark"] .docs-content {
- h2 {
- border-top-color: #333333;
- }
- blockquote {
- border-left-color: #82B0D9;
- color: #B3B3B3;
- background: rgba(#1779C5, 0.08);
- }
+.footer-social {
+ display: flex;
+ gap: 0.5rem;
}
-// --- TOC Active State Enhancement ---
+.footer-social-link {
+ display: inline-flex;
+ padding: 0.375rem;
+ border-radius: 0.5rem;
+ color: var(--dd-hero-muted);
+ transition: color 0.15s ease, background 0.15s ease;
-.page-links a.active {
- color: #1779C5;
- font-weight: 500;
- position: relative;
-}
+ &:hover {
+ color: #ffffff;
+ background: rgba(151, 180, 216, 0.12);
+ text-decoration: none;
+ }
-.page-links a.active::before {
- content: '';
- position: absolute;
- left: -0.75rem;
- top: 0.25rem;
- bottom: 0.25rem;
- width: 2px;
- background: #1779C5;
- border-radius: 1px;
+ svg {
+ width: 20px;
+ height: 20px;
+ }
}
-[data-bs-theme="dark"] .page-links a.active {
- color: #82B0D9;
-}
+.footer-bottom {
+ border-top: 1px solid rgba(151, 180, 216, 0.14);
+ padding: 1rem 0;
+ margin-top: 1.5rem;
-[data-bs-theme="dark"] .page-links a.active::before {
- background: #82B0D9;
+ a {
+ color: rgba(183, 197, 217, 0.9);
+ }
}
-// --- Header Nav Refinements ---
+// ============================================================
+// DocSearch — modal matches the design system
+// ============================================================
-.navbar-nav.flex-grow-1 {
- gap: 0;
- flex-wrap: wrap;
+.DocSearch-Container {
+ z-index: 2000 !important;
}
-.navbar-nav.flex-grow-1 .nav-link {
- font-size: 0.9rem;
- padding: 0.375rem 0.75rem;
- border-radius: 0.25rem;
- white-space: nowrap;
+.DocSearch-Hit-icon {
+ display: flex;
+ align-items: center;
+}
- &:hover {
- background-color: rgba(#C6DDF2, 0.2);
- }
+.DocSearch-Hits mark {
+ padding: 0;
+}
- &.active {
- background-color: rgba(#C6DDF2, 0.3);
- }
+.DocSearch-Logo {
+ display: none !important;
}
-[data-bs-theme="dark"] .navbar-nav.flex-grow-1 .nav-link {
- &:hover {
- background-color: rgba(#1779C5, 0.15);
- }
- &.active {
- background-color: rgba(#1779C5, 0.2);
+@media (max-width: 768px) {
+ .DocSearch-Modal {
+ position: fixed !important;
}
}
-// --- Search Button Refinement ---
-
-#searchToggleDesktop {
- border: 1px solid #CDCDCD;
- border-radius: 0.5rem;
- padding: 0.4rem 0.875rem;
- font-size: 0.875rem;
- color: #555555;
- background: #f5f5f5;
- gap: 0.25rem;
- min-width: 13rem;
-
- &:hover {
- border-color: #1779C5;
- color: #1779C5;
- background: #eef5fb;
- }
+// ============================================================
+// Misc chrome
+// ============================================================
- .search-kbd {
- font-family: inherit;
- font-size: 0.6875rem;
- font-weight: 600;
- border: 1px solid #CDCDCD;
- border-radius: 0.25rem;
- padding: 0.05rem 0.4rem;
- line-height: 1.4;
- color: #888888;
- background: #ffffff;
- }
+// Scroll progress indicator
+.scroll-progress {
+ position: fixed;
+ top: 0;
+ left: 0;
+ height: 2px;
+ background: linear-gradient(90deg, var(--dd-blue), var(--dd-orange));
+ z-index: 9999;
+ transition: width 0.1s linear;
}
-[data-bs-theme="dark"] #searchToggleDesktop {
- border-color: #444444;
- color: #B3B3B3;
- background: #2a2a2a;
+// Back-to-top button
+#toTop {
+ background-color: var(--dd-surface);
+ border: 1px solid var(--dd-border);
+ color: var(--dd-ink);
+ box-shadow: var(--dd-shadow-card);
&:hover {
- border-color: #82B0D9;
- color: #82B0D9;
- background: rgba(#1779C5, 0.15);
- }
-
- .search-kbd {
- border-color: #555555;
- color: #888888;
- background: #333333;
+ border-color: var(--dd-blue);
+ color: var(--dd-blue);
+ background-color: var(--dd-surface);
}
}
-// --- Header Social Links ---
-
-.header-social-links {
- gap: 0.125rem;
-
- .social-link {
- padding: 0.25rem;
- opacity: 0.6;
- transition: opacity 0.15s ease;
-
- &:hover {
- opacity: 1;
- }
- }
+// Page footer meta (last modified / edit page)
+.page-footer-meta {
+ color: var(--dd-muted);
+ font-size: 0.8438rem;
}
-// --- Print Styles ---
+// ============================================================
+// Print
+// ============================================================
@media print {
.navbar,
@@ -1012,21 +1593,21 @@ h1, h2, h3, h4, h5, h6,
}
}
-// --- Accessibility ---
+// ============================================================
+// Accessibility
+// ============================================================
-// Focus visible states
*:focus-visible {
- outline: 2px solid #1779C5;
+ outline: 2px solid var(--dd-blue-bright);
outline-offset: 2px;
}
.btn:focus-visible {
- outline: 2px solid #1779C5;
+ outline: 2px solid var(--dd-blue-bright);
outline-offset: 2px;
box-shadow: none;
}
-// Reduced motion preferences
@media (prefers-reduced-motion: reduce) {
*,
*::before,
@@ -1037,7 +1618,9 @@ h1, h2, h3, h4, h5, h6,
scroll-behavior: auto !important;
}
- .home-card:hover {
+ .home-card:hover,
+ .page-nav .card:hover,
+ .dd-hero-search:hover {
transform: none;
}
@@ -1053,9 +1636,9 @@ h1, h2, h3, h4, h5, h6,
left: 1rem;
z-index: 10000;
padding: 0.5rem 1rem;
- background: #1779C5;
+ background: var(--dd-blue);
color: #fff;
- border-radius: 0 0 0.25rem 0.25rem;
+ border-radius: 0 0 0.375rem 0.375rem;
text-decoration: none;
font-weight: 500;
diff --git a/docs/assets/scss/common/_variables-custom.scss b/docs/assets/scss/common/_variables-custom.scss
index 4fcc81fffe7..a719a7073d2 100644
--- a/docs/assets/scss/common/_variables-custom.scss
+++ b/docs/assets/scss/common/_variables-custom.scss
@@ -17,10 +17,24 @@ $dd-dojo-hue-02: #B3B3B3;
$dd-dojo-hue-03: #666666;
$dd-dojo-hue-04: #333333;
+// Navy surfaces shared with trust.defectdojo.com (brand bookends)
+$dd-navy: #0a1628;
+$dd-navy-2: #0e2440;
+
+// Cool neutrals for the reading canvas
+$dd-ink: #17222f;
+$dd-muted: #5a6b80;
+$dd-border: #e3e9f1;
+
// Bootstrap variable overrides
$primary: $dd-fuji-blue;
$secondary: $dd-fuji-hue-04;
+$border-radius: 0.5rem;
+$border-radius-sm: 0.375rem;
+$border-radius-lg: 0.75rem;
+$border-radius-xl: 1rem;
+
// Typography
$font-family-sans-serif:
"Worksans",
@@ -44,12 +58,12 @@ $font-weight-medium: 500;
$font-weight-semibold: 600;
// Body
-$body-color: $dd-dojo-black;
+$body-color: $dd-ink;
// Links
-$link-color: $dd-fuji-blue;
-$link-hover-color: $dd-fuji-hue-03;
+$link-color: #0f5e9e;
+$link-hover-color: $dd-fuji-blue;
// Headings
$headings-font-weight: 600;
-$headings-color: $dd-dojo-black;
+$headings-color: null; // resolved per-theme via CSS custom properties
diff --git a/docs/config/_default/menus/menus.en.toml b/docs/config/_default/menus/menus.en.toml
index 67ad0c35f91..08a736c9dd3 100644
--- a/docs/config/_default/menus/menus.en.toml
+++ b/docs/config/_default/menus/menus.en.toml
@@ -18,6 +18,11 @@
url = "/asset_modelling/engagements_tests/os__assets/"
weight = 13
+[[main]]
+ name = "Connections"
+ url = "/connections/about/"
+ weight = 13
+
[[main]]
name = "Metrics & Reports"
url = "/metrics_reports/dashboards/introduction_dashboard/"
@@ -30,7 +35,7 @@
[[main]]
name = "Issue Tracking"
- url = "/issue_tracking/intro/intro/"
+ url = "/connections/downstream/about/"
weight = 15
[[main]]
diff --git a/docs/config/_default/params.toml b/docs/config/_default/params.toml
index ecf7514c818..c951a554f63 100644
--- a/docs/config/_default/params.toml
+++ b/docs/config/_default/params.toml
@@ -51,12 +51,12 @@ mainSections = ["docs"]
"get_started",
"releases",
"import_data",
+ "connections",
"triage_findings",
"metrics_reports",
"admin",
"automation",
- "asset_modelling",
- "issue_tracking"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"])
+ "asset_modelling"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"])
toTopButton = true # scroll-to-top button
breadcrumbTrail = true # breadcrumb navigation on doc pages
diff --git a/docs/content/asset_modelling/OS_hierarchy/OS__asset_health_grade.md b/docs/content/asset_modelling/OS_hierarchy/OS__asset_health_grade.md
index 1c7088363f4..ba47d9a2530 100644
--- a/docs/content/asset_modelling/OS_hierarchy/OS__asset_health_grade.md
+++ b/docs/content/asset_modelling/OS_hierarchy/OS__asset_health_grade.md
@@ -4,7 +4,6 @@ description: "How DefectDojo calculates an Asset Health Grade"
weight: 7
audience: opensource
aliases:
- - /en/working_with_findings/organizing_engagements_tests/product_health_grade
- /asset_modelling/os_hierarchy/product_health_grade/
- /en/asset_modelling/os_hierarchy/product_health_grade/
---
diff --git a/docs/content/asset_modelling/PRO_hierarchy/assets_organizations.md b/docs/content/asset_modelling/PRO_hierarchy/assets_organizations.md
index 54e0c47e07a..69e16e58738 100644
--- a/docs/content/asset_modelling/PRO_hierarchy/assets_organizations.md
+++ b/docs/content/asset_modelling/PRO_hierarchy/assets_organizations.md
@@ -82,7 +82,7 @@ Core Application [Organization]
└── nginx
```
-In this diagram, every element under "Core Application" could be recorded as a separate Asset, with unique business criticality (see: [Priority & Risk](/asset_modelling/pro_hierarchy/priority_sla/#prioritization-engines/)), RBAC, and corresponding Engagements and Tests. You could continue to test, and store results, on the parent Asset (for example, `webapp-backend`), but you could also run isolated testing on a particular child Asset (for example, `database`).
+In this diagram, every element under "Core Application" could be recorded as a separate Asset, with unique business criticality (see: [Priority & Risk](/asset_modelling/pro_hierarchy/priority_sla/#prioritization-engines)), RBAC, and corresponding Engagements and Tests. You could continue to test, and store results, on the parent Asset (for example, `webapp-backend`), but you could also run isolated testing on a particular child Asset (for example, `database`).
### Pen Tests: Isolated RBAC
diff --git a/docs/content/asset_modelling/engagements_tests/OS__assets.md b/docs/content/asset_modelling/engagements_tests/OS__assets.md
index 2f875bf05cf..83003e505a9 100644
--- a/docs/content/asset_modelling/engagements_tests/OS__assets.md
+++ b/docs/content/asset_modelling/engagements_tests/OS__assets.md
@@ -175,6 +175,6 @@ In practice, Assets should be defined to reflect how systems are built and deplo
Assets can be mapped directly to Jira Projects, which push the Asset’s Findings into a Jira instance.
-Because Findings inherit risk, priority, and ownership from their parent Asset, the Asset effectively determines the remediation context that flows into Jira tickets and Integrator workflows.
+Because Findings inherit risk, priority, and ownership from their parent Asset, the Asset effectively determines the remediation context that flows into Jira tickets and Downstream Connection workflows.
Importantly, Assets are also the primary determining factor in a Finding’s SLA characteristics. Therefore, the SLA of a Findings depends on the SLA configuration of its parent Asset. More information about SLA configurations can be found [here](/asset_modelling/os_hierarchy/os__sla_configuration/#main-content).
diff --git a/docs/content/asset_modelling/engagements_tests/OS__engagements.md b/docs/content/asset_modelling/engagements_tests/OS__engagements.md
index 824644d611d..5c9c0e1604f 100644
--- a/docs/content/asset_modelling/engagements_tests/OS__engagements.md
+++ b/docs/content/asset_modelling/engagements_tests/OS__engagements.md
@@ -120,7 +120,7 @@ Once closed, the Engagement’s status will be changed to “Completed.” Never
Closing an Engagement does not change the status of the Findings within any of the Engagement’s Tests. Findings remain open, mitigated, or risk accepted according to their own lifecycle, and remain accessible for viewing and reporting.
-If the Engagement is linked to a Jira Epic (see **[Jira Integration: Enable Engagement Epic Mapping](/issue_tracking/jira/os__jira_guide/#enable-engagement-epic-mapping-for-products)**), closing the Engagement will trigger an asynchronous task that closes the associated Jira Epic in your connected Jira Space.
+If the Engagement is linked to a Jira Epic (see **[Jira Integration: Enable Engagement Epic Mapping](/connections/os_jira/os__jira_guide/#enable-engagement-epic-mapping-for-products)**), closing the Engagement will trigger an asynchronous task that closes the associated Jira Epic in your connected Jira Space.
### Reopen Engagements
@@ -160,13 +160,13 @@ For auditing purposes, it is recommended to close any completed Engagements, rat
## Jira Integration
-Engagements can be linked to a connected Jira Space, allowing Findings within the Engagement to be pushed to Jira as Issues. For a complete guide to setting up Jira, see **[Connecting DefectDojo to Jira](/issue_tracking/jira/os__jira_guide/)**.
+Engagements can be linked to a connected Jira Space, allowing Findings within the Engagement to be pushed to Jira as Issues. For a complete guide to setting up Jira, see **[Connecting DefectDojo to Jira](/connections/os_jira/os__jira_guide/)**.
### Engagement Epic Mapping
When **Enable Engagement Epic Mapping** is checked in a Product's Jira settings, Engagements will be pushed to Jira as Epics. Findings within the Engagement are pushed as child Issues underneath the Epic, mirroring DefectDojo's Engagement → Findings hierarchy in Jira's Epic → Issue structure.
-For more information on this setting, see **[Enable Engagement Epic Mapping](/issue_tracking/jira/os__jira_guide/#enable-engagement-epic-mapping-for-products)**.
+For more information on this setting, see **[Enable Engagement Epic Mapping](/connections/os_jira/os__jira_guide/#enable-engagement-epic-mapping-for-products)**.
### Engagement-Level Jira Settings
@@ -178,4 +178,4 @@ By default, Engagements inherit their Jira settings from their parent Product. H
- **Jira Labels** — tag Issues with Engagement-specific labels
- **Default Assignee** — assign Issues to a different team member
-These settings are accessible from the **Edit Engagement** page. For more details, see **[Engagement-Level Jira Settings](/issue_tracking/jira/os__jira_guide/#engagement-level-jira-settings)**.
\ No newline at end of file
+These settings are accessible from the **Edit Engagement** page. For more details, see **[Engagement-Level Jira Settings](/connections/os_jira/os__jira_guide/#engagement-level-jira-settings)**.
\ No newline at end of file
diff --git a/docs/content/asset_modelling/engagements_tests/PRO__assets.md b/docs/content/asset_modelling/engagements_tests/PRO__assets.md
index e8d171b69f4..4b85303764f 100644
--- a/docs/content/asset_modelling/engagements_tests/PRO__assets.md
+++ b/docs/content/asset_modelling/engagements_tests/PRO__assets.md
@@ -145,7 +145,7 @@ In DefectDojo Pro, Connectors are mapped to different Assets in DefectDojo Pro,
Once a Connector has been attached to an Asset, it will import scan results and create or update Engagements, Tests, and Findings within that Asset.
-For more information about Connectors, click [here](/import_data/pro/connectors/about_connectors/#main-content).
+For more information about Connectors, click [here](/connections/upstream/about/#main-content).
### CI/CD Pipelines
@@ -166,11 +166,11 @@ In DefectDojo Pro, Findings inherit their SLA targets, Priority, and Risk from t
This means that the same vulnerability may receive a different Priority or Risk score depending on whether it affects an internal development system or a production asset supporting critical business operations.
-### Jira / Integrators Relationships
+### Jira / Downstream Connection Relationships
-Assets can be mapped directly to [Jira](/issue_tracking/jira/pro__jira_guide/#main-content) or [Integrators](/issue_tracking/pro_integration/integrations_toolreference/#main-content) instances (e.g. GitHub, GitLab, ServiceNow, etc.), which push the Asset’s Findings outward into external ticketing/work-management systems.
+Assets can be mapped directly to [Jira](/connections/downstream/pro__jira_guide/#main-content) or [Integrators](/connections/downstream/downstream_toolreference/#main-content) instances (e.g. GitHub, GitLab, ServiceNow, etc.), which push the Asset’s Findings outward into external ticketing/work-management systems.
-Because Findings inherit risk, priority, and ownership from their parent Asset, the Asset effectively determines the remediation context that flows into Jira tickets and Integrator workflows.
+Because Findings inherit risk, priority, and ownership from their parent Asset, the Asset effectively determines the remediation context that flows into Jira tickets and Downstream Connection workflows.
Importantly, Assets are also the primary determining factor in a Finding’s SLA characteristics. Therefore, the SLA of a Findings depends on the SLA configuration of its parent Asset. More information about SLA configurations can be found [here](/asset_modelling/pro_hierarchy/priority_sla/#working-with-slas).
diff --git a/docs/content/asset_modelling/engagements_tests/PRO__engagements.md b/docs/content/asset_modelling/engagements_tests/PRO__engagements.md
index fee73acb9f8..530922fc43c 100644
--- a/docs/content/asset_modelling/engagements_tests/PRO__engagements.md
+++ b/docs/content/asset_modelling/engagements_tests/PRO__engagements.md
@@ -133,7 +133,7 @@ Engagements are closed by selecting **Close Engagement** within the Engagement
Closing an Engagement does not change the status of the Findings within any of the Engagement’s Tests. Findings remain open, mitigated, or risk accepted according to their own lifecycle, and remain accessible for viewing and reporting.
-If the Engagement is linked to a Jira Epic (see **[Jira Integration: Enable Engagement Epic Mapping](/issue_tracking/jira/pro__jira_guide/#enable-engagement-epic-mapping)**), closing the Engagement will trigger an asynchronous task that closes the associated Jira Epic in your connected Jira Space.
+If the Engagement is linked to a Jira Epic (see **[Jira Integration: Enable Engagement Epic Mapping](/connections/downstream/pro__jira_guide/#enable-engagement-epic-mapping)**), closing the Engagement will trigger an asynchronous task that closes the associated Jira Epic in your connected Jira Space.
### Reopen Engagements
@@ -171,13 +171,13 @@ For auditing purposes, it is recommended to close any completed Engagements, rat
## Jira Integration
-Engagements can be linked to a connected Jira Space, allowing Findings within the Engagement to be pushed to Jira as Issues. For a complete guide to setting up Jira, see **[Connecting DefectDojo to Jira](/issue_tracking/jira/pro__jira_guide/)**.
+Engagements can be linked to a connected Jira Space, allowing Findings within the Engagement to be pushed to Jira as Issues. For a complete guide to setting up Jira, see **[Connecting DefectDojo to Jira](/connections/downstream/pro__jira_guide/)**.
### Engagement Epic Mapping
When **Enable Engagement Epic Mapping** is checked in a Product’s Jira settings, Engagements will be pushed to Jira as Epics. Findings within the Engagement are pushed as child Issues underneath the Epic, mirroring DefectDojo’s Engagement → Findings hierarchy in Jira’s Epic → Issue structure.
-For more information on this setting, see **[Enable Engagement Epic Mapping](/issue_tracking/jira/pro__jira_guide/#enable-engagement-epic-mapping)**.
+For more information on this setting, see **[Enable Engagement Epic Mapping](/connections/downstream/pro__jira_guide/#enable-engagement-epic-mapping)**.
### Engagement-Level Jira Settings
@@ -189,4 +189,4 @@ By default, Engagements inherit their Jira settings from their parent Asset (Pro
- **Jira Labels** — tag Issues with Engagement-specific labels
- **Default Assignee** — assign Issues to a different team member
-These settings are accessible from the **Edit Engagement** page. For more details, see **[Engagement-Level Jira Settings](/issue_tracking/jira/pro__jira_guide/#engagement-level-jira-settings)**.
+These settings are accessible from the **Edit Engagement** page. For more details, see **[Engagement-Level Jira Settings](/connections/downstream/pro__jira_guide/#engagement-level-jira-settings)**.
diff --git a/docs/content/asset_modelling/engagements_tests/PRO__tests.md b/docs/content/asset_modelling/engagements_tests/PRO__tests.md
index 59784a8cfd3..689cc6a0585 100644
--- a/docs/content/asset_modelling/engagements_tests/PRO__tests.md
+++ b/docs/content/asset_modelling/engagements_tests/PRO__tests.md
@@ -43,7 +43,7 @@ DefectDojo parses the provided data, creates a new Test (or imports into an exis
#### Connectors
-[**Connectors**](/import_data/pro/connectors/about_connectors) can be used to automatically ingest and organize vulnerability data from external tools via API calls. Once configured, a Connector fetches scan results, parses the data, and creates new Tests or updates existing Tests depending on its configuration. Findings are then attached to the corresponding Test.
+[**Connectors**](/connections/upstream/about/) can be used to automatically ingest and organize vulnerability data from external tools via API calls. Once configured, a Connector fetches scan results, parses the data, and creates new Tests or updates existing Tests depending on its configuration. Findings are then attached to the corresponding Test.
#### Test Creation Mechanism Comparison
diff --git a/docs/content/issue_tracking/intro/_index.md b/docs/content/connections/_index.md
similarity index 60%
rename from docs/content/issue_tracking/intro/_index.md
rename to docs/content/connections/_index.md
index 8452f739bba..43cf736a24b 100644
--- a/docs/content/issue_tracking/intro/_index.md
+++ b/docs/content/connections/_index.md
@@ -1,9 +1,9 @@
---
-title: "Intro"
-description: ""
+title: "Connections"
+description: "Connect DefectDojo to your scanners and issue trackers"
summary: ""
-date: 2023-09-07T16:06:50+02:00
-lastmod: 2023-09-07T16:06:50+02:00
+date: 2026-07-14T00:00:00+00:00
+lastmod: 2026-07-14T00:00:00+00:00
draft: false
weight: 3
chapter: true
@@ -12,5 +12,6 @@ seo:
description: "" # custom description (recommended)
canonical: "" # custom canonical URL (optional)
robots: "" # custom robot tags (optional)
+audience: pro
exclude_search: true
----
\ No newline at end of file
+---
diff --git a/docs/content/connections/about.md b/docs/content/connections/about.md
new file mode 100644
index 00000000000..1ffd6eb4afb
--- /dev/null
+++ b/docs/content/connections/about.md
@@ -0,0 +1,64 @@
+---
+title: "About Connections"
+description: "The unified home for Upstream and Downstream Connections in the Pro UI"
+summary: ""
+date: 2026-07-14T00:00:00+00:00
+lastmod: 2026-07-14T00:00:00+00:00
+draft: false
+weight: 1
+chapter: true
+sidebar:
+ collapsed: true
+seo:
+ title: "" # custom title (optional)
+ description: "" # custom description (recommended)
+ canonical: "" # custom canonical URL (optional)
+ robots: "" # custom robot tags (optional)
+pro-feature: true
+---
+Note: Connections are a DefectDojo Pro-only feature.
+
+**Connections** is the single home in the DefectDojo Pro UI for every tool DefectDojo talks to, in either direction. It merges two features that were previously configured in separate places:
+
+* **Upstream Connections** (formerly **API Connectors**) pull findings and asset inventory *in* from your scanners and security tools.
+* **Downstream Connections** (formerly **Integrations**) push findings *out* to your issue trackers and ticketing systems.
+
+If you think of DefectDojo as the hub of your security data, Upstream Connections are how data arrives, and Downstream Connections are how remediation work leaves.
+
+## Where to find Connections
+
+In the Pro UI sidebar, open the **Connections** group under the **Import** header:
+
+* **Connections > Upstream Connections** — replaces the old **API Connectors** entry (previously under Import).
+* **Connections > Downstream Connections** — replaces the old **Integrations** entry (previously under Settings). This direction is currently in **Beta**.
+
+Old bookmarks and deep links keep working: the legacy `/connectors/…` and `/integrations/…` URLs automatically redirect to the new `/connections/upstream/…` and `/connections/downstream/…` pages.
+
+## Who can see what
+
+* **Upstream Connections** is visible to users with a Global Role of Reader or higher.
+* **Downstream Connections** is visible to superusers only, and is currently in **Beta** for Cloud-hosted DefectDojo Pro instances.
+
+The **Connections** group appears in the sidebar if at least one of the two pages is visible to you.
+
+## The Connections pages
+
+Both directions share the same refreshed layout:
+
+* Each tool is shown as a full-width **tile** — logo on the left, the tool name and a short description in the middle, and an action button on the right.
+* Each section has a **search box** that filters tiles by tool name as you type.
+
+On the **Upstream Connections** page:
+
+* **Configured Connections** lists the connectors you have already set up. Each tile shows an operational health summary (health status, last operation, and total / mapped record counts) and a **Manage Configuration** menu with **Manage Records & Operations**, **Edit Configuration**, and **Delete Configuration** actions.
+* **Available Connections** lists the supported tools you have not yet configured, each with an **Add Configuration** button.
+* A filter in the page header narrows both sections by connector type: **All**, **Asset** (or **Product**, depending on your instance's vocabulary) for connectors that import asset inventory, and **Finding** for connectors that import vulnerability data.
+
+On the **Downstream Connections** page:
+
+* **Available Integrations** lists every supported issue tracker. Tiles for integrations you have configured show a count of existing Integration Instances.
+
+## Next Steps
+
+* Read [About Upstream Connections](/connections/upstream/about/) and [add your first Upstream Connection](/connections/upstream/add_edit/) to start importing findings automatically.
+* Read the [Downstream Connections guide](/connections/downstream/about/) to push findings to your issue trackers.
diff --git a/docs/content/issue_tracking/jira/PRO__jira_guide.md b/docs/content/connections/downstream/PRO__jira_guide.md
similarity index 99%
rename from docs/content/issue_tracking/jira/PRO__jira_guide.md
rename to docs/content/connections/downstream/PRO__jira_guide.md
index df51eb2299d..a30c7093934 100644
--- a/docs/content/issue_tracking/jira/PRO__jira_guide.md
+++ b/docs/content/connections/downstream/PRO__jira_guide.md
@@ -1,9 +1,10 @@
---
-title: "📋 Jira Integration Guide"
+title: "Jira (Legacy)"
description: "Work with the Jira integration"
weight: 1
audience: pro
aliases:
+ - /issue_tracking/jira/pro__jira_guide/
- /en/share_your_findings/jira_guide
---
DefectDojo's Jira integration can be used to push Finding data to one or more Jira Spaces. By doing so, you can integrate DefectDojo into your standard development workflow. Here are some examples of how this can work:
diff --git a/docs/content/issue_tracking/pro_integration/_index.md b/docs/content/connections/downstream/_index.md
similarity index 82%
rename from docs/content/issue_tracking/pro_integration/_index.md
rename to docs/content/connections/downstream/_index.md
index 9a96558647c..8e091ced56b 100644
--- a/docs/content/issue_tracking/pro_integration/_index.md
+++ b/docs/content/connections/downstream/_index.md
@@ -1,5 +1,5 @@
---
-title: "Pro Integrations"
+title: "Downstream Connections"
description: ""
summary: ""
date: 2023-09-07T16:06:50+02:00
@@ -14,4 +14,6 @@ seo:
robots: "" # custom robot tags (optional)
exclude_search: true
audience: pro
+aliases:
+ - /issue_tracking/pro_integration/
---
\ No newline at end of file
diff --git a/docs/content/connections/downstream/about.md b/docs/content/connections/downstream/about.md
new file mode 100644
index 00000000000..6ab5dfd4765
--- /dev/null
+++ b/docs/content/connections/downstream/about.md
@@ -0,0 +1,101 @@
+---
+title: "Downstream Connections"
+weight: 1
+audience: pro
+aliases:
+ - /en/share_your_findings/integrations
+ - /issue_tracking/pro_integration/integrations/
+---
+**Availability:** Downstream Connections are currently in **Beta** and are only available for **Cloud-hosted** DefectDojo Pro instances. If you are an on-premise customer interested in this feature, please contact [support@defectdojo.com](mailto:support@defectdojo.com) for updates on availability.
+
+Downstream Connections let you push your Findings and Finding Groups to ticket tracking systems to easily integrate security remediation with your teams existing development workflow.
+
+Supported Downstream Connections:
+- Azure Devops
+- Bitbucket
+- Freshservice
+- GitHub
+- GitLab Boards
+- Jira
+- PagerDuty
+- ServiceDesk Plus
+- ServiceNow
+- Shortcut
+- Zendesk
+
+## Opening the Downstream Connections page
+
+The Downstream Connections page can be found under **Import > Connections > Downstream Connections** in the sidebar.
+
+
+
+## Setting up a Downstream Connection
+
+A Downstream Connection is configured with three key components:
+
+- **Integration Instance**: This is the primary connection method that DefectDojo will use with a third-party system. The Instance will include details such as a label, location and credentials to connect with, along with any other information that may be required by the vendor.
+- **Issue Tracker Mapping**: This is where mapping information is stored - defining the details required to connect to a given "project" within the vendor. These details include the name or ID of the "project", and mappings from DefectDojo Finding severity and status to the corresponding field in the vendor "ticket". You may have multiple mappings configured if you are trying to push Findings to multiple "project" locations.
+- **Issue Tracker Assignment**: This is where DefectDojo Products and Engagements are assigned to a given Issue Tracker Mapping, with per-Product/Engagement options to to define how a Finding will be pushed to a given vendor system.
+
+These components are hierarchical: Each **Instance** has one or more **Mappings**, which then have one or more **Tracker Assignments**.
+
+
+
+## Pushing Findings and Finding Groups
+
+Once these components are configured, Findings and Finding Groups can be sent to a given Issue Tracker in two ways; manually, or automatically.
+
+- **Manually**: Findings and Finding Groups contained in a Product/Engagement with an assigned **Issue Tracker Mapping** will have an option to "Push to Integrator". This will then create an Issue in the Issue Tracker with the corresponding Finding/Finding Group information. Push to Integrator can also be used to update an existing Issue.
+
+### Automatically Push Findings
+
+Findings can also be pushed automatically, with the **Issue Tracker Assignment** dictating how those objects will be pushed. These are the four options:
+
+- **Only Explicitly Publish Changes to Target**: This option disables any automatic behavior in the assigned Product or Engagement. The only way to push a Finding or Finding Group will be explicitly, as mentioned above.
+- **Automatically Link New Finding to Target**: When new Findings or Finding Groups are **created** in the assigned Product or Engagement, DefectDojo will automatically push the object to the Issue Tracker. Once created, these Findings or Findings Groups will not be updated without a manual Push to Integrator action.
+- **Automatically Update Existing Link on Finding Edit**: When Findings or Finding Groups are **updated** in the assigned Product or Engagement, automatically push the object to the Issue Tracker if an existing link has already been created manually.
+- **Automatically Link New and Update Existing Link on Finding Edit**: When Findings or Finding Groups are created **or** updated in the assigned Product or Engagement, automatically push the object to the Issue Tracker.
+
+## Issue Tracker Ticket Representation
+
+Issue Tracker Tickets are represented by a series of icons under the "Integrator Tickets" column when viewing and listing
+Findings and Finding Groups
+
+Icons from left to right:
+
+- **Integration Type**: The type of Issue Tracker the Ticket is associated with
+- **Ticket ID**: The ID of the Ticket, as defined by the Issue Tracker
+- **Ticket Link**: The direct link to the Ticket, as define by the Issue Tracker
+- **Changelog**: Specifies when the Issue Tracker Ticket was associated with a Finding or Finding Group, as well as the last time DefectDojo made a change to the ticket
+
+
+
+## Vendor-Specific Requirements
+
+Each vendor will have varying requirements for how DefectDojo will need to interact with them. This could be in the form of an authentication mechanism, additional fields on a per "project" basis, or severity/status mappings.
+
+For the complete list of requirements, please open the vendor specific pages below:
+
+- [Azure Devops](/connections/downstream/downstream_toolreference/#azure-devops-boards)
+- [Bitbucket](/connections/downstream/downstream_toolreference/#bitbucket)
+- [Freshservice](/connections/downstream/downstream_toolreference/#freshservice)
+- [GitHub](/connections/downstream/downstream_toolreference/#github)
+- [GitLab Boards](/connections/downstream/downstream_toolreference/#gitlab)
+- [Jira](/connections/downstream/downstream_toolreference/#jira)
+- [PagerDuty](/connections/downstream/downstream_toolreference/#pagerduty)
+- [ServiceDesk Plus](/connections/downstream/downstream_toolreference/#servicedesk-plus)
+- [ServiceNow](/connections/downstream/downstream_toolreference/#servicenow)
+- [Shortcut](/connections/downstream/downstream_toolreference/#shortcut)
+- [Zendesk](/connections/downstream/downstream_toolreference/#zendesk)
+
+## Error Handling and Debugging
+
+Downstream Connections can produce errors for a variety of reasons such as connectivity, authentication, permissions, etc.. To assist
+in debugging these errors, each Issue Tracker Mapping has a table of errors that list when the error occurred, the reason it
+occurred, and the Finding or Finding Group that failed to be pushed.
+
+These errors can be found by looking at the All Issue Tracker Mappings & Assignments page, under the ⚠️ Total Errors column.
+
+
+
+Clicking on the Total Errors entry will bring you to a page with more detailed descriptions of errors associated with this Downstream Connection.
diff --git a/docs/content/issue_tracking/pro_integration/integrations_toolreference.md b/docs/content/connections/downstream/downstream_toolreference.md
similarity index 93%
rename from docs/content/issue_tracking/pro_integration/integrations_toolreference.md
rename to docs/content/connections/downstream/downstream_toolreference.md
index 239ab6fa73c..de24386cba6 100644
--- a/docs/content/issue_tracking/pro_integration/integrations_toolreference.md
+++ b/docs/content/connections/downstream/downstream_toolreference.md
@@ -1,12 +1,13 @@
---
-title: "Integrators Tool Reference"
-description: "Detailed setup guides for Integrators"
+title: "Downstream Connections Tool Reference"
+description: "Detailed setup guides for Downstream Connections"
weight: 1
audience: pro
aliases:
- /en/share_your_findings/integrations_toolreference
+ - /issue_tracking/pro_integration/integrations_toolreference/
---
-Here are specific instructions detailing how to set up a DefectDojo Integration with a third party Issue Tracker.
+Here are specific instructions detailing how to set up a DefectDojo Downstream Connection with a third party Issue Tracker.
## Azure DevOps Boards
@@ -280,7 +281,7 @@ By default Jira issues use DefectDojo's built-in title and body. To customize th
### How it works
-- **Create / Update / Delete:** creating pushes a new issue and records the link on the Finding; updating edits the existing issue; deleting a Finding force-closes its issue (nothing is deleted in Jira). Pushes can be manual ("Push to Integrators") or automatic per the Issue Tracker Assignment.
+- **Create / Update / Delete:** creating pushes a new issue and records the link on the Finding; updating edits the existing issue; deleting a Finding force-closes its issue (nothing is deleted in Jira). Pushes can be manual ("Push to Integrator") or automatic per the Issue Tracker Assignment.
- **Status reconciliation:** after creating (and on every update) DefectDojo reads the issue's current status and, if it differs from the mapped target, finds a single workflow transition that reaches it and applies it. If no such transition exists, the mapping records an error rather than failing silently. Any transition-scoped custom fields are sent with that transition.
- **Ticket link:** the link surfaced on the Finding is `https://your-site.atlassian.net/browse/{ISSUE-KEY}` — always your public site URL, never the internal gateway.
- **Token lifecycle (OAuth):** DefectDojo owns the whole flow — it performs the authorization-code exchange, stores the access and refresh tokens, and refreshes on demand before a push, persisting the new refresh token each time (Atlassian rotates it on every refresh).
@@ -538,3 +539,44 @@ A few Zendesk-specific behaviors to be aware of:
- The ticket description is the first comment in Zendesk and cannot be edited after creation, so pushing an updated Finding will sync the ticket's subject, priority, and status, but not description changes.
- Tickets are marked `solved` rather than deleted when a Finding is removed; Zendesk closes solved tickets automatically after a period of time.
- `closed` is a final status - closed tickets cannot be updated at all, and pushing a Finding whose ticket has closed will report an error.
+
+## PagerDuty
+
+The PagerDuty Integration allows you to push DefectDojo Findings and Finding Groups as PagerDuty Incidents on a Service of your choice.
+
+### Instance Setup
+
+- **Label** should be the label that you want to use to identify this integration.
+- **Location** should be set to your regional PagerDuty REST API base URL: `https://api.pagerduty.com` for US accounts, or `https://api.eu.pagerduty.com` for EU accounts.
+- **API Token** should be set to a PagerDuty REST API key. An administrator can create one in PagerDuty under **Integrations > API Access Keys**.
+- **From Email** should be the email address of a valid PagerDuty user on the account. PagerDuty requires it when creating or updating incidents.
+
+### Issue Tracker Mapping
+
+- **Service ID** should be the ID of the PagerDuty Service that Incidents will be created on (e.g. `PXXXXXX`). You can find it in the URL while viewing the Service.
+
+### Severity Mapping Details
+
+By default this maps to the Incident **Urgency** field, which accepts `high` and `low`:
+
+- **Severity Field Name**: `Urgency`
+- **Info Mapping**: `low`
+- **Low Mapping**: `low`
+- **Medium Mapping**: `low`
+- **High Mapping**: `high`
+- **Critical Mapping**: `high`
+
+Alternatively, set **Severity Field Name** to `Priority` and use your account's Incident Priority names (e.g. `P1` - `P5`) as the mapping values. Priority names are resolved against the priorities configured on your PagerDuty account; an unknown name will report an error on push.
+
+### Status Mapping Details
+
+- **Status Field Name**: `Status`
+- **Active Mapping**: `triggered`
+- **Closed Mapping**: `resolved`
+- **False Positive Mapping**: `resolved`
+- **Risk Accepted Mapping**: `acknowledged`
+
+A few PagerDuty-specific behaviors to be aware of:
+
+- PagerDuty has no incident deletion - removing a Finding resolves its Incident instead.
+- Incident links open the Incident's web URL as returned by PagerDuty, so they work regardless of region.
diff --git a/docs/content/issue_tracking/jira/troubleshooting_jira.md b/docs/content/connections/downstream/troubleshooting_jira.md
similarity index 99%
rename from docs/content/issue_tracking/jira/troubleshooting_jira.md
rename to docs/content/connections/downstream/troubleshooting_jira.md
index 1e292fabd2a..e2da2b17299 100644
--- a/docs/content/issue_tracking/jira/troubleshooting_jira.md
+++ b/docs/content/connections/downstream/troubleshooting_jira.md
@@ -3,7 +3,8 @@ title: "Troubleshooting Jira errors"
description: "Fixing issues with a Jira integration"
weight: 2
aliases:
- - /en/share_your_findings/troubleshooting_jira/
+ - /issue_tracking/jira/troubleshooting_jira/
+ - /en/share_your_findings/troubleshooting_jira/
---
Here are some common issues with the Jira integration, and ways to address them.
diff --git a/docs/content/issue_tracking/intro/intro.md b/docs/content/connections/issue_tracking.md
similarity index 59%
rename from docs/content/issue_tracking/intro/intro.md
rename to docs/content/connections/issue_tracking.md
index 1fbfc616137..28191efbcbe 100644
--- a/docs/content/issue_tracking/intro/intro.md
+++ b/docs/content/connections/issue_tracking.md
@@ -1,7 +1,11 @@
---
title: "Issue Tracking Integration"
description: "Sync DefectDojo findings with your issue tracking system to streamline remediation and accountability."
-weight: 1
+weight: 5
+aliases:
+ - /issue_tracking/
+ - /issue_tracking/intro/
+ - /issue_tracking/intro/intro/
---
## Overview
@@ -10,8 +14,8 @@ The DefectDojo issue tracking integrations connect your vulnerability management
| Edition | Supported Issue Tracking Integrations |
|--------------|---------------------------------------|
-| Community Edition | * [Jira](/issue_tracking/jira/os__jira_guide/) |
-| Pro | * [Jira](/issue_tracking/jira/pro__jira_guide/)
* [Azure DevOps](/issue_tracking/pro_integration/integrations_toolreference/#azure-devops-boards)
* [GitHub](/issue_tracking/pro_integration/integrations_toolreference/#github)
* [GitLab Boards](/issue_tracking/pro_integration/integrations_toolreference/#gitlab)
* [ServiceNow](/issue_tracking/pro_integration/integrations_toolreference/#servicenow) |
+| Community Edition | * [Jira](/connections/os_jira/os__jira_guide/) |
+| Pro | * [Jira](/connections/downstream/downstream_toolreference/#jira) ([legacy guide](/connections/downstream/pro__jira_guide/))
* [Azure DevOps](/connections/downstream/downstream_toolreference/#azure-devops-boards)
* [Bitbucket](/connections/downstream/downstream_toolreference/#bitbucket)
* [Freshservice](/connections/downstream/downstream_toolreference/#freshservice)
* [GitHub](/connections/downstream/downstream_toolreference/#github)
* [GitLab Boards](/connections/downstream/downstream_toolreference/#gitlab)
* [PagerDuty](/connections/downstream/downstream_toolreference/#pagerduty)
* [ServiceDesk Plus](/connections/downstream/downstream_toolreference/#servicedesk-plus)
* [ServiceNow](/connections/downstream/downstream_toolreference/#servicenow)
* [Shortcut](/connections/downstream/downstream_toolreference/#shortcut)
* [Zendesk](/connections/downstream/downstream_toolreference/#zendesk) |
When enabled, DefectDojo can create issues automatically, or selectively from Products or Engagement. As Findings are updated in DefectDojo—resolved, mitigated, or reactivated—the corresponding issues can be kept in sync, ensuring both systems reflect the current state of risk.
diff --git a/docs/content/issue_tracking/jira/_index.md b/docs/content/connections/os_jira/_index.md
similarity index 84%
rename from docs/content/issue_tracking/jira/_index.md
rename to docs/content/connections/os_jira/_index.md
index 1d5c21c3546..67813b07d16 100644
--- a/docs/content/issue_tracking/jira/_index.md
+++ b/docs/content/connections/os_jira/_index.md
@@ -5,12 +5,15 @@ summary: ""
date: 2023-09-07T16:06:50+02:00
lastmod: 2023-09-07T16:06:50+02:00
draft: false
-weight: 3
+weight: 4
chapter: true
+audience: opensource
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)
canonical: "" # custom canonical URL (optional)
robots: "" # custom robot tags (optional)
exclude_search: true
+aliases:
+ - /issue_tracking/jira/
---
\ No newline at end of file
diff --git a/docs/content/issue_tracking/jira/OS__jira_guide.md b/docs/content/connections/os_jira/os__jira_guide.md
similarity index 99%
rename from docs/content/issue_tracking/jira/OS__jira_guide.md
rename to docs/content/connections/os_jira/os__jira_guide.md
index e67bf42d2e2..9e0153c4bec 100644
--- a/docs/content/issue_tracking/jira/OS__jira_guide.md
+++ b/docs/content/connections/os_jira/os__jira_guide.md
@@ -1,8 +1,10 @@
---
-title: "📋 Jira Integration Guide"
+title: "Jira"
description: "Work with the Jira integration"
weight: 2
audience: opensource
+aliases:
+ - /issue_tracking/jira/os__jira_guide/
---
DefectDojo's Jira integration can be used to push Finding data to one or more Jira Spaces. By doing so, you can integrate DefectDojo into your standard development workflow. Here are some examples of how this can work:
diff --git a/docs/content/import_data/pro/connectors/_index.md b/docs/content/connections/upstream/_index.md
similarity index 83%
rename from docs/content/import_data/pro/connectors/_index.md
rename to docs/content/connections/upstream/_index.md
index c77f1f3a4eb..234aeca2a26 100644
--- a/docs/content/import_data/pro/connectors/_index.md
+++ b/docs/content/connections/upstream/_index.md
@@ -1,11 +1,11 @@
---
-title: "Connectors"
+title: "Upstream Connections"
description: "Seamlessly connect DefectDojo to your security tools suite"
summary: ""
date: 2023-09-07T16:06:50+02:00
lastmod: 2023-09-07T16:06:50+02:00
draft: false
-weight: 4
+weight: 2
chapter: true
seo:
title: "" # custom title (optional)
@@ -14,4 +14,6 @@ seo:
robots: "" # custom robot tags (optional)
audience: pro
exclude_search: true
+aliases:
+ - /import_data/pro/connectors/
---
diff --git a/docs/content/import_data/pro/connectors/about_connectors.md b/docs/content/connections/upstream/about.md
similarity index 74%
rename from docs/content/import_data/pro/connectors/about_connectors.md
rename to docs/content/connections/upstream/about.md
index 21219670467..646db3be16c 100644
--- a/docs/content/import_data/pro/connectors/about_connectors.md
+++ b/docs/content/connections/upstream/about.md
@@ -1,5 +1,5 @@
---
-title: "About Connectors"
+title: "Upstream Connections"
description: "Seamlessly connect DefectDojo to your security tools suite"
summary: ""
date: 2023-09-07T16:06:50+02:00
@@ -16,15 +16,16 @@ seo:
robots: "" # custom robot tags (optional)
pro-feature: true
aliases:
+ - /import_data/pro/connectors/about_connectors/
- /en/connecting_your_tools/connectors/about_connectors
---
-Note: Connectors are a DefectDojo Pro-only feature.
+Note: Upstream Connections are a DefectDojo Pro-only feature.
DefectDojo allows users to build sophisticated API integrations, and gives users full control over how their vulnerability data is organized.
-But everyone needs a starting point, and that's where Connectors come in. Connectors are designed to get your security tools connected and importing data to DefectDojo as quickly as possible.
+But everyone needs a starting point, and that's where Upstream Connections come in. Upstream Connections (formerly known as **API Connectors**) are designed to get your security tools connected and importing data to DefectDojo as quickly as possible.
-We currently support Connectors for the following tools, with more on the way:
+We currently support Upstream Connections for the following tools, with more on the way:
* **Akamai API Security**
* **Anchore**
@@ -43,19 +44,19 @@ We currently support Connectors for the following tools, with more on the way:
* **Tenable**
* **Wiz**
-These Connectors provide an API\-speed integration with DefectDojo, and can be used to automatically ingest and organize vulnerability data from the tool.
+These connections provide an API\-speed integration with DefectDojo, and can be used to automatically ingest and organize vulnerability data from the tool.
-## Connectors Quick\-Start
+## Upstream Connections Quick\-Start
If you're using DefectDojo's **Auto\-Map** settings, you can have your first Connector up and running in no time.
-1. Set up a [Connector](../add_edit_connectors/) from a supported tool.
+1. Set up a [Connector](../add_edit/) from a supported tool.
2. [Discover](../manage_operations/#discover-operations) your tool's data hierarchy.
3. [Sync](../manage_operations/#sync-operations) the vulnerabilities found with your tool into DefectDojo.
That's all, really! And remember, even if you create your Connector the 'easy' way, you can easily change the way things are set up later, without losing any of your work.
-## How Connectors Work
+## How Upstream Connections Work
As long as you have the API key from the tool you're trying to connect, a connector can be added in just a few minutes. Once the connection is working, DefectDojo will **Discover** your tool's environment to see how you're organizing your scan data.
@@ -73,6 +74,6 @@ Fortunately, DefectDojo can still handle manual import for a wide range of secur
# **Next Steps**
-* Check out the Connectors page by switching to DefectDojo's **Pro UI**.
-* Follow our guide to [create your first Connector](../add_edit_connectors/).
+* Check out the **Upstream Connections** page by switching to DefectDojo's **Pro UI** and opening **Connections \> Upstream Connections** under the **Import** header.
+* Follow our guide to [create your first Connector](../add_edit/).
* Check out the process of [Running Operations](../manage_operations/) with your Connected security tools and see how they can be configured to import data.
diff --git a/docs/content/import_data/pro/connectors/add_edit_connectors.md b/docs/content/connections/upstream/add_edit.md
similarity index 51%
rename from docs/content/import_data/pro/connectors/add_edit_connectors.md
rename to docs/content/connections/upstream/add_edit.md
index 78f9d3a6263..6813c495ac2 100644
--- a/docs/content/import_data/pro/connectors/add_edit_connectors.md
+++ b/docs/content/connections/upstream/add_edit.md
@@ -1,31 +1,32 @@
---
-title: "Add or Edit a Connector"
+title: "Add or Edit Upstream Connections"
description: "Connect to a supported security tool"
aliases:
+ - /import_data/pro/connectors/add_edit_connectors/
- /en/connecting_your_tools/connectors/add_edit_connectors
---
-Note: Connectors are a DefectDojo Pro-only feature.
+Note: Upstream Connections are a DefectDojo Pro-only feature.
-The process for adding and configuring a connector is similar, regardless of the tool you’re trying to connect. However, certain tools may require you to create API keys or complete additional steps.
+The process for adding and configuring an Upstream Connection is similar, regardless of the tool you’re trying to connect. However, certain tools may require you to create API keys or complete additional steps.
-Before you begin this process, we recommend checking our [Tool-Specific Reference](../connectors_tool_reference/) to find the API resources for the tool you're trying to connect.
+Before you begin this process, we recommend checking our [Tool-Specific Reference](../toolreference/) to find the API resources for the tool you're trying to connect.
1. If you haven't already, start by **switching to the Pro UI** in DefectDojo.
-2. From the left\-side menu, click on the **API Connectors** menu item. This is nested under the **Import** header.
+2. From the left\-side menu, open the **Connections** group nested under the **Import** header, and click **Upstream Connections**.

-3. Choose a new Connector you want to add to DefectDojo in **Available Connections**, and click the **Add Configuration** underneath the tool.
+3. Choose a new Connector you want to add to DefectDojo in **Available Connections**, and click the **Add Configuration** button on the tool's tile. You can use the **Search Connections** box to filter each section by tool name, or the **All / Asset / Finding** toggle in the page header to filter by connector type.
You can also edit an existing Connection under the **Configured Connections** header. Click **Manage Configuration \> Edit Configuration** for the Configured Connection you want to Edit.

-4. You will need an accessible URL **Location** for the tool, along with an API **Secret** key. The location of the API key will depend on the tool you are trying to configure. See our [Tool\-Specific Reference](../connectors_tool_reference/) for more details.
+4. You will need an accessible **Location URL** for the tool, along with an API **Secret** key. The location of the API key will depend on the tool you are trying to configure. See our [Tool\-Specific Reference](../toolreference/) for more details.
5. Set a **Label** for this connection to help you identify it in DefectDojo.
-6. Schedule the **Connector’s** automatic Discovery and Synchronization activities. These can be changed later.
+6. Schedule the Connector's automatic discovery and sync using the **Discovery Configuration** and **Synchronization Configuration** schedules. These can be changed later.
7. Select whether you wish to **Enable Auto\-Mapping**. Enable Auto\-Mapping will create a new Product in DefectDojo to store the data from this connector. Auto\-Mapping can be turned on or off at any time.
diff --git a/docs/content/import_data/pro/connectors/manage_operations.md b/docs/content/connections/upstream/manage_operations.md
similarity index 90%
rename from docs/content/import_data/pro/connectors/manage_operations.md
rename to docs/content/connections/upstream/manage_operations.md
index 24bddbb0ab2..c4384ed65d1 100644
--- a/docs/content/import_data/pro/connectors/manage_operations.md
+++ b/docs/content/connections/upstream/manage_operations.md
@@ -2,11 +2,12 @@
title: "Managing Operations"
description: "Check the status of your Connector's Discover & Sync Operations"
aliases:
+ - /import_data/pro/connectors/manage_operations/
- /en/connecting_your_tools/connectors/manage_operations
---
-Note: Connectors are a DefectDojo Pro-only feature.
+Note: Upstream Connections are a DefectDojo Pro-only feature.
-Once an API connector is set up, it will run two Operations on a recurring basis:
+Once an Upstream Connection is set up, it will run two Operations on a recurring basis:
* **Discover** will learn the connected tool's structure, and will create records in DefectDojo of any unmapped data;
* **Sync** will import new Findings from the tool based on your mappings.
@@ -73,7 +74,7 @@ To learn more about Products, Engagements, Tests and Findings, see our [Product
To have DefectDojo run a Sync operation off\-schedule:
-1. Navigate to the **Manage Records \& Operations** page for the connector you want to use. From the **API Connectors** page, click the drop\-down menu on the Connector you wish to work with, and select Manage Records \& Operations.
+1. Navigate to the **Manage Records \& Operations** page for the connector you want to use. From the **Upstream Connections** page, click the **Manage Configuration** drop\-down menu on the Connector you wish to work with, and select **Manage Records \& Operations**.
2. From this page, click the **Sync** button. This button is located next to the **Mapped Records** header.
diff --git a/docs/content/import_data/pro/connectors/manage_records.md b/docs/content/connections/upstream/manage_records.md
similarity index 98%
rename from docs/content/import_data/pro/connectors/manage_records.md
rename to docs/content/connections/upstream/manage_records.md
index ff2f933c121..b0b967ce3f6 100644
--- a/docs/content/import_data/pro/connectors/manage_records.md
+++ b/docs/content/connections/upstream/manage_records.md
@@ -2,9 +2,10 @@
title: "Managing Records"
description: "Direct the flow of data from your tool into DefectDojo"
aliases:
+ - /import_data/pro/connectors/manage_records/
- /en/connecting_your_tools/connectors/manage_records
---
-Note: Connectors are a DefectDojo Pro-only feature.
+Note: Upstream Connections are a DefectDojo Pro-only feature.
Once you have run your first Discover operation, you should see a list of Mapped or Unmapped records on the **Manage Records and Operations** page.
diff --git a/docs/content/import_data/pro/connectors/connectors_tool_reference.md b/docs/content/connections/upstream/toolreference.md
similarity index 99%
rename from docs/content/import_data/pro/connectors/connectors_tool_reference.md
rename to docs/content/connections/upstream/toolreference.md
index 45a3e49000d..147c81a49b3 100644
--- a/docs/content/import_data/pro/connectors/connectors_tool_reference.md
+++ b/docs/content/connections/upstream/toolreference.md
@@ -1,10 +1,11 @@
---
-title: "Tool-Specific Connector Setup"
+title: "Upstream Connections Tool Reference"
description: "Our list of supported Connector tools, and how to set them up with DefectDojo"
aliases:
+ - /import_data/pro/connectors/connectors_tool_reference/
- /en/connecting_your_tools/connectors/connectors_tool_reference
---
-Note: Connectors are a DefectDojo Pro-only feature.
+Note: Upstream Connections are a DefectDojo Pro-only feature.
When setting up a Connector for a supported tool, you'll need to give DefectDojo specific information related to the tool's API. At a base level, you'll need:
diff --git a/docs/content/get_started/about/OS__new_user_checklist.md b/docs/content/get_started/about/OS__new_user_checklist.md
index cfe7cb1a86d..c5c25537e3b 100644
--- a/docs/content/get_started/about/OS__new_user_checklist.md
+++ b/docs/content/get_started/about/OS__new_user_checklist.md
@@ -23,6 +23,6 @@ This is the essence of DefectDojo - import security data, organize it, and prese
All of these features can be automated, and because DefectDojo can handle over 200 tools (at time of writing) you should be all set to create a functional security inventory of your entire organizational output.
### Open-Source Features
-- Does your organization use Jira? Learn how to use our [Jira integration](/issue_tracking/jira/os__jira_guide/) to create Jira tickets from the data you ingest.
+- Does your organization use Jira? Learn how to use our [Jira integration](/connections/os_jira/os__jira_guide/) to create Jira tickets from the data you ingest.
- Are you expecting to share DefectDojo with many users in your organization? Check out our guides to [user management](/admin/user_management/about_perms_and_roles/) and set up role-based access control (RBAC).
- Ready to dive into automation? Learn how to use the [DefectDojo API](/import_data/import_scan_files/api_pipeline_modelling/) to automatically import new data, and build a robust CI/CD pipeline.
\ No newline at end of file
diff --git a/docs/content/get_started/about/PRO__new_user_checklist.md b/docs/content/get_started/about/PRO__new_user_checklist.md
index f037e3365ac..f35055b8a3f 100644
--- a/docs/content/get_started/about/PRO__new_user_checklist.md
+++ b/docs/content/get_started/about/PRO__new_user_checklist.md
@@ -23,6 +23,6 @@ This is the essence of DefectDojo - import security data, organize it, and prese
All of these features can be automated, and because DefectDojo can handle over 200 tools (at time of writing) you should be all set to create a functional security inventory of your entire organizational output.
### Pro Features
-- If your organization uses Jira, ServiceNow, AzureDevops, GitHub or GitLab for issue tracking, check out our [documentation](/issue_tracking/intro/intro/) on those integrations.
+- If your organization uses Jira, ServiceNow, AzureDevops, GitHub or GitLab for issue tracking, check out our [documentation](/connections/issue_tracking/) on those integrations.
- Customize your [main Dashboard](/metrics_reports/dashboards/introduction_dashboard/) with filtered tiles to view your environment at a glance.
-- Learn how to rapidly import data and mirror your team's existing security environment with [Connectors](/import_data/pro/connectors/about_connectors/).
+- Learn how to rapidly import data and mirror your team's existing security environment with [Connectors](/connections/upstream/about/).
diff --git a/docs/content/get_started/about/about_defectdojo.md b/docs/content/get_started/about/about_defectdojo.md
index adecfb0dcdc..0891ad118e2 100644
--- a/docs/content/get_started/about/about_defectdojo.md
+++ b/docs/content/get_started/about/about_defectdojo.md
@@ -68,8 +68,8 @@ For teams managing a smaller volume of Findings, DefectDojo Open-Source is a gre
There are a few supported ways to install DefectDojo’s Open-Source edition ([available on Github](https://github.com/DefectDojo/django-DefectDojo)):
[Docker Compose](https://github.com/DefectDojo/django-DefectDojo/blob/master/readme-docs/DOCKER.md) is the easiest method to install the core program and services required to run DefectDojo.
-Our [Architecture](https://docs.defectdojo.com/get_started/open_source/architecture/) guide gives you an overview of each service and component used by DefectDojo.
-[Running In Production](https://docs.defectdojo.com/get_started/open_source/running-in-production/) lists system requirements, performance tweaks and maintenance processes for running DefectDojo on a production server (with Docker Compose).
+Our [Architecture](/get_started/open_source/architecture/) guide gives you an overview of each service and component used by DefectDojo.
+[Running In Production](/get_started/open_source/running-in-production/) lists system requirements, performance tweaks and maintenance processes for running DefectDojo on a production server (with Docker Compose).
Kubernetes is not fully supported at the Open-Source level, but this guide can be referenced and used as a starting point to integrate DefectDojo into Kubernetes architecture.
@@ -81,10 +81,10 @@ If you run into trouble with an Open-Source install, we highly recommend asking
DefectDojo Inc. hosts a Pro edition of this software for commercial purposes. Along with a sleek, modern UI, DefectDojo Pro includes:
-* [Connectors](/import_data/pro/connectors/about_connectors/): out-of-the-box API integrations with enterprise-level scanners (such as Checkmarx One, BurpSuite, Semgrep and more)
+* [Connectors](/connections/upstream/about/): out-of-the-box API integrations with enterprise-level scanners (such as Checkmarx One, BurpSuite, Semgrep and more)
* **Configurable Import Methods**: [Universal Parser](/supported_tools/parsers/universal_parser/), [Smart Upload](/import_data/pro/specialized_import/smart_upload/)
* **[CLI Tools](/import_data/pro/specialized_import/external_tools/)** for rapid integration with your systems
-* **[Additional Project Tracking Integrations](/issue_tracking/intro/intro/)**: ServiceNow, Azure DevOps, GitHub and GitLab
+* **[Additional Project Tracking Integrations](/connections/issue_tracking/)**: ServiceNow, Azure DevOps, GitHub and GitLab
* **[Improved Metrics](/metrics_reports/pro_metrics/pro__overview/)** for executive reporting and high-level analysis
* **[Priority And Risk](/asset_modelling/pro_hierarchy/priority_sla/)** to identify the Findings of highest urgency, system-wide
* **Premium Support** and implementation guidance for your organization
diff --git a/docs/content/get_started/about/defectdojo_versions.md b/docs/content/get_started/about/defectdojo_versions.md
index 550dfa1eba0..d23f2d96222 100644
--- a/docs/content/get_started/about/defectdojo_versions.md
+++ b/docs/content/get_started/about/defectdojo_versions.md
@@ -20,9 +20,9 @@ weight: 1
| Dashboards & reporting | ✔️ Basic dashboards and reports | ✔️ Advanced, customizable dashboards and executive reporting |
| Automation & workflows | ❌ Not included | ✔️ Rules Engine and automated workflows |
| Import enhancements | ❌ Standard imports only | ✔️ Background imports, Smart Upload, Universal Parser, CLI uploads |
-| Tool integrations | ❌ Manual/API-driven | ✔️ Built-in **API Connectors** for popular AppSec and cloud tools |
+| Tool integrations | ❌ Manual/API-driven | ✔️ Built-in **Upstream Connections** (API Connectors) for popular AppSec and cloud tools |
| Jira integration | ✔️ Included | ✔️ Included |
-| Project management integrations | ❌ Not included | ✔️ integrate with **Azure Devops**, **GitHub**, **GitLab** and **ServiceNow** |
+| Project management integrations | ❌ Not included | ✔️ **Downstream Connections** to **Jira**, **Azure DevOps**, **GitHub**, **GitLab**, **ServiceNow**, **Bitbucket**, **Shortcut**, **PagerDuty**, **Zendesk**, **ServiceDesk Plus** and **Freshservice** |
| Finding enhancements | ❌ Not included | ✔️ Automatic KEV, EPSS scoring and Ransomware tracking |
| SOC & AppSec unification | ❌ AppSec-focused only | ✔️ Unified AppSec and SOC findings |
| AI & next-generation features | ❌ Not included | ✔️ AI-assisted workflows, reporting and MCP support |
diff --git a/docs/content/get_started/about/faq.md b/docs/content/get_started/about/faq.md
index de1a0e75f5b..022b407eb43 100644
--- a/docs/content/get_started/about/faq.md
+++ b/docs/content/get_started/about/faq.md
@@ -21,7 +21,7 @@ DefectDojo is meant to be the central source of truth for your organization's se
- Allowing users to identify duplicate findings across scans and tools, minimizing alert fatigue.
- Enforcing SLAs on vulnerabilities, ensuring that your organization handles each Finding within an appropriate timeframe.
-- [Sending tickets](/issue_tracking/intro/intro/) to Jira, ServiceNow or other Project Tracking software, allowing your development team to integrate issue remediation into their standard release process without requiring them to learn another project management tool.
+- [Sending tickets](/connections/issue_tracking/) to Jira, ServiceNow or other Project Tracking software, allowing your development team to integrate issue remediation into their standard release process without requiring them to learn another project management tool.
- Integrating into automated [CI/CD pipelines](/import_data/import_scan_files/api_pipeline_modelling/) to automatically ingest report data from repositories, even down to the branch level.
- Creating [reports](/metrics_reports/reports/) on any set of vulnerabilities or software context, to quickly share scan results or status updates with stakeholders.
- Establishing acceptance and mitigation workflows, supporting formal risk-management tracking.
@@ -42,7 +42,7 @@ DefectDojo Pro expands on the above workflows further, adding:
- An optimized upload method which processes Findings in the background.
- The ability to quickly build a [command-line pipeline](/import_data/pro/specialized_import/external_tools/) using our Universal Importer and DefectDojo CLI apps, allowing you to easily import, reimport, and export data to your DefectDojo Pro instance.
- A [Universal Parser](/import_data/pro/specialized_import/universal_parser/) to turn any .json or .csv report into an actional set of Findings and have DefectDojo Pro will parse the data however you like.
- - [Connectors](/import_data/pro/connectors/about_connectors/), which provide an instant connection to supported tools to import new Finding data so you can get an automated Import pipeline established without the need to set up any API calls or cron jobs.
+ - [Connectors](/connections/upstream/about/), which provide an instant connection to supported tools to import new Finding data so you can get an automated Import pipeline established without the need to set up any API calls or cron jobs.
### How does DefectDojo handle access control?
@@ -75,7 +75,7 @@ To understand the difference, it’s helpful to think of Import as recording a s
Here is an analogy; if you were an accountant, you could use Import to track a single receipt, while you would use Reimport to track a continuous ledger of expenses
-Both methods also use Deduplication differently: while two discrete Imported Tests in the same Product will identify and label duplicate Findings separately, Reimport will not create any Findings it identifies as [duplicates](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/avoiding_duplicates_via_reimport/) within the Test.
+Both methods also use Deduplication differently: while two discrete Imported Tests in the same Product will identify and label duplicate Findings separately, Reimport will not create any Findings it identifies as [duplicates](/en/working_with_findings/finding_deduplication/avoiding_duplicates_via_reimport/) within the Test.
Generally speaking, if a point-in-time report is what you need, Import is the best method to use. If you are continuously running and ingesting reports from a tool, Reimport is the better method for keeping things organized.
@@ -131,4 +131,4 @@ DefectDojo Pro users also have access to [executive-level Metrics dashboards](/g
In both Pro and Open-Source editions of DefectDojo, Findings in DefectDojo can be pushed to Jira as Issues, which allows you to integrate issue remediation with your development team.
-DefectDojo Pro adds support for [Additional Project Tracking Integrations](/issue_tracking/intro/intro/)**: ServiceNow, Azure DevOps, GitHub and GitLab.
\ No newline at end of file
+DefectDojo Pro adds support for [Additional Project Tracking Integrations](/connections/issue_tracking/)**: ServiceNow, Azure DevOps, GitHub and GitLab.
\ No newline at end of file
diff --git a/docs/content/get_started/about/ui_pro_vs_os.md b/docs/content/get_started/about/ui_pro_vs_os.md
index 893cc0c4ea1..9395830a646 100644
--- a/docs/content/get_started/about/ui_pro_vs_os.md
+++ b/docs/content/get_started/about/ui_pro_vs_os.md
@@ -13,7 +13,7 @@ The Pro UI brings the following enhancements to DefectDojo:
- Modern and sleek design using Vue.js.
- Optimized data delivery and load times, especially for large datasets.
-- Access to new Pro features, including [API Connectors](/import_data/pro/connectors/about_connectors/), [Universal Importer](/import_data/pro/specialized_import/external_tools/), and [Pro Metrics](https://docs.defectdojo.com/metrics_reports/pro_metrics/pro__overview/) views.
+- Access to new Pro features, including [Upstream Connections (API Connectors)](/connections/upstream/about/), [Universal Importer](/import_data/pro/specialized_import/external_tools/), and [Pro Metrics](/metrics_reports/pro_metrics/pro__overview/) views.
- Improved UI workflows: better filtering, dashboards, and navigation.
## Switching To The Pro UI
@@ -30,11 +30,11 @@ To access the Pro UI, open your User Options menu from the top-right hand corner
2. The Homepage, [AI-powered native API connection capabilities](/metrics_reports/ai/mcp_server_pro/), Pro Metrics, and the Calendar view are all accessible under Dashboards.
-4. Import methods can be found in the Import section: set up [API Connectors](/import_data/pro/connectors/about_connectors/), use the [Add Findings](/import_data/import_scan_files/pro__import_scan_ui/) form to Add Findings, use [Smart Upload](/import_data/pro/specialized_import/smart_upload/) to handle infrastructure scanning tools, or use our external tools—[Universal Importer and DefectDojo CLI](/import_data/pro/specialized_import/external_tools/)—to streamline both the import and reimport processes of Findings and associated objects.
+4. Import methods can be found in the Import section: set up [Connections](/connections/about/) to pull findings in from your scanners (Upstream) or push them out to issue trackers (Downstream), use the [Add Findings](/import_data/import_scan_files/pro__import_scan_ui/) form to Add Findings, use [Smart Upload](/import_data/pro/specialized_import/smart_upload/) to handle infrastructure scanning tools, or use our external tools—[Universal Importer and DefectDojo CLI](/import_data/pro/specialized_import/external_tools/)—to streamline both the import and reimport processes of Findings and associated objects.
5. The **Manage** section allows you to view different objects in the [Product Hierarchy](/asset_modelling/os_hierarchy/product_hierarchy/), with views for Product Types, Products, Engagements, Tests, Findings, Risk Acceptances, Endpoints, and Components. There are additional sections for generating reports (Report Builder), using surveys (Surveys), as well as a [Rules Engine](/automation/rules_engine/about/).
-5. The **Settings** section allows you to configure your DefectDojo instance, including your Integrations, License, Cloud Settings, Users, Feature Configuration and admin-level Enterprise Settings.
+5. The **Settings** section allows you to configure your DefectDojo instance, including your License, Cloud Settings, Users, Feature Configuration and admin-level Enterprise Settings. (Integrations have moved to **Import > Connections > Downstream Connections**.)
6. The **Pro Settings** section contains the System Settings, Banner Settings, Notification Settings, Jira Instances, Deduplication Settings, and Authentication Settings, including SAML, OIDC, OAuth, Login, and MFA forms.
@@ -58,4 +58,4 @@ New Metrics visualizations are included in the Pro UI. All of these reports can
- **Priority Insights** show the most critical findings with the option to filter for various timelines, Product Types, Products, and Tags.
- The **Program Insights** dashboard displays the effectiveness of your security team and the cost savings associated with separating duplicates and false positives from actionable Findings.
- **Remediation Insights** displays your team's effectiveness at remediating Findings.
-- **Tool Insights** displays the effectiveness of your tool suite (and Connectors pipelines) at detecting and reporting vulnerabilities.
+- **Tool Insights** displays the effectiveness of your tool suite (and Upstream Connection pipelines) at detecting and reporting vulnerabilities.
diff --git a/docs/content/get_started/contributing/how-to-write-a-parser.md b/docs/content/get_started/contributing/how-to-write-a-parser.md
index aef9f904043..2ace0a41d65 100644
--- a/docs/content/get_started/contributing/how-to-write-a-parser.md
+++ b/docs/content/get_started/contributing/how-to-write-a-parser.md
@@ -254,7 +254,7 @@ Do not do something like this:
## Deduplication algorithm
-By default a new parser uses the 'legacy' deduplication algorithm documented at https://docs.defectdojo.com/open_source/archived_docs/usage/features/#deduplication
+By default a new parser uses the 'legacy' deduplication algorithm documented in [About Deduplication](/triage_findings/finding_deduplication/about_deduplication/)
Please use a pre-defined deduplication algorithm where applicable. When using the `unique_id_from_tool` or `vuln_id_from_tool` fields in the hash code configuration, it's important that these are uqniue for the finding and constant over time across subsequent scans. If this is not the case, the values can still be useful to set on the finding model without using them for deduplication.
The values must be coming from the report directly and must not be something that is calculated by the parser internally.
diff --git a/docs/content/get_started/pro/pro_features.md b/docs/content/get_started/pro/pro_features.md
index 63b304a775b..5b685046522 100644
--- a/docs/content/get_started/pro/pro_features.md
+++ b/docs/content/get_started/pro/pro_features.md
@@ -59,7 +59,7 @@ See our [Deduplication Tuning Guide](/triage_findings/finding_deduplication/pro_
### More Import Options
-DefectDojo Pro includes four additional import methods: [Universal Importer](/import_data/pro/specialized_import/external_tools/), [API Connectors](/import_data/pro/connectors/about_connectors/), [Universal Parser](/supported_tools/parsers/universal_parser/), and [Smart Upload](/import_data/pro/specialized_import/smart_upload/).
+DefectDojo Pro includes four additional import methods: [Universal Importer](/import_data/pro/specialized_import/external_tools/), [Upstream Connections (API Connectors)](/connections/upstream/about/), [Universal Parser](/supported_tools/parsers/universal_parser/), and [Smart Upload](/import_data/pro/specialized_import/smart_upload/).

@@ -74,15 +74,15 @@ Quickly build a command-line pipeline to import, reimport, and export data to yo
See our [External Tools Guide](/import_data/pro/specialized_import/external_tools/) for more information.
-### Connectors
+### Upstream Connections
DefectDojo can instantly connect to enterprise-level scanning tools to import new Finding data, creating an automated Import pipeline that works out-of-the-box without the need to set up any API calls or cron jobs.
-See our [Connectors Guide](/import_data/pro/connectors/about_connectors/) for more information.
+See our [Upstream Connections Guide](/connections/upstream/about/) for more information.

-Supported tools for Connectors include:
+Supported tools for Upstream Connections include:
* Anchore
* AWS Security Hub
diff --git a/docs/content/help/contact_sales.md b/docs/content/help/contact_sales.md
index 687b6d29ecc..8cfab9df71f 100644
--- a/docs/content/help/contact_sales.md
+++ b/docs/content/help/contact_sales.md
@@ -54,7 +54,7 @@ Before you complete the process, please confirm the plan you want to use along w
## Step 6: Review and Submit your Request
-We'll prompt you to look over your request one more time. Once submitted, only Firewall rules can be changed by your team without assistance from Support. To contact Support, please email [support@defectdojo.com](mailto:support@defectdojo.com) or follow the instructions in [this article](https://docs.defectdojo.com/en/about_defectdojo/contact_defectdojo_support/).
+We'll prompt you to look over your request one more time. Once submitted, only Firewall rules can be changed by your team without assistance from Support. To contact Support, please email [support@defectdojo.com](mailto:support@defectdojo.com) or follow the instructions in [this article](/en/about_defectdojo/contact_defectdojo_support/).

diff --git a/docs/content/help/glossary.md b/docs/content/help/glossary.md
index c9205c03a43..6c72bfdf4e4 100644
--- a/docs/content/help/glossary.md
+++ b/docs/content/help/glossary.md
@@ -57,8 +57,12 @@ A permission set defining allowed actions within DefectDojo. Roles enforce acces
A flexible ingestion mechanism that allows scan data to be imported without a tool-specific importer. It relies on normalized field mapping rather than predefined scanner schemas.
## DefectDojo-CLI (Pro)
A command-line interface used to interact with DefectDojo programmatically. The CLI is commonly used in CI/CD pipelines to automate scan uploads and object management.
-## API Connectors (Pro)
-Prebuilt, managed integrations that connect DefectDojo with external platforms (e.g., ticketing, messaging, or DevOps tools). API Connectors reduce the need for custom scripting.
+## Connections (Pro)
+The unified area of the Pro UI (under Import) for every tool DefectDojo talks to. Upstream Connections pull findings in from scanners; Downstream Connections push findings out to issue trackers.
+## Upstream Connections / API Connectors (Pro)
+Prebuilt, managed connectors that pull findings and asset inventory into DefectDojo from external scanners and security tools via their APIs, reducing the need for custom scripting. Formerly called API Connectors.
+## Downstream Connections (Pro)
+Managed integrations that push Findings and Finding Groups out of DefectDojo into issue tracking and ticketing systems (e.g., Jira, Azure DevOps, GitHub). Formerly called Integrations.
## Universal Parser (Pro)
A generalized parsing engine used by the Universal Importer to interpret incoming scan data. It applies consistent normalization and deduplication logic across unsupported formats.
## Smart Upload (Pro)
diff --git a/docs/content/import_data/import_intro/comparison.md b/docs/content/import_data/import_intro/comparison.md
index 510e2bcbb7a..782da6d6d30 100644
--- a/docs/content/import_data/import_intro/comparison.md
+++ b/docs/content/import_data/import_intro/comparison.md
@@ -21,7 +21,7 @@ There are two main ways that DefectDojo can upload Finding reports.
DefectDojo Pro users have an additional three methods to handle reports and data:
* Via **Universal Importer** or **DefectDojo CLI**, command line tools which leverage the DefectDojo API: See [Universal Importer & DefectDojo-CLI guides](/import_data/pro/specialized_import/external_tools/)
-* Via **Connectors** for certain tools, an ‘out of the box’ data integration: See [Connectors Guide](/import_data/pro/connectors/about_connectors/)
+* Via **Connectors** for certain tools, an ‘out of the box’ data integration: See [Connectors Guide](/connections/upstream/about/)
* Via **Smart Upload** for certain tools, an importer designed to handle infrastructure scans: See [Smart Upload Guide](/import_data/pro/specialized_import/smart_upload/)
### Comparing Upload Methods
diff --git a/docs/content/issue_tracking/_index.md b/docs/content/issue_tracking/_index.md
deleted file mode 100644
index 72c1c5ce15e..00000000000
--- a/docs/content/issue_tracking/_index.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: "Issue Tracking"
-description: ""
-summary: ""
-date: 2023-09-07T16:06:50+02:00
-lastmod: 2023-09-07T16:06:50+02:00
-draft: false
-weight: 3
-chapter: true
-seo:
- title: "" # custom title (optional)
- description: "" # custom description (recommended)
- canonical: "" # custom canonical URL (optional)
- robots: "" # custom robot tags (optional)
-exclude_search: true
----
\ No newline at end of file
diff --git a/docs/content/issue_tracking/pro_integration/integrations.md b/docs/content/issue_tracking/pro_integration/integrations.md
deleted file mode 100644
index 76f28c5e075..00000000000
--- a/docs/content/issue_tracking/pro_integration/integrations.md
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: "Pro Integrations"
-weight: 1
-audience: pro
-aliases:
- - /en/share_your_findings/integrations
----
-**Availability:** Integrations is currently in **Beta** and is only available for **Cloud-hosted** DefectDojo Pro instances. On-premise deployments do not yet have the required infrastructure to support Integrations. If you are an on-premise customer interested in this feature, please contact [support@defectdojo.com](mailto:support@defectdojo.com) for updates on availability.
-
-DefectDojo Pro's Integrations let you push your Findings and Finding Groups to ticket tracking systems to easily integrate security remediation with your teams existing development workflow.
-
-Supported Integrations:
-- Azure Devops
-- Bitbucket
-- Freshservice
-- GitHub
-- GitLab Boards
-- Jira
-- ServiceDesk Plus
-- ServiceNow
-- Shortcut
-- Zendesk
-
-## Opening the Integrations page
-
-The Integrations page can be found under **Settings > Integrations** in the sidebar.
-
-
-
-## Setting up an Integration
-
-An Integrator is configured with three key components:
-
-- **Integration Instance**: This is the primary connection method that DefectDojo will use with a third-party system. The Instance will include details such as a label, location and credentials to connect with, along with any other information that may be required by the vendor.
-- **Issue Tracker Mapping**: This is where mapping information is stored - defining the details required to connect to a given "project" within the vendor. These details include the name or ID of the "project", and mappings from DefectDojo Finding severity and status to the corresponding field in the vendor "ticket". You may have multiple mappings configured if you are trying to push Findings to multiple "project" locations.
-- **Issue Tracker Assignment**: This is where DefectDojo Products and Engagements are assigned to a given Issue Tracker Mapping, with per-Product/Engagement options to to define how a Finding will be pushed to a given vendor system.
-
-These components are hierarchical: Each **Instance** has one or more **Mappings**, which then have one or more **Tracker Assignments**.
-
-
-
-## Pushing Findings and Finding Groups
-
-Once these components are configured, Findings and Finding Groups can be sent to a given Issue Tracker in two ways; manually, or automatically.
-
-- **Manually**: Findings and Finding Groups contained in a Product/Engagement with an assigned **Issue Tracker Mapping** will have an option to "Push to Integrators". This will then create an Issue in the Issue Tracker with the corresponding Finding/Finding Group information. Push To Integrators can also be used to update an existing Issue.
-
-### Automatically Push Findings
-
-Findings can also be pushed automatically, with the **Issue Tracker Assignment** dictating how those objects will be pushed. These are the four options:
-
-- **Explicitly Publish Changes**: This option disables any automatic behavior in the assigned Product or Engagement. The only way to push a Finding or Finding Group will be explicitly, as mentioned above.
-- **Automatically Link New Findings**: When new Findings or Finding Groups are **created** in the assigned Product or Engagement, DefectDojo will automatically push the object to the Issue Tracker. Once created, these Findings or Findings Groups will not be updated without a manual Push To Integrators action.
-- **Automatically Update Existing Link**: When Findings or Finding Groups are **updated** in the assigned Product or Engagement, automatically push the object to the Issue Tracker if an existing link has already been created manually.
-- **Automatically Link New and Update Existing Link**: When Findings or Finding Groups are created **or** updated in the assigned Product or Engagement, automatically push the object to the Issue Tracker.
-
-## Issue Tracker Ticket Representation
-
-Issue Tracker Tickets are represented by a series of icons under the "Integrator Tickets" column when viewing and listing
-Findings and Finding Groups
-
-Icons from left to right:
-
-- **Integration Type**: The type of Issue Tracker the Ticket is associated with
-- **Ticket ID**: The ID of the Ticket, as defined by the Issue Tracker
-- **Ticket Link**: The direct link to the Ticket, as define by the Issue Tracker
-- **Changelog**: Specifies when the Issue Tracker Ticket was associated with a Finding or Finding Group, as well as the last time DefectDojo made a change to the ticket
-
-
-
-## Supported Project Integrations
-
-Project Integrations will have varying requirements for how DefectDojo will need to interact with them. This could be in the form of an authentication mechanism, additional fields on a per "project" basis, or severity/status mappings.
-
-For the complete list of requirements, please open the vendor specific pages below:
-
-- [Azure Devops](/issue_tracking/pro_integration/integrations_toolreference/#azure-devops-boards)
-- [Bitbucket](/issue_tracking/pro_integration/integrations_toolreference/#bitbucket)
-- [Freshservice](/issue_tracking/pro_integration/integrations_toolreference/#freshservice)
-- [GitHub](/issue_tracking/pro_integration/integrations_toolreference/#github)
-- [GitLab Boards](/issue_tracking/pro_integration/integrations_toolreference/#gitlab)
-- [Jira](/issue_tracking/pro_integration/integrations_toolreference/#jira)
-- [ServiceDesk Plus](/issue_tracking/pro_integration/integrations_toolreference/#servicedesk-plus)
-- [ServiceNow](/issue_tracking/pro_integration/integrations_toolreference/#servicenow)
-- [Shortcut](/issue_tracking/pro_integration/integrations_toolreference/#shortcut)
-- [Zendesk](/issue_tracking/pro_integration/integrations_toolreference/#zendesk)
-
-## Error Handling and Debugging
-
-Integrations can produce errors for a variety of reasons such as connectivity, authentication, permissions, etc.. To assist
-in debugging these errors, each Issue Tracker Mapping has a table of errors that list when the error occurred, the reason it
-occurred, and the Finding or Finding Group that failed to be pushed.
-
-These errors can be found by looking at the Issue Tracker Mappings & Assignments page, under the ⚠️ Total Errors column.
-
-
-
-Clicking on the Total Errors entry will bring you to a page with more detailed descriptions of errors associated with this Integration.
diff --git a/docs/content/onprem_deployment/forward_proxy.md b/docs/content/onprem_deployment/forward_proxy.md
index 176f2303929..d9432243a27 100644
--- a/docs/content/onprem_deployment/forward_proxy.md
+++ b/docs/content/onprem_deployment/forward_proxy.md
@@ -50,4 +50,4 @@ The proxy configuration documented here applies to **outbound** calls *from* Def
The most common case where this matters is Jira's bidirectional sync, which relies on Jira posting webhooks to DefectDojo's `/jira/webhook/` endpoint when issues change. If DefectDojo is behind a firewall that prevents Jira from reaching it directly, setting `HTTPS_PROXY` will not solve that — you will need to address the inbound networking separately (a reverse proxy / load balancer with the appropriate firewall rules, an inbound NAT rule, or similar).
-For Jira-specific troubleshooting, see [Troubleshooting Jira errors](/issue_tracking/jira/troubleshooting_jira/).
+For Jira-specific troubleshooting, see [Troubleshooting Jira errors](/connections/downstream/troubleshooting_jira/).
diff --git a/docs/content/releases/os_upgrading/2.56.4.md b/docs/content/releases/os_upgrading/2.56.4.md
index f87a88da3cb..2e7b78414f7 100644
--- a/docs/content/releases/os_upgrading/2.56.4.md
+++ b/docs/content/releases/os_upgrading/2.56.4.md
@@ -8,4 +8,4 @@ description: JFrog Xray API Summary Artifact parser deduplication
## JFrog Xray API Summary Artifact parser deduplication
Deduplication of JFrog Xray API Summary Artifact findings is improved for newly imported findings.
-To apply this on existing data, you need to recompute the hashes for this specific parser [see docs](https://docs.defectdojo.com/triage_findings/finding_deduplication/os__deduplication_tuning/#after-changing-deduplication-settings).
+To apply this on existing data, you need to recompute the hashes for this specific parser [see docs](/triage_findings/finding_deduplication/os__deduplication_tuning/#after-changing-deduplication-settings).
diff --git a/docs/content/releases/pro/changelog.md b/docs/content/releases/pro/changelog.md
index 483c42a1a32..2cd1aab3fb4 100644
--- a/docs/content/releases/pro/changelog.md
+++ b/docs/content/releases/pro/changelog.md
@@ -421,7 +421,7 @@ The Pro UI has been significantly reorganized, with changes to page organization
#### August 25: 2.49.3
-[Integrations](/issue_tracking/intro/intro/) has been added to DefectDojo Pro, adding an Jira-style integrations for Azure DevOps, GitHub and GitLab boards.
+[Integrations](/connections/issue_tracking/) has been added to DefectDojo Pro, adding an Jira-style integrations for Azure DevOps, GitHub and GitLab boards.
* **(API)** Basic Auth Login has been removed from the swagger form. Only cookieAuth and tokenAuth are accepted.
* **(API)** When MFA is enabled, an MFA code will be required to use the `/api-token-auth` endpoint.
diff --git a/docs/content/supported_tools/_index.md b/docs/content/supported_tools/_index.md
index abe735c1b12..faf517c94af 100644
--- a/docs/content/supported_tools/_index.md
+++ b/docs/content/supported_tools/_index.md
@@ -24,7 +24,7 @@ DefectDojo can parse data from 200+ security reports and counting.
**Smart Upload** allows you to split infrastructure-wide scan files up by component or endpoint, and easily combine those results with other Findings from the same location.
-| [Connectors](/import_data/pro/connectors/about_connectors/): supported tools | [Smart Upload](/import_data/pro/specialized_import/smart_upload/): supported tools |
+| [Connectors](/connections/upstream/about/): supported tools | [Smart Upload](/import_data/pro/specialized_import/smart_upload/): supported tools |
| --- | --- |
| Anchore, AWS Security Hub, BurpSuite, Checkmarx ONE, Dependency-Track, Probely, Semgrep, SonarQube, Snyk, Tenable | Nexpose, NMap, OpenVas, Qualys, Tenable, Wiz |
diff --git a/docs/content/supported_tools/parsers/_index.md b/docs/content/supported_tools/parsers/_index.md
index 344ac879c30..dba152a5af7 100644
--- a/docs/content/supported_tools/parsers/_index.md
+++ b/docs/content/supported_tools/parsers/_index.md
@@ -25,7 +25,7 @@ DefectDojo can parse data from 180+ security reports and counting.
**Smart Upload** allows you to split infrastructure-wide scan files up by component or endpoint, and easily combine those results with other Findings from the same location.
-| [Connectors](/import_data/pro/connectors/about_connectors/): supported tools | [Smart Upload](/import_data/pro/specialized_import/smart_upload/): supported tools |
+| [Connectors](/connections/upstream/about/): supported tools | [Smart Upload](/import_data/pro/specialized_import/smart_upload/): supported tools |
| --- | --- |
| AWS Security Hub, BurpSuite, Checkmarx ONE, Dependency-Track, Probely, Semgrep, SonarQube, Snyk, Tenable | Nexpose, NMap, OpenVas, Qualys, Tenable, Wiz |
diff --git a/docs/content/supported_tools/parsers/file/acunetix.md b/docs/content/supported_tools/parsers/file/acunetix.md
index bca5abbd815..4c325e5699d 100644
--- a/docs/content/supported_tools/parsers/file/acunetix.md
+++ b/docs/content/supported_tools/parsers/file/acunetix.md
@@ -8,7 +8,7 @@ This parser imports the Acunetix Scanner with xml output or Acunetix 360 Scanner
Sample Acunetix Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/acunetix).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/anchore_engine.md b/docs/content/supported_tools/parsers/file/anchore_engine.md
index 202e5ababb6..b029cbf7c47 100644
--- a/docs/content/supported_tools/parsers/file/anchore_engine.md
+++ b/docs/content/supported_tools/parsers/file/anchore_engine.md
@@ -43,7 +43,7 @@ All properties are strings and are required by the parser. As the parser evolved
Sample Anchore-Engine scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/anchore_engine)
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/anchore_enterprise.md b/docs/content/supported_tools/parsers/file/anchore_enterprise.md
index 19266a52fbd..c03de42f4a7 100644
--- a/docs/content/supported_tools/parsers/file/anchore_enterprise.md
+++ b/docs/content/supported_tools/parsers/file/anchore_enterprise.md
@@ -8,7 +8,7 @@ Anchore-CLI JSON policy check report format.
Sample Anchore Enterprise Policy Check scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/anchore_enterprise).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/anchore_grype.md b/docs/content/supported_tools/parsers/file/anchore_grype.md
index b24b06c557f..5bc9da148ff 100644
--- a/docs/content/supported_tools/parsers/file/anchore_grype.md
+++ b/docs/content/supported_tools/parsers/file/anchore_grype.md
@@ -197,7 +197,7 @@ All properties are expected as strings and are required by the parser.
Sample Grype scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/anchore_grype).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/anchorectl_policies.md b/docs/content/supported_tools/parsers/file/anchorectl_policies.md
index 653c291d795..98c131fcde2 100644
--- a/docs/content/supported_tools/parsers/file/anchorectl_policies.md
+++ b/docs/content/supported_tools/parsers/file/anchorectl_policies.md
@@ -17,7 +17,7 @@ anchorectl policy evaluate -o json > policy_report.json
Sample AnchoreCTL Policies Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/anchorectl_policies).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/anchorectl_vulns.md b/docs/content/supported_tools/parsers/file/anchorectl_vulns.md
index bec4cac19fd..0f7f851a32f 100644
--- a/docs/content/supported_tools/parsers/file/anchorectl_vulns.md
+++ b/docs/content/supported_tools/parsers/file/anchorectl_vulns.md
@@ -8,7 +8,7 @@ AnchoreCTLs JSON vulnerability report format
Sample AnchoreCTL Vuln Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/anchorectl_vulns).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/appcheck_web_application_scanner.md b/docs/content/supported_tools/parsers/file/appcheck_web_application_scanner.md
index eaa51a765ff..2ae5431594b 100644
--- a/docs/content/supported_tools/parsers/file/appcheck_web_application_scanner.md
+++ b/docs/content/supported_tools/parsers/file/appcheck_web_application_scanner.md
@@ -8,7 +8,7 @@ Accepts AppCheck Web Application Scanner output in .json format.
Sample AppCheck Web Application Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/appcheck_web_application_scanner).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/appspider.md b/docs/content/supported_tools/parsers/file/appspider.md
index d041baad95c..26485369d00 100644
--- a/docs/content/supported_tools/parsers/file/appspider.md
+++ b/docs/content/supported_tools/parsers/file/appspider.md
@@ -9,7 +9,7 @@ download.
Sample AppSpider (Rapid7) scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/appspider).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/aqua.md b/docs/content/supported_tools/parsers/file/aqua.md
index 4408126d07c..c2d48757d34 100644
--- a/docs/content/supported_tools/parsers/file/aqua.md
+++ b/docs/content/supported_tools/parsers/file/aqua.md
@@ -38,7 +38,7 @@ Those JSON files will only list vulnerabilities. Thus, DefectDojo parser will no
Sample Aqua scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/aqua).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- severity
- vulnerability ids
diff --git a/docs/content/supported_tools/parsers/file/arachni.md b/docs/content/supported_tools/parsers/file/arachni.md
index 0fcb71515ec..1f76e78af8a 100644
--- a/docs/content/supported_tools/parsers/file/arachni.md
+++ b/docs/content/supported_tools/parsers/file/arachni.md
@@ -13,7 +13,7 @@ arachni_reporter --reporter 'json' js.com.afr
### Sample Scan Data
Sample Arachni Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/arachni).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/asff.md b/docs/content/supported_tools/parsers/file/asff.md
index 8f54db8314d..3fffbdfb5d8 100644
--- a/docs/content/supported_tools/parsers/file/asff.md
+++ b/docs/content/supported_tools/parsers/file/asff.md
@@ -13,7 +13,7 @@ Prowler tool can generate this format with option `-M json-asff`.
Sample AWS Security Finding Format (ASFF) scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/asff).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/auditjs.md b/docs/content/supported_tools/parsers/file/auditjs.md
index 5dd7f1dbd18..d3fcd3843f1 100644
--- a/docs/content/supported_tools/parsers/file/auditjs.md
+++ b/docs/content/supported_tools/parsers/file/auditjs.md
@@ -12,7 +12,7 @@ auditjs ossi --json > auditjs_report.json
Sample AuditJS (OSSIndex) scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/auditjs).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/aws_inspector2.md b/docs/content/supported_tools/parsers/file/aws_inspector2.md
index 648235abb97..c53685e79b3 100644
--- a/docs/content/supported_tools/parsers/file/aws_inspector2.md
+++ b/docs/content/supported_tools/parsers/file/aws_inspector2.md
@@ -24,7 +24,7 @@ Detailed API response format can be obtained [here](https://docs.aws.amazon.com/
Sample AWS Inspector2 findings can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/aws_inspector2).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/aws_prowler.md b/docs/content/supported_tools/parsers/file/aws_prowler.md
index 3750f60e1b3..b501d37bc80 100644
--- a/docs/content/supported_tools/parsers/file/aws_prowler.md
+++ b/docs/content/supported_tools/parsers/file/aws_prowler.md
@@ -8,7 +8,7 @@ Prowler file can be imported as a CSV (`-M csv`) or JSON (`-M json`) file.
Sample AWS Prowler Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/aws_prowler).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/aws_prowler_v3plus.md b/docs/content/supported_tools/parsers/file/aws_prowler_v3plus.md
index 759907ba90e..b1c58242e2a 100644
--- a/docs/content/supported_tools/parsers/file/aws_prowler_v3plus.md
+++ b/docs/content/supported_tools/parsers/file/aws_prowler_v3plus.md
@@ -5,7 +5,7 @@ toc_hide: true
### File Types
DefectDojo parser accepts a native `json` file produced by prowler v3 with file extension `.json` or a `ocsf-json` file produced by prowler v4 with file extension `.ocsf.json`.
-Please note: earlier versions of AWS Prowler create output data in a different format. See our other [prowler parser documentation](https://docs.defectdojo.com/supported_tools/parsers/file/aws_prowler/) if you are using an earlier version of AWS Prowler.
+Please note: earlier versions of AWS Prowler create output data in a different format. See our other [prowler parser documentation](/supported_tools/parsers/file/aws_prowler/) if you are using an earlier version of AWS Prowler.
JSON reports can be created from the [AWS Prowler v3 CLI](https://docs.prowler.com/projects/prowler-open-source/en/v3/tutorials/reporting/#json) using the following command: `prowler -M json`
@@ -163,7 +163,7 @@ The parser expects an array of assessments. All properties are strings and are r
Unit tests of AWS Prowler v3 JSON and Prowler v4 JSON-OCSF can be found at https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/aws_prowler_v3.
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/awssecurityhub.md b/docs/content/supported_tools/parsers/file/awssecurityhub.md
index 0e23b312370..454394e75da 100644
--- a/docs/content/supported_tools/parsers/file/awssecurityhub.md
+++ b/docs/content/supported_tools/parsers/file/awssecurityhub.md
@@ -22,7 +22,7 @@ AWS Security Hub Parser does import the affected service ARNs as hosts to Defect
Sample scan data for testing purposes can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/awssecurityhub).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/azure_security_center_recommendations.md b/docs/content/supported_tools/parsers/file/azure_security_center_recommendations.md
index 2651ebc6347..5d5aa295403 100644
--- a/docs/content/supported_tools/parsers/file/azure_security_center_recommendations.md
+++ b/docs/content/supported_tools/parsers/file/azure_security_center_recommendations.md
@@ -8,7 +8,7 @@ Azure Security Center recommendations can be exported from the user interface in
Sample Azure Security Center Recommendations Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/azure_security_center_recommendations).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/bandit.md b/docs/content/supported_tools/parsers/file/bandit.md
index 18643765bb4..282e0e84b55 100644
--- a/docs/content/supported_tools/parsers/file/bandit.md
+++ b/docs/content/supported_tools/parsers/file/bandit.md
@@ -67,7 +67,7 @@ All properties are expected as strings, except "metrics" properties, which are e
Sample Bandit scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/bandit).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- file path
- line
diff --git a/docs/content/supported_tools/parsers/file/bearer_cli.md b/docs/content/supported_tools/parsers/file/bearer_cli.md
index f57af98f1ec..458a89ae994 100644
--- a/docs/content/supported_tools/parsers/file/bearer_cli.md
+++ b/docs/content/supported_tools/parsers/file/bearer_cli.md
@@ -13,7 +13,7 @@ See Bearer documentation: https://docs.bearer.com/reference/commands/
Sample Bearer scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/bearer).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/blackduck.md b/docs/content/supported_tools/parsers/file/blackduck.md
index 6c5b4406f04..d358fdfd330 100644
--- a/docs/content/supported_tools/parsers/file/blackduck.md
+++ b/docs/content/supported_tools/parsers/file/blackduck.md
@@ -14,7 +14,7 @@ information.
Sample Blackduck Hub scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/blackduck).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- vulnerability ids
diff --git a/docs/content/supported_tools/parsers/file/blackduck_binary_analysis.md b/docs/content/supported_tools/parsers/file/blackduck_binary_analysis.md
index 516628f8f6a..6206f08ae68 100644
--- a/docs/content/supported_tools/parsers/file/blackduck_binary_analysis.md
+++ b/docs/content/supported_tools/parsers/file/blackduck_binary_analysis.md
@@ -23,7 +23,7 @@ Black Duck Binary Analysis can also detect if sensitive information like email a
Sample Blackduck Binary Analysis scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/blackduck_binary_analysis).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/blackduck_component_risk.md b/docs/content/supported_tools/parsers/file/blackduck_component_risk.md
index 6f0322eb920..64787c4fa6c 100644
--- a/docs/content/supported_tools/parsers/file/blackduck_component_risk.md
+++ b/docs/content/supported_tools/parsers/file/blackduck_component_risk.md
@@ -8,7 +8,7 @@ Upload the zip file containing the security.csv and files.csv.
Sample Blackduck Component Risk scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/blackduck_component_risk).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/brakeman.md b/docs/content/supported_tools/parsers/file/brakeman.md
index 68528bbd9ad..0c247c8f631 100644
--- a/docs/content/supported_tools/parsers/file/brakeman.md
+++ b/docs/content/supported_tools/parsers/file/brakeman.md
@@ -8,7 +8,7 @@ Import Brakeman Scanner findings in JSON format.
Sample Brakeman Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/brakeman).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/bugcrowd.md b/docs/content/supported_tools/parsers/file/bugcrowd.md
index 86fc3f34311..4339d6a9874 100644
--- a/docs/content/supported_tools/parsers/file/bugcrowd.md
+++ b/docs/content/supported_tools/parsers/file/bugcrowd.md
@@ -8,7 +8,7 @@ Import Bugcrowd results in CSV format.
Sample Bugcrowd scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/bugcrowd).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/bundler_audit.md b/docs/content/supported_tools/parsers/file/bundler_audit.md
index f854657d2ba..92e6e50519a 100644
--- a/docs/content/supported_tools/parsers/file/bundler_audit.md
+++ b/docs/content/supported_tools/parsers/file/bundler_audit.md
@@ -8,7 +8,7 @@ Import the text output generated with bundle-audit check
Sample Bundler-Audit scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/bundler_audit).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/burp.md b/docs/content/supported_tools/parsers/file/burp.md
index ffe5a1b0edb..8491d1a0cef 100644
--- a/docs/content/supported_tools/parsers/file/burp.md
+++ b/docs/content/supported_tools/parsers/file/burp.md
@@ -4,7 +4,7 @@ toc_hide: true
---
### File Types
DefectDojo parser accepts Burp Issue data as an .xml file.
-To parse an HTML file instead, use this method: https://docs.defectdojo.com/supported_tools/file/burp_suite_dast/
+To parse an HTML file instead, use this method: [Burp Suite DAST](/supported_tools/parsers/file/burp_suite_dast/)
When the Burp report is generated, **the recommended option is Base64
encoding both the request and response fields** - e.g. check the box
@@ -44,7 +44,7 @@ All XML elements are required and will be parsed as strings.
Sample Burp scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/burp).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/burp_api.md b/docs/content/supported_tools/parsers/file/burp_api.md
index 13882b1f1a8..55fdfe15705 100644
--- a/docs/content/supported_tools/parsers/file/burp_api.md
+++ b/docs/content/supported_tools/parsers/file/burp_api.md
@@ -8,7 +8,7 @@ Import Burp REST API scan data in JSON format (/scan/[task_id] endpoint).
Sample Burp REST API scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/burp_api).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/burp_dastardly.md b/docs/content/supported_tools/parsers/file/burp_dastardly.md
index bf0c29f0fa0..74d158dfff5 100644
--- a/docs/content/supported_tools/parsers/file/burp_dastardly.md
+++ b/docs/content/supported_tools/parsers/file/burp_dastardly.md
@@ -11,7 +11,7 @@ Dastardly is a free, lightweight web application security scanner for your CI/CD
Sample Burp Dastardly scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/burp_dastardly).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/burp_graphql.md b/docs/content/supported_tools/parsers/file/burp_graphql.md
index 1f97fa64951..519f21ee548 100644
--- a/docs/content/supported_tools/parsers/file/burp_graphql.md
+++ b/docs/content/supported_tools/parsers/file/burp_graphql.md
@@ -108,7 +108,7 @@ Example GraphQL query to get issue details:
Sample Burp GraphQL scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/burp_graphql).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/burp_suite_dast.md b/docs/content/supported_tools/parsers/file/burp_suite_dast.md
index 4c671e686dd..60794f53611 100644
--- a/docs/content/supported_tools/parsers/file/burp_suite_dast.md
+++ b/docs/content/supported_tools/parsers/file/burp_suite_dast.md
@@ -7,7 +7,7 @@ toc_hide: true
The Burp Suite DAST Scan parser processes HTML reports from Burp Suite DAST and imports the findings into DefectDojo. The parser extracts vulnerability details, severity ratings, descriptions, remediation steps, and other metadata from the HTML report.
## Supported File Types
-The parser accepts a Standard Report as an HTML file. To parse an XML file instead, use the [Burp XML parser](https://docs.defectdojo.com/supported_tools/parsers/file/burp/).
+The parser accepts a Standard Report as an HTML file. To parse an XML file instead, use the [Burp XML parser](/supported_tools/parsers/file/burp/).
See the Burp documentation for information on how to export a Standard Report: [Burp Suite DAST Downloading reports](https://portswigger.net/burp/documentation/dast/user-guide/work-with-scan-results/generate-reports)
@@ -107,7 +107,7 @@ Sample Burp Suite DAST Scan scans can be found [here](https://github.com/DefectD
[Burp Suite DAST](https://portswigger.net/burp/dast)
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/cargo_audit.md b/docs/content/supported_tools/parsers/file/cargo_audit.md
index 138fae29d08..7203e812b0f 100644
--- a/docs/content/supported_tools/parsers/file/cargo_audit.md
+++ b/docs/content/supported_tools/parsers/file/cargo_audit.md
@@ -12,7 +12,7 @@ CVSS vector fall back to a severity of "High".
Sample CargoAudit Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/cargo_audit).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vulnerability ids
- severity
diff --git a/docs/content/supported_tools/parsers/file/checkmarx.md b/docs/content/supported_tools/parsers/file/checkmarx.md
index 086bfad0265..5657a44502d 100644
--- a/docs/content/supported_tools/parsers/file/checkmarx.md
+++ b/docs/content/supported_tools/parsers/file/checkmarx.md
@@ -17,7 +17,7 @@ Data for SAST, SCA and KICS are supported.
Sample Checkmarx scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/checkmarx).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- cwe
- severity
diff --git a/docs/content/supported_tools/parsers/file/checkmarx_cxflow_sast.md b/docs/content/supported_tools/parsers/file/checkmarx_cxflow_sast.md
index 8d66b385e53..8ffcf48ce06 100644
--- a/docs/content/supported_tools/parsers/file/checkmarx_cxflow_sast.md
+++ b/docs/content/supported_tools/parsers/file/checkmarx_cxflow_sast.md
@@ -22,7 +22,7 @@ cx-flow:
Sample Checkmarx CxFlow SAST scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/checkmarx_cxflow_sast).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vuln id from tool
- file path
diff --git a/docs/content/supported_tools/parsers/file/checkmarx_one.md b/docs/content/supported_tools/parsers/file/checkmarx_one.md
index 7868d5b2c36..8d7ee5e9edf 100644
--- a/docs/content/supported_tools/parsers/file/checkmarx_one.md
+++ b/docs/content/supported_tools/parsers/file/checkmarx_one.md
@@ -150,7 +150,7 @@ Sample Checkmarx One scans can be found [here](https://github.com/DefectDojo/dja
- [Checkmarx One Documentation](https://checkmarx.com/resource/documents/en/34965-68516-checkmarx-one-documentation-portal.html)
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vulnerability ids
- component name
diff --git a/docs/content/supported_tools/parsers/file/checkov.md b/docs/content/supported_tools/parsers/file/checkov.md
index b1c08715148..76c1beb6970 100644
--- a/docs/content/supported_tools/parsers/file/checkov.md
+++ b/docs/content/supported_tools/parsers/file/checkov.md
@@ -52,7 +52,7 @@ JSON files can be created from the Checkov CLI: https://www.checkov.io/2.Basics/
Sample Checkov scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/checkov).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/chefinspect.md b/docs/content/supported_tools/parsers/file/chefinspect.md
index a9c6f0a11b4..9fc59c6ad6e 100644
--- a/docs/content/supported_tools/parsers/file/chefinspect.md
+++ b/docs/content/supported_tools/parsers/file/chefinspect.md
@@ -11,7 +11,7 @@ DefectDojo parser accepts Chef Inspect log scan data as a .log or .txt file.
Sample Chef Inspect logs can be found at https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/chefinspect
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/clair.md b/docs/content/supported_tools/parsers/file/clair.md
index 7a3164789a6..f11f279998f 100644
--- a/docs/content/supported_tools/parsers/file/clair.md
+++ b/docs/content/supported_tools/parsers/file/clair.md
@@ -8,7 +8,7 @@ You can import JSON reports of Docker image vulnerabilities found by a Clair sca
Sample Clair Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/clair).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- vulnerability ids
diff --git a/docs/content/supported_tools/parsers/file/cloudsploit.md b/docs/content/supported_tools/parsers/file/cloudsploit.md
index 425330bbb42..56b8a4814a8 100644
--- a/docs/content/supported_tools/parsers/file/cloudsploit.md
+++ b/docs/content/supported_tools/parsers/file/cloudsploit.md
@@ -8,7 +8,7 @@ From: https://github.com/aquasecurity/cloudsploit . Import the JSON output.
Sample Cloudsploit (AquaSecurity) scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/cloudsploit).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/cobalt.md b/docs/content/supported_tools/parsers/file/cobalt.md
index aefaaff6b57..672d734ac07 100644
--- a/docs/content/supported_tools/parsers/file/cobalt.md
+++ b/docs/content/supported_tools/parsers/file/cobalt.md
@@ -8,7 +8,7 @@ CSV Report
Sample Cobalt.io Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/cobalt).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/codechecker.md b/docs/content/supported_tools/parsers/file/codechecker.md
index 239cd18900b..6879d98ca59 100644
--- a/docs/content/supported_tools/parsers/file/codechecker.md
+++ b/docs/content/supported_tools/parsers/file/codechecker.md
@@ -24,7 +24,7 @@ CodeChecker analyze ./codechecker.log -o /path/to/codechecker/analyzer/output/di
Sample Codechecker Report native scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/codechecker).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/codeql.md b/docs/content/supported_tools/parsers/file/codeql.md
index f6844cda3c6..824e4147ca7 100644
--- a/docs/content/supported_tools/parsers/file/codeql.md
+++ b/docs/content/supported_tools/parsers/file/codeql.md
@@ -12,7 +12,7 @@ The same can be achieved by running the CodeQL GitHub action with the `add-snipp
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/contrast.md b/docs/content/supported_tools/parsers/file/contrast.md
index 6a6eb8aa708..5c85a5de06e 100644
--- a/docs/content/supported_tools/parsers/file/contrast.md
+++ b/docs/content/supported_tools/parsers/file/contrast.md
@@ -8,7 +8,7 @@ CSV Report
Sample Contrast Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/contrast).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/coverity_api.md b/docs/content/supported_tools/parsers/file/coverity_api.md
index 0a10a6b2906..b9c6a17297f 100644
--- a/docs/content/supported_tools/parsers/file/coverity_api.md
+++ b/docs/content/supported_tools/parsers/file/coverity_api.md
@@ -16,7 +16,7 @@ Other supported attributes: `cwe`, `displayFile`, `occurrenceCount` and `firstDe
Sample Coverity API scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/coverity_api).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/coverity_scan.md b/docs/content/supported_tools/parsers/file/coverity_scan.md
index a914075fd57..5b502ee0e4e 100644
--- a/docs/content/supported_tools/parsers/file/coverity_scan.md
+++ b/docs/content/supported_tools/parsers/file/coverity_scan.md
@@ -14,7 +14,7 @@ Run `coverity scan --project-dir --local --local-for
Sample Coverity scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/coverity_scan).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/crashtest_security.md b/docs/content/supported_tools/parsers/file/crashtest_security.md
index 56d56e3beb1..ea919c6f582 100644
--- a/docs/content/supported_tools/parsers/file/crashtest_security.md
+++ b/docs/content/supported_tools/parsers/file/crashtest_security.md
@@ -8,7 +8,7 @@ Import JSON Report Import XML Report in JUnit Format
Sample Crashtest Security scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/crashtest_security).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/cred_scan.md b/docs/content/supported_tools/parsers/file/cred_scan.md
index 5ad1e67edbc..fc4a0121ef1 100644
--- a/docs/content/supported_tools/parsers/file/cred_scan.md
+++ b/docs/content/supported_tools/parsers/file/cred_scan.md
@@ -8,7 +8,7 @@ Import CSV credential scanner reports
Sample CredScan Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/cred_scan).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/crunch42.md b/docs/content/supported_tools/parsers/file/crunch42.md
index 9647d3f9f6b..603ad5bc466 100644
--- a/docs/content/supported_tools/parsers/file/crunch42.md
+++ b/docs/content/supported_tools/parsers/file/crunch42.md
@@ -8,7 +8,7 @@ Import JSON findings from Crunch42 vulnerability scan tool.
Sample Crunch42 Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/crunch42).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/cyberwatch_galeax.md b/docs/content/supported_tools/parsers/file/cyberwatch_galeax.md
index c6e22181a24..2275b08517a 100644
--- a/docs/content/supported_tools/parsers/file/cyberwatch_galeax.md
+++ b/docs/content/supported_tools/parsers/file/cyberwatch_galeax.md
@@ -14,7 +14,7 @@ For each CVE and security issue found in the JSON input, the parser creates a co
Sample Cybwerwatch Galeax Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/cyberwatch).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/cyclonedx.md b/docs/content/supported_tools/parsers/file/cyclonedx.md
index fc36aad7a95..af9ac33c691 100644
--- a/docs/content/supported_tools/parsers/file/cyclonedx.md
+++ b/docs/content/supported_tools/parsers/file/cyclonedx.md
@@ -31,7 +31,7 @@ cyclonedx-py
Sample CycloneDX scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/cyclonedx).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vuln id from tool
- component name
diff --git a/docs/content/supported_tools/parsers/file/dawnscanner.md b/docs/content/supported_tools/parsers/file/dawnscanner.md
index 96b1d8dce82..d8f10abb3f3 100644
--- a/docs/content/supported_tools/parsers/file/dawnscanner.md
+++ b/docs/content/supported_tools/parsers/file/dawnscanner.md
@@ -8,7 +8,7 @@ Import report in JSON generated with -j option
Sample DawnScanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/dawnscanner).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/deepfence_threatmapper.md b/docs/content/supported_tools/parsers/file/deepfence_threatmapper.md
index 362c8dc92e5..14224893e0f 100644
--- a/docs/content/supported_tools/parsers/file/deepfence_threatmapper.md
+++ b/docs/content/supported_tools/parsers/file/deepfence_threatmapper.md
@@ -8,7 +8,7 @@ Import compliance, malware, secret, vulnerability reports from [Deepfence Threat
Sample Threatmapper scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/deepfence_threatmapper). In this link are both .xlsx and .csv listed. They contain the same content, but csv can be read in the Browser, but only xlsx is supported by the parser.
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/dependency_check.md b/docs/content/supported_tools/parsers/file/dependency_check.md
index 76d51277801..5e2b28b47cb 100644
--- a/docs/content/supported_tools/parsers/file/dependency_check.md
+++ b/docs/content/supported_tools/parsers/file/dependency_check.md
@@ -27,7 +27,7 @@ DC bundles dependencies under five scenarios:
Sample Dependency Check scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/dependency_check).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/dependency_track.md b/docs/content/supported_tools/parsers/file/dependency_track.md
index 908458899d8..26d7f84343c 100644
--- a/docs/content/supported_tools/parsers/file/dependency_track.md
+++ b/docs/content/supported_tools/parsers/file/dependency_track.md
@@ -14,7 +14,7 @@ imported in JSON format. See here for more info on this JSON format:
Sample Dependency Track scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/dependency_track).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- component name
- component version
diff --git a/docs/content/supported_tools/parsers/file/detect_secrets.md b/docs/content/supported_tools/parsers/file/detect_secrets.md
index 871cc02cef5..0d7f52cd60a 100644
--- a/docs/content/supported_tools/parsers/file/detect_secrets.md
+++ b/docs/content/supported_tools/parsers/file/detect_secrets.md
@@ -8,7 +8,7 @@ Import of JSON report from
Sample Detect-secrets scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/detect_secrets).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/dockerbench.md b/docs/content/supported_tools/parsers/file/dockerbench.md
index c192a179e0c..906bb497ae4 100644
--- a/docs/content/supported_tools/parsers/file/dockerbench.md
+++ b/docs/content/supported_tools/parsers/file/dockerbench.md
@@ -9,7 +9,7 @@ docker-bench-security is a script that make tests based on [CIS Docker Benchmark
Sample docker-bench-security Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/dockerbench).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/dockle.md b/docs/content/supported_tools/parsers/file/dockle.md
index a02f8e4b601..d3b1b9092d5 100644
--- a/docs/content/supported_tools/parsers/file/dockle.md
+++ b/docs/content/supported_tools/parsers/file/dockle.md
@@ -9,7 +9,7 @@ Import JSON container image linter reports
Sample Dockle Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/dockle).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/drheader.md b/docs/content/supported_tools/parsers/file/drheader.md
index 42a52cc0cea..1a34af86717 100644
--- a/docs/content/supported_tools/parsers/file/drheader.md
+++ b/docs/content/supported_tools/parsers/file/drheader.md
@@ -9,7 +9,7 @@ Import of JSON report from
Sample DrHeader scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/drheader).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/dsop.md b/docs/content/supported_tools/parsers/file/dsop.md
index 1e7a0f3e5ac..6d2ad22755f 100644
--- a/docs/content/supported_tools/parsers/file/dsop.md
+++ b/docs/content/supported_tools/parsers/file/dsop.md
@@ -8,6 +8,6 @@ Import XLSX findings from DSOP vulnerability scan pipelines.
Sample DSOP Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/dsop).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vulnerability ids
diff --git a/docs/content/supported_tools/parsers/file/edgescan.md b/docs/content/supported_tools/parsers/file/edgescan.md
index 9391dcaa9b1..0d75fd22375 100644
--- a/docs/content/supported_tools/parsers/file/edgescan.md
+++ b/docs/content/supported_tools/parsers/file/edgescan.md
@@ -6,7 +6,7 @@ Import Edgescan vulnerabilities by JSON file or [API - no file required](../../a
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/eslint.md b/docs/content/supported_tools/parsers/file/eslint.md
index 8b6410b3754..8e0c62b5310 100644
--- a/docs/content/supported_tools/parsers/file/eslint.md
+++ b/docs/content/supported_tools/parsers/file/eslint.md
@@ -8,7 +8,7 @@ ESLint Json report format (-f json)
Sample ESLint scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/eslint).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/fortify.md b/docs/content/supported_tools/parsers/file/fortify.md
index 9fede87689d..8153daaa305 100644
--- a/docs/content/supported_tools/parsers/file/fortify.md
+++ b/docs/content/supported_tools/parsers/file/fortify.md
@@ -28,7 +28,7 @@ required XML:
```
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/garak.md b/docs/content/supported_tools/parsers/file/garak.md
index 0c5ce76a2c0..77a8fa96418 100644
--- a/docs/content/supported_tools/parsers/file/garak.md
+++ b/docs/content/supported_tools/parsers/file/garak.md
@@ -29,7 +29,7 @@ The parser accepts a `.jsonl` hit log. Each line is one hit record with fields i
Sample scan data for testing purposes can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/garak).
### Deduplication
-The "Garak Scan" scan type uses the `hash_code` [deduplication algorithm](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/) with the following fields:
+The "Garak Scan" scan type uses the `hash_code` [deduplication algorithm](/en/working_with_findings/finding_deduplication/about_deduplication/) with the following fields:
- title (the garak probe and its goal)
- component_name (the scanned model / generator)
diff --git a/docs/content/supported_tools/parsers/file/gcloud_artifact_scan.md b/docs/content/supported_tools/parsers/file/gcloud_artifact_scan.md
index ef113912993..6956f8a8cc4 100644
--- a/docs/content/supported_tools/parsers/file/gcloud_artifact_scan.md
+++ b/docs/content/supported_tools/parsers/file/gcloud_artifact_scan.md
@@ -14,7 +14,7 @@ DefectDojo parser accepts Google Cloud Artifact Vulnerability Scan data as a .js
Sample reports can be found at https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/gcloud_artifact_scan
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/generic.md b/docs/content/supported_tools/parsers/file/generic.md
index edef7d948dc..adb71ec80ef 100644
--- a/docs/content/supported_tools/parsers/file/generic.md
+++ b/docs/content/supported_tools/parsers/file/generic.md
@@ -234,7 +234,7 @@ Sample Generic Findings Import scans can be found [here](https://github.com/Defe
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/ggshield.md b/docs/content/supported_tools/parsers/file/ggshield.md
index 08ff52a323f..a6f01414557 100644
--- a/docs/content/supported_tools/parsers/file/ggshield.md
+++ b/docs/content/supported_tools/parsers/file/ggshield.md
@@ -8,7 +8,7 @@ Import [Ggshield](https://github.com/GitGuardian/ggshield) findings in JSON form
Sample Ggshield scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/ggshield).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/github_vulnerability.md b/docs/content/supported_tools/parsers/file/github_vulnerability.md
index db2a1ceb4c6..58172be32e9 100644
--- a/docs/content/supported_tools/parsers/file/github_vulnerability.md
+++ b/docs/content/supported_tools/parsers/file/github_vulnerability.md
@@ -225,7 +225,7 @@ def get_dependabot_alerts_repository(repo, owner):
Sample Github Vulnerability scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/github_vulnerability).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/gitlab_api_fuzzing.md b/docs/content/supported_tools/parsers/file/gitlab_api_fuzzing.md
index 7a4803138f8..2bb0fcace28 100644
--- a/docs/content/supported_tools/parsers/file/gitlab_api_fuzzing.md
+++ b/docs/content/supported_tools/parsers/file/gitlab_api_fuzzing.md
@@ -8,7 +8,7 @@ GitLab API Fuzzing Report report file can be imported in JSON format (option --j
Sample GitLab API Fuzzing Report Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/gitlab_api_fuzzing).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/gitlab_container_scan.md b/docs/content/supported_tools/parsers/file/gitlab_container_scan.md
index df8be563f3c..f3040e74010 100644
--- a/docs/content/supported_tools/parsers/file/gitlab_container_scan.md
+++ b/docs/content/supported_tools/parsers/file/gitlab_container_scan.md
@@ -8,7 +8,7 @@ GitLab Container Scan report file can be imported in JSON format (option --json)
Sample GitLab Container Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/gitlab_container_scan).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/gitlab_dast.md b/docs/content/supported_tools/parsers/file/gitlab_dast.md
index e28b69abc49..6efd5664ffb 100644
--- a/docs/content/supported_tools/parsers/file/gitlab_dast.md
+++ b/docs/content/supported_tools/parsers/file/gitlab_dast.md
@@ -8,7 +8,7 @@ GitLab DAST Report in JSON format (option --json)
Sample GitLab DAST Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/gitlab_dast).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/gitlab_dep_scan.md b/docs/content/supported_tools/parsers/file/gitlab_dep_scan.md
index e490565d2f2..3489ffb7951 100644
--- a/docs/content/supported_tools/parsers/file/gitlab_dep_scan.md
+++ b/docs/content/supported_tools/parsers/file/gitlab_dep_scan.md
@@ -8,7 +8,7 @@ Import Dependency Scanning Report vulnerabilities in JSON format: https://docs.g
Sample GitLab Dependency Scanning Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/gitlab_dep_scan).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- vulnerability ids
diff --git a/docs/content/supported_tools/parsers/file/gitlab_sast.md b/docs/content/supported_tools/parsers/file/gitlab_sast.md
index 8d618be57b2..2f224e1f4e2 100644
--- a/docs/content/supported_tools/parsers/file/gitlab_sast.md
+++ b/docs/content/supported_tools/parsers/file/gitlab_sast.md
@@ -8,7 +8,7 @@ Import SAST Report vulnerabilities in JSON format: https://docs.gitlab.com/ee/us
Sample GitLab SAST Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/gitlab_sast).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/gitlab_secret_detection_report.md b/docs/content/supported_tools/parsers/file/gitlab_secret_detection_report.md
index 9f0fab9d42c..ac6f6922351 100644
--- a/docs/content/supported_tools/parsers/file/gitlab_secret_detection_report.md
+++ b/docs/content/supported_tools/parsers/file/gitlab_secret_detection_report.md
@@ -8,7 +8,7 @@ GitLab Secret Detection Report file can be imported in JSON format (option --jso
Sample GitLab Secret Detection Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/gitlab_secret_detection_report).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/gitleaks.md b/docs/content/supported_tools/parsers/file/gitleaks.md
index daf9958b84e..1caec6a7169 100644
--- a/docs/content/supported_tools/parsers/file/gitleaks.md
+++ b/docs/content/supported_tools/parsers/file/gitleaks.md
@@ -8,7 +8,7 @@ Import Gitleaks findings in JSON format.
Sample Gitleaks scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/gitleaks).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/gosec.md b/docs/content/supported_tools/parsers/file/gosec.md
index 2ad6a90cae4..966d4d61eff 100644
--- a/docs/content/supported_tools/parsers/file/gosec.md
+++ b/docs/content/supported_tools/parsers/file/gosec.md
@@ -8,7 +8,7 @@ Import Gosec Scanner findings in JSON format.
Sample Gosec Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/gosec).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/govulncheck.md b/docs/content/supported_tools/parsers/file/govulncheck.md
index 3378b48dd37..3d7e0bd54ba 100644
--- a/docs/content/supported_tools/parsers/file/govulncheck.md
+++ b/docs/content/supported_tools/parsers/file/govulncheck.md
@@ -39,7 +39,7 @@ Scanner parser fails with an error pointing you to the SARIF scan type.
Sample Govulncheck scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/govulncheck).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/h1.md b/docs/content/supported_tools/parsers/file/h1.md
index 0e255825acc..12652a0a74f 100644
--- a/docs/content/supported_tools/parsers/file/h1.md
+++ b/docs/content/supported_tools/parsers/file/h1.md
@@ -8,7 +8,7 @@ Import HackerOne cases findings in JSON format (vulnerability disclosure parser)
Sample HackerOne Cases scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/h1).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/hadolint.md b/docs/content/supported_tools/parsers/file/hadolint.md
index 9de0f020e8a..68b864b8923 100644
--- a/docs/content/supported_tools/parsers/file/hadolint.md
+++ b/docs/content/supported_tools/parsers/file/hadolint.md
@@ -8,7 +8,7 @@ Hadolint Dockerfile scan in json format.
Sample Hadolint scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/hadolint).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/harbor_vulnerability.md b/docs/content/supported_tools/parsers/file/harbor_vulnerability.md
index 97ed0272b3b..0d9a3e75d90 100644
--- a/docs/content/supported_tools/parsers/file/harbor_vulnerability.md
+++ b/docs/content/supported_tools/parsers/file/harbor_vulnerability.md
@@ -9,7 +9,7 @@ Import findings from Harbor registry container scan:
Sample Harbor Vulnerability scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/harbor_vulnerability).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/hcl_appscan.md b/docs/content/supported_tools/parsers/file/hcl_appscan.md
index 234f0a7ef3a..a3b5a9430f6 100644
--- a/docs/content/supported_tools/parsers/file/hcl_appscan.md
+++ b/docs/content/supported_tools/parsers/file/hcl_appscan.md
@@ -8,7 +8,7 @@ The HCL Appscan has the possibility to export the results in PDF, XML and CSV fo
Sample HCL Appscan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/hcl_appscan).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/hcl_asoc_sast.md b/docs/content/supported_tools/parsers/file/hcl_asoc_sast.md
index 795e479feb4..bfabea64196 100644
--- a/docs/content/supported_tools/parsers/file/hcl_asoc_sast.md
+++ b/docs/content/supported_tools/parsers/file/hcl_asoc_sast.md
@@ -8,7 +8,7 @@ HCL Appscan on Cloud can export the results in PDF, XML and CSV formats but this
Sample HCL AppScan on Cloud SAST scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/hcl_asoc_sast).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- file path
diff --git a/docs/content/supported_tools/parsers/file/horusec.md b/docs/content/supported_tools/parsers/file/horusec.md
index 06a71880b57..9d636268188 100644
--- a/docs/content/supported_tools/parsers/file/horusec.md
+++ b/docs/content/supported_tools/parsers/file/horusec.md
@@ -15,7 +15,7 @@ References:
Sample Horusec scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/horusec).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/humble.md b/docs/content/supported_tools/parsers/file/humble.md
index cba72702a2e..16bc7e43207 100644
--- a/docs/content/supported_tools/parsers/file/humble.md
+++ b/docs/content/supported_tools/parsers/file/humble.md
@@ -9,6 +9,6 @@ Import JSON report of the Humble scanner
Sample Humble Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/humble).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
diff --git a/docs/content/supported_tools/parsers/file/huskyci.md b/docs/content/supported_tools/parsers/file/huskyci.md
index fb774a0ab41..2f4c2465820 100644
--- a/docs/content/supported_tools/parsers/file/huskyci.md
+++ b/docs/content/supported_tools/parsers/file/huskyci.md
@@ -9,7 +9,7 @@ Import JSON reports from
Sample HuskyCI Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/huskyci).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/hydra.md b/docs/content/supported_tools/parsers/file/hydra.md
index 26290d300d6..86ecd0a963d 100644
--- a/docs/content/supported_tools/parsers/file/hydra.md
+++ b/docs/content/supported_tools/parsers/file/hydra.md
@@ -43,7 +43,7 @@ Sample JSON report:
Sample Hydra scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/hydra).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/ibm_app.md b/docs/content/supported_tools/parsers/file/ibm_app.md
index 853e3770404..c9cdb18f226 100644
--- a/docs/content/supported_tools/parsers/file/ibm_app.md
+++ b/docs/content/supported_tools/parsers/file/ibm_app.md
@@ -8,7 +8,7 @@ XML file from IBM App Scanner.
Sample IBM AppScan DAST scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/ibm_app).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/immuniweb.md b/docs/content/supported_tools/parsers/file/immuniweb.md
index 9dbfec3b3eb..f93c1e59cc3 100644
--- a/docs/content/supported_tools/parsers/file/immuniweb.md
+++ b/docs/content/supported_tools/parsers/file/immuniweb.md
@@ -8,7 +8,7 @@ XML or JSON Scan Result File from [Immuniweb Scan](https://www.immuniweb.com/).
Sample Immuniweb Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/immuniweb).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/intsights.md b/docs/content/supported_tools/parsers/file/intsights.md
index a31ff0ce916..415f9124b1d 100644
--- a/docs/content/supported_tools/parsers/file/intsights.md
+++ b/docs/content/supported_tools/parsers/file/intsights.md
@@ -65,7 +65,7 @@ Example:
Sample IntSights Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/intsights).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/invicti.md b/docs/content/supported_tools/parsers/file/invicti.md
index f9a6ccaddda..f4516377551 100644
--- a/docs/content/supported_tools/parsers/file/invicti.md
+++ b/docs/content/supported_tools/parsers/file/invicti.md
@@ -127,7 +127,7 @@ Sample Invicti scans can be found [here](https://github.com/DefectDojo/django-De
## Default Deduplication Hashcode Fields
By default, DefectDojo identifies duplicate Findings using these
-[hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+[hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/iriusrisk.md b/docs/content/supported_tools/parsers/file/iriusrisk.md
index eb5e3acdfc5..1fd6766e19b 100644
--- a/docs/content/supported_tools/parsers/file/iriusrisk.md
+++ b/docs/content/supported_tools/parsers/file/iriusrisk.md
@@ -17,7 +17,7 @@ The IriusRisk parser accepts CSV file format. To generate this file from IriusRi
## Default Deduplication Hashcode Fields
-DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- component_name
diff --git a/docs/content/supported_tools/parsers/file/jfrog_xray_api_summary_artifact.md b/docs/content/supported_tools/parsers/file/jfrog_xray_api_summary_artifact.md
index 75452a0421c..b17b367fb42 100644
--- a/docs/content/supported_tools/parsers/file/jfrog_xray_api_summary_artifact.md
+++ b/docs/content/supported_tools/parsers/file/jfrog_xray_api_summary_artifact.md
@@ -13,7 +13,7 @@ Sample JFrog Xray API Summary Artifact Scans can be found [here](https://github.
See JFrog Documentation: https://jfrog.com/help/r/jfrog-rest-apis/summary
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/jfrog_xray_on_demand_binary_scan.md b/docs/content/supported_tools/parsers/file/jfrog_xray_on_demand_binary_scan.md
index c324e5d4069..4565bad77f8 100644
--- a/docs/content/supported_tools/parsers/file/jfrog_xray_on_demand_binary_scan.md
+++ b/docs/content/supported_tools/parsers/file/jfrog_xray_on_demand_binary_scan.md
@@ -12,7 +12,7 @@ https://jfrog.com/help/r/jfrog-cli/on-demand-binary-scan
Sample JFrog Xray On Demand Binary Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/jfrog_xray_on_demand_binary_scan).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- component name
diff --git a/docs/content/supported_tools/parsers/file/jfrog_xray_unified.md b/docs/content/supported_tools/parsers/file/jfrog_xray_unified.md
index f8301db839a..6ec1b99d821 100644
--- a/docs/content/supported_tools/parsers/file/jfrog_xray_unified.md
+++ b/docs/content/supported_tools/parsers/file/jfrog_xray_unified.md
@@ -8,7 +8,7 @@ Import the JSON format for the \"Security & Compliance | Reports\" export. Jfrog
Sample JFrog XRay Unified scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/jfrog_xray_unified).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vulnerability ids
- file path
diff --git a/docs/content/supported_tools/parsers/file/jfrogxray.md b/docs/content/supported_tools/parsers/file/jfrogxray.md
index c97181ac58d..e51d8511137 100644
--- a/docs/content/supported_tools/parsers/file/jfrogxray.md
+++ b/docs/content/supported_tools/parsers/file/jfrogxray.md
@@ -8,7 +8,7 @@ Import the JSON format for the \"Security Export\" file. Use this importer for X
Sample JFrogXRay scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/jfrogxray).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/kics.md b/docs/content/supported_tools/parsers/file/kics.md
index 18f5a5eecad..df4b97a0b29 100644
--- a/docs/content/supported_tools/parsers/file/kics.md
+++ b/docs/content/supported_tools/parsers/file/kics.md
@@ -8,7 +8,7 @@ Import of JSON report from
Sample KICS Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/kics).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- file path
- line
diff --git a/docs/content/supported_tools/parsers/file/kiuwan.md b/docs/content/supported_tools/parsers/file/kiuwan.md
index b45544fc1ad..7d1aa03e495 100644
--- a/docs/content/supported_tools/parsers/file/kiuwan.md
+++ b/docs/content/supported_tools/parsers/file/kiuwan.md
@@ -8,7 +8,7 @@ Import Kiuwan SAST Scan in CSV format. Export as CSV Results on Kiuwan, or via t
Sample Kiuwan Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/kiuwan).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- description
- severity
diff --git a/docs/content/supported_tools/parsers/file/kiuwan_sca.md b/docs/content/supported_tools/parsers/file/kiuwan_sca.md
index 1e1d6874718..29f7014676b 100644
--- a/docs/content/supported_tools/parsers/file/kiuwan_sca.md
+++ b/docs/content/supported_tools/parsers/file/kiuwan_sca.md
@@ -26,7 +26,7 @@ saveFile("result.json", json.dumps(data, indent=2))
Sample Kiuwan Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/kiuwan_sca).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/krakend_audit.md b/docs/content/supported_tools/parsers/file/krakend_audit.md
index 130794e84fa..501e78526cf 100644
--- a/docs/content/supported_tools/parsers/file/krakend_audit.md
+++ b/docs/content/supported_tools/parsers/file/krakend_audit.md
@@ -11,7 +11,7 @@ krakend audit -c krakend.json -f "{{ marshal . }}" >> recommendations.json
Sample KrakenD Audit scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/krakend_audit).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- description
- mitigation
diff --git a/docs/content/supported_tools/parsers/file/kubeaudit.md b/docs/content/supported_tools/parsers/file/kubeaudit.md
index d0e0f4a0626..f04d178011e 100644
--- a/docs/content/supported_tools/parsers/file/kubeaudit.md
+++ b/docs/content/supported_tools/parsers/file/kubeaudit.md
@@ -8,7 +8,7 @@ Kubeaudit is a command line tool and a Go package to audit Kubernetes clusters f
Sample Kubeaudit scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/kubeaudit).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/kubebench.md b/docs/content/supported_tools/parsers/file/kubebench.md
index 57054a2850c..7c5a7297201 100644
--- a/docs/content/supported_tools/parsers/file/kubebench.md
+++ b/docs/content/supported_tools/parsers/file/kubebench.md
@@ -8,7 +8,7 @@ Import JSON reports of Kubernetes CIS benchmark scans.
Sample kube-bench Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/kubebench).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- vuln id from tool
diff --git a/docs/content/supported_tools/parsers/file/kubehunter.md b/docs/content/supported_tools/parsers/file/kubehunter.md
index 926596a27dd..bd685b864a0 100644
--- a/docs/content/supported_tools/parsers/file/kubehunter.md
+++ b/docs/content/supported_tools/parsers/file/kubehunter.md
@@ -8,7 +8,7 @@ Import JSON reports of kube-hunter scans. Use "kube-hunter --report json" to pro
Sample kubeHunter Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/kubehunter).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/kubescape.md b/docs/content/supported_tools/parsers/file/kubescape.md
index 41e44279e34..b455b9841a8 100644
--- a/docs/content/supported_tools/parsers/file/kubescape.md
+++ b/docs/content/supported_tools/parsers/file/kubescape.md
@@ -10,7 +10,7 @@ The parser supports json output files
Sample Kubescape scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/kubescape).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- component name
diff --git a/docs/content/supported_tools/parsers/file/legitify.md b/docs/content/supported_tools/parsers/file/legitify.md
index e9eaa111c9f..a68415f1985 100644
--- a/docs/content/supported_tools/parsers/file/legitify.md
+++ b/docs/content/supported_tools/parsers/file/legitify.md
@@ -9,7 +9,7 @@ This DefectDojo parser accepts JSON files (in flattened format) from Legitify. F
Sample scan data for testing purposes can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/legitify).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- endpoints
diff --git a/docs/content/supported_tools/parsers/file/mend.md b/docs/content/supported_tools/parsers/file/mend.md
index a2706f7fbd5..b3e1a901039 100644
--- a/docs/content/supported_tools/parsers/file/mend.md
+++ b/docs/content/supported_tools/parsers/file/mend.md
@@ -15,7 +15,7 @@ See documentation: https://docs.mend.io/bundle/unified_agent/page/example_of_a_u
*Formerly known as Whitesource.*
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/meterian.md b/docs/content/supported_tools/parsers/file/meterian.md
index 852e71a286b..6d2793c8ba7 100644
--- a/docs/content/supported_tools/parsers/file/meterian.md
+++ b/docs/content/supported_tools/parsers/file/meterian.md
@@ -8,7 +8,7 @@ The Meterian JSON report output file can be imported.
Sample Meterian Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/meterian).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- cwe
- component name
diff --git a/docs/content/supported_tools/parsers/file/microfocus_webinspect.md b/docs/content/supported_tools/parsers/file/microfocus_webinspect.md
index faa515c5d84..8a7bc68f499 100644
--- a/docs/content/supported_tools/parsers/file/microfocus_webinspect.md
+++ b/docs/content/supported_tools/parsers/file/microfocus_webinspect.md
@@ -8,7 +8,7 @@ Import XML report
Sample Microfocus Webinspect Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/microfocus_webinspect).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/mobsf.md b/docs/content/supported_tools/parsers/file/mobsf.md
index caac14fbf14..6237be639fa 100644
--- a/docs/content/supported_tools/parsers/file/mobsf.md
+++ b/docs/content/supported_tools/parsers/file/mobsf.md
@@ -10,7 +10,7 @@ Export a JSON file using the API, api/v1/report\_json and import it to Defectdoj
Sample MobSF Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/mobsf).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/mobsf_scorecard.md b/docs/content/supported_tools/parsers/file/mobsf_scorecard.md
index 0878c58b7b7..824f2ea750b 100644
--- a/docs/content/supported_tools/parsers/file/mobsf_scorecard.md
+++ b/docs/content/supported_tools/parsers/file/mobsf_scorecard.md
@@ -8,7 +8,7 @@ Export a JSON file using the API, api/v1/report_json.
Sample MobSF Scorecard Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/mobsf_scorecard).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/mozilla_observatory.md b/docs/content/supported_tools/parsers/file/mozilla_observatory.md
index f82b43524ad..6e320bf1883 100644
--- a/docs/content/supported_tools/parsers/file/mozilla_observatory.md
+++ b/docs/content/supported_tools/parsers/file/mozilla_observatory.md
@@ -8,7 +8,7 @@ Import JSON report.
Sample Mozilla Observatory Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/mozilla_observatory).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/ms_defender.md b/docs/content/supported_tools/parsers/file/ms_defender.md
index acf087f5245..11cabcfc378 100644
--- a/docs/content/supported_tools/parsers/file/ms_defender.md
+++ b/docs/content/supported_tools/parsers/file/ms_defender.md
@@ -11,7 +11,7 @@ This parser helps to parse Microsoft Defender Findings and supports two types of
Sample MS Defender Parser scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/ms_defender).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/n0s1.md b/docs/content/supported_tools/parsers/file/n0s1.md
index c310a20a505..d9aaa8564d9 100644
--- a/docs/content/supported_tools/parsers/file/n0s1.md
+++ b/docs/content/supported_tools/parsers/file/n0s1.md
@@ -13,6 +13,6 @@ Sample n0s1 scans can be found [here](https://github.com/DefectDojo/django-Defec
See n0s1 on GitHub: https://github.com/spark1security/n0s1
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- description
diff --git a/docs/content/supported_tools/parsers/file/nancy.md b/docs/content/supported_tools/parsers/file/nancy.md
index bc4b7d32a3c..468d3246b61 100644
--- a/docs/content/supported_tools/parsers/file/nancy.md
+++ b/docs/content/supported_tools/parsers/file/nancy.md
@@ -19,7 +19,7 @@ Sample Nancy scans can be found [here](https://github.com/DefectDojo/django-Defe
See Nancy on [Github](https://github.com/sonatype-nexus-community/nancy)
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- vuln id from tool
diff --git a/docs/content/supported_tools/parsers/file/netsparker.md b/docs/content/supported_tools/parsers/file/netsparker.md
index 2e6a6e4e0d6..4cd829e0468 100644
--- a/docs/content/supported_tools/parsers/file/netsparker.md
+++ b/docs/content/supported_tools/parsers/file/netsparker.md
@@ -12,7 +12,7 @@ Vulnerabilities List - JSON report
Sample Netsparker scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/netsparker).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/neuvector.md b/docs/content/supported_tools/parsers/file/neuvector.md
index 19f874a0c88..b9f76eeca7a 100644
--- a/docs/content/supported_tools/parsers/file/neuvector.md
+++ b/docs/content/supported_tools/parsers/file/neuvector.md
@@ -8,7 +8,7 @@ Imports compliance scans returned by REST API.
Sample NeuVector (compliance) scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/neuvector).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/neuvector_compliance.md b/docs/content/supported_tools/parsers/file/neuvector_compliance.md
index be04ef31853..0bb4f7b0bc1 100644
--- a/docs/content/supported_tools/parsers/file/neuvector_compliance.md
+++ b/docs/content/supported_tools/parsers/file/neuvector_compliance.md
@@ -8,7 +8,7 @@ JSON output of /v1/scan/{entity}/{id} endpoint
Sample NeuVector (REST) scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/neuvector_compliance).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- vuln id from tool
diff --git a/docs/content/supported_tools/parsers/file/nexpose.md b/docs/content/supported_tools/parsers/file/nexpose.md
index 74fcae1abde..0259c1709cb 100644
--- a/docs/content/supported_tools/parsers/file/nexpose.md
+++ b/docs/content/supported_tools/parsers/file/nexpose.md
@@ -110,7 +110,7 @@ Sample Nexpose XML 2.0 (Rapid7) scans can be found in the [unit test example sca
- [Nexpose Documentation](https://docs.rapid7.com/nexpose/)
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/nikto.md b/docs/content/supported_tools/parsers/file/nikto.md
index b5cee95475d..65c82b58b8d 100644
--- a/docs/content/supported_tools/parsers/file/nikto.md
+++ b/docs/content/supported_tools/parsers/file/nikto.md
@@ -15,7 +15,7 @@ See: https://github.com/sullo/nikto
Sample Nikto scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/nikto).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/nmap.md b/docs/content/supported_tools/parsers/file/nmap.md
index 7a14e478fa6..b2823963938 100644
--- a/docs/content/supported_tools/parsers/file/nmap.md
+++ b/docs/content/supported_tools/parsers/file/nmap.md
@@ -8,7 +8,7 @@ XML output (use -oX)
Sample Nmap scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/nmap).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/noseyparker.md b/docs/content/supported_tools/parsers/file/noseyparker.md
index ac3c9024759..6bfc613a960 100644
--- a/docs/content/supported_tools/parsers/file/noseyparker.md
+++ b/docs/content/supported_tools/parsers/file/noseyparker.md
@@ -31,7 +31,7 @@ The parser only accepts .jsonl reports. Each line of the JSON Lines file from No
Sample scan data for testing purposes can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/noseyparker).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/npm_audit.md b/docs/content/supported_tools/parsers/file/npm_audit.md
index e14c343a9d0..d765fbebbc1 100644
--- a/docs/content/supported_tools/parsers/file/npm_audit.md
+++ b/docs/content/supported_tools/parsers/file/npm_audit.md
@@ -30,7 +30,7 @@ Sample NPM Audit scans can be found [here](https://github.com/DefectDojo/django-
See NPM-Audit-Report on GitHub: https://github.com/npm/npm-audit-report/
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/npm_audit_7_plus.md b/docs/content/supported_tools/parsers/file/npm_audit_7_plus.md
index c1abccfdd01..1d7f1bf91dd 100644
--- a/docs/content/supported_tools/parsers/file/npm_audit_7_plus.md
+++ b/docs/content/supported_tools/parsers/file/npm_audit_7_plus.md
@@ -26,7 +26,7 @@ Sample NPM Audit scans can be found [here](https://github.com/DefectDojo/django-
See NPM-Audit-Report on GitHub: https://github.com/npm/npm-audit-report/
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/nsp.md b/docs/content/supported_tools/parsers/file/nsp.md
index e494d35eadc..cfeca99078c 100644
--- a/docs/content/supported_tools/parsers/file/nsp.md
+++ b/docs/content/supported_tools/parsers/file/nsp.md
@@ -8,7 +8,7 @@ Node Security Platform (NSP) output file can be imported in JSON format.
Sample Node Security Platform scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/nsp).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/nuclei.md b/docs/content/supported_tools/parsers/file/nuclei.md
index 94a0fa4480a..d4672a9efd1 100644
--- a/docs/content/supported_tools/parsers/file/nuclei.md
+++ b/docs/content/supported_tools/parsers/file/nuclei.md
@@ -8,7 +8,7 @@ Import JSON output of nuclei scan report ).
Sample OssIndex Devaudit scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/ossindex_devaudit).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/osv_scanner.md b/docs/content/supported_tools/parsers/file/osv_scanner.md
index 02aaade0bd0..66eb8bb882b 100644
--- a/docs/content/supported_tools/parsers/file/osv_scanner.md
+++ b/docs/content/supported_tools/parsers/file/osv_scanner.md
@@ -8,7 +8,7 @@ Use [OSV-Scanner](https://github.com/google/osv-scanner) to find existing vulner
Sample OSV Scanner output can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/osv_scanner).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/outpost24.md b/docs/content/supported_tools/parsers/file/outpost24.md
index 6f6d6e1bd53..8d56030c2f5 100644
--- a/docs/content/supported_tools/parsers/file/outpost24.md
+++ b/docs/content/supported_tools/parsers/file/outpost24.md
@@ -8,7 +8,7 @@ Import Outpost24 endpoint vulnerability scan in XML format.
Sample Outpost24 Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/outpost24).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/php_security_audit_v2.md b/docs/content/supported_tools/parsers/file/php_security_audit_v2.md
index 7e395653854..69454c6a143 100644
--- a/docs/content/supported_tools/parsers/file/php_security_audit_v2.md
+++ b/docs/content/supported_tools/parsers/file/php_security_audit_v2.md
@@ -8,7 +8,7 @@ Import PHP Security Audit v2 Scan in JSON format.
Sample PHP Security Audit v2 scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/php_security_audit_v2).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/php_symfony_security_check.md b/docs/content/supported_tools/parsers/file/php_symfony_security_check.md
index 0bbfc0875a4..dd15ca0b17b 100644
--- a/docs/content/supported_tools/parsers/file/php_symfony_security_check.md
+++ b/docs/content/supported_tools/parsers/file/php_symfony_security_check.md
@@ -8,7 +8,7 @@ Import results from the PHP Symfony Security Checker.
Sample PHP Symfony Security Checker scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/php_symfony_security_check).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- vulnerability ids
diff --git a/docs/content/supported_tools/parsers/file/picus.md b/docs/content/supported_tools/parsers/file/picus.md
index 45f271863f4..b6484924692 100644
--- a/docs/content/supported_tools/parsers/file/picus.md
+++ b/docs/content/supported_tools/parsers/file/picus.md
@@ -21,7 +21,7 @@ DefectDojo imports a single scan file at a time and does not unpack archives. If
## Default Deduplication Hashcode Fields
-Picus findings deduplicate using the hashcode algorithm on a single stable [hashcode field](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/), the tool-native action identifier:
+Picus findings deduplicate using the hashcode algorithm on a single stable [hashcode field](/en/working_with_findings/finding_deduplication/about_deduplication/), the tool-native action identifier:
- vuln_id_from_tool (populated from the Picus `actionId`)
diff --git a/docs/content/supported_tools/parsers/file/pip_audit.md b/docs/content/supported_tools/parsers/file/pip_audit.md
index 0eb3b483237..b734fa34c3e 100644
--- a/docs/content/supported_tools/parsers/file/pip_audit.md
+++ b/docs/content/supported_tools/parsers/file/pip_audit.md
@@ -42,7 +42,7 @@ Sample pip-audit Scan scans can be found [here](https://github.com/DefectDojo/dj
[pip-audit](https://pypi.org/project/pip-audit/)
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vuln id from tool
- component name
diff --git a/docs/content/supported_tools/parsers/file/pmd.md b/docs/content/supported_tools/parsers/file/pmd.md
index 366fe1b57b7..cf77b78f180 100644
--- a/docs/content/supported_tools/parsers/file/pmd.md
+++ b/docs/content/supported_tools/parsers/file/pmd.md
@@ -8,7 +8,7 @@ CSV Report
Sample PMD Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/pmd).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/popeye.md b/docs/content/supported_tools/parsers/file/popeye.md
index 5c90937d0f4..fe953f3e969 100644
--- a/docs/content/supported_tools/parsers/file/popeye.md
+++ b/docs/content/supported_tools/parsers/file/popeye.md
@@ -68,7 +68,7 @@ To match it to DefectDojo severity formula, Secerity 0 (Ok) findings from Popeye
Sample Popeye scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/popeye).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/progpilot.md b/docs/content/supported_tools/parsers/file/progpilot.md
index 9dfcad061e6..586866b1db3 100644
--- a/docs/content/supported_tools/parsers/file/progpilot.md
+++ b/docs/content/supported_tools/parsers/file/progpilot.md
@@ -8,7 +8,7 @@ This parser imports the Progpilot SAST JSON output. The scanner can be found [he
Sample Progpilot Parser scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/progpilot).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/prowler.md b/docs/content/supported_tools/parsers/file/prowler.md
index 5bf1dff2202..4200f266375 100644
--- a/docs/content/supported_tools/parsers/file/prowler.md
+++ b/docs/content/supported_tools/parsers/file/prowler.md
@@ -8,7 +8,7 @@ This parser imports Prowler Scan files in JSON and CSV format. The AWS, GCP, Azu
Sample Prowler scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/prowler).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/ptart.md b/docs/content/supported_tools/parsers/file/ptart.md
index b765562d9ab..15b7632a93b 100644
--- a/docs/content/supported_tools/parsers/file/ptart.md
+++ b/docs/content/supported_tools/parsers/file/ptart.md
@@ -13,7 +13,7 @@ Reports can be exported to JSON format from the PTART web UI, and imported into
Sample scan data for testing purposes can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/ptart).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/pwn_sast.md b/docs/content/supported_tools/parsers/file/pwn_sast.md
index b770c5eebb0..bcd41dfa08d 100644
--- a/docs/content/supported_tools/parsers/file/pwn_sast.md
+++ b/docs/content/supported_tools/parsers/file/pwn_sast.md
@@ -10,7 +10,7 @@ toc_hide: true
Sample PWN Security Automation Framework scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/pwn_sast).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/qualys.md b/docs/content/supported_tools/parsers/file/qualys.md
index 1a688a61c62..18c7d1558b6 100644
--- a/docs/content/supported_tools/parsers/file/qualys.md
+++ b/docs/content/supported_tools/parsers/file/qualys.md
@@ -21,7 +21,7 @@ A CSV formatted Qualys Scan Report can also be used. Ensure the following values
Sample Qualys Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/qualys).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/qualys_hacker_guardian.md b/docs/content/supported_tools/parsers/file/qualys_hacker_guardian.md
index cba55097d3b..99843c4a708 100644
--- a/docs/content/supported_tools/parsers/file/qualys_hacker_guardian.md
+++ b/docs/content/supported_tools/parsers/file/qualys_hacker_guardian.md
@@ -9,7 +9,7 @@ Qualys Hacker Guardian CSV export
Sample Qualys Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/qualys_hacker_guardian).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/qualys_infrascan_webgui.md b/docs/content/supported_tools/parsers/file/qualys_infrascan_webgui.md
index fa3d09343b0..8cb0776f16d 100644
--- a/docs/content/supported_tools/parsers/file/qualys_infrascan_webgui.md
+++ b/docs/content/supported_tools/parsers/file/qualys_infrascan_webgui.md
@@ -8,7 +8,7 @@ Qualys WebGUI output files can be imported in XML format.
Sample Qualys Infrastructure Scan (WebGUI XML) scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/qualys_infrascan_webgui).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/qualys_vmdr.md b/docs/content/supported_tools/parsers/file/qualys_vmdr.md
index a4ac41fc283..a2b76dcf132 100644
--- a/docs/content/supported_tools/parsers/file/qualys_vmdr.md
+++ b/docs/content/supported_tools/parsers/file/qualys_vmdr.md
@@ -27,7 +27,7 @@ The parser uses `DEDUPE_ALGO_UNIQUE_ID_FROM_TOOL_OR_HASH_CODE`, which tries `uni
**Hashcode fields:** `title`, `component_name`, `vuln_id_from_tool`
-For more information, see [About Deduplication](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/).
+For more information, see [About Deduplication](/en/working_with_findings/finding_deduplication/about_deduplication/).
### Sample Scan Data
diff --git a/docs/content/supported_tools/parsers/file/qualys_webapp.md b/docs/content/supported_tools/parsers/file/qualys_webapp.md
index 21ca3eca657..89bda9c36d1 100644
--- a/docs/content/supported_tools/parsers/file/qualys_webapp.md
+++ b/docs/content/supported_tools/parsers/file/qualys_webapp.md
@@ -8,7 +8,7 @@ Qualys WebScan output files can be imported in XML format.
Sample Qualys Webapp Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/qualys_webapp).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/rapplex.md b/docs/content/supported_tools/parsers/file/rapplex.md
index 36e74c449e6..a9ef2c3e797 100644
--- a/docs/content/supported_tools/parsers/file/rapplex.md
+++ b/docs/content/supported_tools/parsers/file/rapplex.md
@@ -9,7 +9,7 @@ Import JSON report of [Rapplex - Web Application Security Scanner](https://rappl
Sample Rapplex scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/rapplex).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- endpoints
diff --git a/docs/content/supported_tools/parsers/file/redhatsatellite.md b/docs/content/supported_tools/parsers/file/redhatsatellite.md
index 8a10fb1dccc..169037031f2 100644
--- a/docs/content/supported_tools/parsers/file/redhatsatellite.md
+++ b/docs/content/supported_tools/parsers/file/redhatsatellite.md
@@ -8,7 +8,7 @@ You can import a JSON report which was retrieved through the REST API of Red Hat
Sample Red Hat Satellite scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/redhatsatellite).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- description
- severity
diff --git a/docs/content/supported_tools/parsers/file/retirejs.md b/docs/content/supported_tools/parsers/file/retirejs.md
index 0d925b0226b..54490c2ed81 100644
--- a/docs/content/supported_tools/parsers/file/retirejs.md
+++ b/docs/content/supported_tools/parsers/file/retirejs.md
@@ -8,7 +8,7 @@ Retire.js JavaScript scan (\--js) output file can be imported in JSON format.
Sample Retire.js scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/retirejs).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/risk_recon.md b/docs/content/supported_tools/parsers/file/risk_recon.md
index c35ceac2792..10d919601ed 100644
--- a/docs/content/supported_tools/parsers/file/risk_recon.md
+++ b/docs/content/supported_tools/parsers/file/risk_recon.md
@@ -60,7 +60,7 @@ Import findings from Risk Recon via the API. Configure your own JSON report as f
Sample Risk Recon API Importer scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/risk_recon).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/rubocop.md b/docs/content/supported_tools/parsers/file/rubocop.md
index 2a188c3b1ee..628e86f0e79 100644
--- a/docs/content/supported_tools/parsers/file/rubocop.md
+++ b/docs/content/supported_tools/parsers/file/rubocop.md
@@ -8,7 +8,7 @@ Import Rubocop JSON scan report (with option -f json).
Sample Rubocop Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/rubocop).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vuln id from tool
- file path
diff --git a/docs/content/supported_tools/parsers/file/rusty_hog.md b/docs/content/supported_tools/parsers/file/rusty_hog.md
index 7b170ffc325..d2de23af1f7 100644
--- a/docs/content/supported_tools/parsers/file/rusty_hog.md
+++ b/docs/content/supported_tools/parsers/file/rusty_hog.md
@@ -20,7 +20,7 @@ You can either select "Rusty Hog Scan" directly, or specify the sub scanner (e.g
Sample Rusty Hog parser scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/rusty_hog).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- file path
- payload
diff --git a/docs/content/supported_tools/parsers/file/scantist.md b/docs/content/supported_tools/parsers/file/scantist.md
index b8b359671d1..6570bdcc35b 100644
--- a/docs/content/supported_tools/parsers/file/scantist.md
+++ b/docs/content/supported_tools/parsers/file/scantist.md
@@ -9,7 +9,7 @@ Here you can find more information:
Sample Scantist Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/scantist).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/scout_suite.md b/docs/content/supported_tools/parsers/file/scout_suite.md
index 7a565b2dd17..424254b2078 100644
--- a/docs/content/supported_tools/parsers/file/scout_suite.md
+++ b/docs/content/supported_tools/parsers/file/scout_suite.md
@@ -12,7 +12,7 @@ different Cloud projects. See
Sample ScoutSuite scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/scout_suite).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- file path
- vuln id from tool
diff --git a/docs/content/supported_tools/parsers/file/semgrep.md b/docs/content/supported_tools/parsers/file/semgrep.md
index 9e039fd246e..456a889f7c6 100644
--- a/docs/content/supported_tools/parsers/file/semgrep.md
+++ b/docs/content/supported_tools/parsers/file/semgrep.md
@@ -8,7 +8,7 @@ Import Semgrep output (--json)
Sample Semgrep JSON Report scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/semgrep).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/skf.md b/docs/content/supported_tools/parsers/file/skf.md
index 2ab3ade041e..67f3a173751 100644
--- a/docs/content/supported_tools/parsers/file/skf.md
+++ b/docs/content/supported_tools/parsers/file/skf.md
@@ -8,7 +8,7 @@ Output of SKF Sprint summary export.
Sample SKF Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/skf).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/snyk.md b/docs/content/supported_tools/parsers/file/snyk.md
index 07e128f3fab..1d6757a872a 100644
--- a/docs/content/supported_tools/parsers/file/snyk.md
+++ b/docs/content/supported_tools/parsers/file/snyk.md
@@ -105,7 +105,7 @@ For teams running Snyk across multiple applications and repositories:
## Default Deduplication Hashcode Fields
By default, DefectDojo identifies duplicate Findings using these
-[hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+[hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vuln id from tool
- file path
diff --git a/docs/content/supported_tools/parsers/file/snyk_code.md b/docs/content/supported_tools/parsers/file/snyk_code.md
index 29861b19a19..31289e8ed6d 100644
--- a/docs/content/supported_tools/parsers/file/snyk_code.md
+++ b/docs/content/supported_tools/parsers/file/snyk_code.md
@@ -8,7 +8,7 @@ Snyk output file (snyk code test \--sarif \> snyk.json) can be imported in JSON
Sample Snyk Code scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/snyk_code).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vuln id from tool
- file path
diff --git a/docs/content/supported_tools/parsers/file/snyk_issue_api.md b/docs/content/supported_tools/parsers/file/snyk_issue_api.md
index 4306110de71..ba4ba2a8b54 100644
--- a/docs/content/supported_tools/parsers/file/snyk_issue_api.md
+++ b/docs/content/supported_tools/parsers/file/snyk_issue_api.md
@@ -61,7 +61,7 @@ The impact field combines multiple pieces of information:
- Line numbers: Only the starting line is stored in the Finding model, but both start and end lines are included in the impact field for reference
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- unique id from tool
- file path
\ No newline at end of file
diff --git a/docs/content/supported_tools/parsers/file/solar_appscreener.md b/docs/content/supported_tools/parsers/file/solar_appscreener.md
index 98334b25a9b..373a41c9fc1 100644
--- a/docs/content/supported_tools/parsers/file/solar_appscreener.md
+++ b/docs/content/supported_tools/parsers/file/solar_appscreener.md
@@ -8,7 +8,7 @@ Solar Appscreener report file can be imported in CSV format from Detailed_Result
Sample Solar Appscreener Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/solar_appscreener).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- file path
diff --git a/docs/content/supported_tools/parsers/file/sonarqube.md b/docs/content/supported_tools/parsers/file/sonarqube.md
index 8ee44e03460..add4d4199cb 100644
--- a/docs/content/supported_tools/parsers/file/sonarqube.md
+++ b/docs/content/supported_tools/parsers/file/sonarqube.md
@@ -42,7 +42,7 @@ Version: \>= 1.1.0.
Recommend version for both format \>= 3.1.2
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- cwe
- severity
diff --git a/docs/content/supported_tools/parsers/file/sonatype.md b/docs/content/supported_tools/parsers/file/sonatype.md
index 29f06047948..26580f78884 100644
--- a/docs/content/supported_tools/parsers/file/sonatype.md
+++ b/docs/content/supported_tools/parsers/file/sonatype.md
@@ -8,7 +8,7 @@ JSON output.
Sample Sonatype scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/sonatype).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/spotbugs.md b/docs/content/supported_tools/parsers/file/spotbugs.md
index b22e6f8f00f..083ef422b87 100644
--- a/docs/content/supported_tools/parsers/file/spotbugs.md
+++ b/docs/content/supported_tools/parsers/file/spotbugs.md
@@ -8,7 +8,7 @@ XML report of textui cli.
Sample SpotBugs scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/spotbugs).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- cwe
- severity
diff --git a/docs/content/supported_tools/parsers/file/ssh_audit.md b/docs/content/supported_tools/parsers/file/ssh_audit.md
index 185232d0daa..3910f9a6d29 100644
--- a/docs/content/supported_tools/parsers/file/ssh_audit.md
+++ b/docs/content/supported_tools/parsers/file/ssh_audit.md
@@ -8,7 +8,7 @@ Import JSON output of ssh_audit report. See
Sample TFSec scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/tfsec).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- severity
- vuln id from tool
diff --git a/docs/content/supported_tools/parsers/file/threagile.md b/docs/content/supported_tools/parsers/file/threagile.md
index c4870a5d225..ff238fca928 100644
--- a/docs/content/supported_tools/parsers/file/threagile.md
+++ b/docs/content/supported_tools/parsers/file/threagile.md
@@ -88,7 +88,7 @@ Parser expects an array of finding. All properties are strings. Required fields
Sample Threagile scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/threagile).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/threat_composer.md b/docs/content/supported_tools/parsers/file/threat_composer.md
index 433d532034b..a6ba19957ae 100644
--- a/docs/content/supported_tools/parsers/file/threat_composer.md
+++ b/docs/content/supported_tools/parsers/file/threat_composer.md
@@ -9,7 +9,7 @@ This DefectDojo parser accepts JSON files from Threat Composer. The tool support
Sample scan data for testing purposes can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/threat_composer).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/trivy.md b/docs/content/supported_tools/parsers/file/trivy.md
index f70dc65c618..0ed84a9adc1 100644
--- a/docs/content/supported_tools/parsers/file/trivy.md
+++ b/docs/content/supported_tools/parsers/file/trivy.md
@@ -25,7 +25,7 @@ If you want to exclude certain status from being imported into Defect Dojo, plea
Sample Trivy scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/trivy).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/trivy_operator.md b/docs/content/supported_tools/parsers/file/trivy_operator.md
index c305d9010c8..4a628aa6627 100644
--- a/docs/content/supported_tools/parsers/file/trivy_operator.md
+++ b/docs/content/supported_tools/parsers/file/trivy_operator.md
@@ -10,7 +10,7 @@ To import the generated Vulnerability Reports, you can also use the [trivy-dojo-
Sample Trivy Operator scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/trivy_operator).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/trufflehog.md b/docs/content/supported_tools/parsers/file/trufflehog.md
index 6ebc86ca0d7..25e87f78308 100644
--- a/docs/content/supported_tools/parsers/file/trufflehog.md
+++ b/docs/content/supported_tools/parsers/file/trufflehog.md
@@ -8,7 +8,7 @@ JSON Output of Trufflehog. Supports version 2 and 3 of https://github.com/truffl
Sample Trufflehog scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/trufflehog).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/trufflehog3.md b/docs/content/supported_tools/parsers/file/trufflehog3.md
index 6c75cbd6a5d..636619abd16 100644
--- a/docs/content/supported_tools/parsers/file/trufflehog3.md
+++ b/docs/content/supported_tools/parsers/file/trufflehog3.md
@@ -8,7 +8,7 @@ JSON Output of Trufflehog3, a fork of TruffleHog located at https://github.com/f
Sample Trufflehog3 scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/trufflehog3).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/trustwave.md b/docs/content/supported_tools/parsers/file/trustwave.md
index afb7aa60705..cca19d71331 100644
--- a/docs/content/supported_tools/parsers/file/trustwave.md
+++ b/docs/content/supported_tools/parsers/file/trustwave.md
@@ -41,7 +41,7 @@ Sample Trustwave scans can be found in the [unit tests folder](https://github.co
[Trustwave](https://www.trustwave.com/en-us/) provides vulnerability scanning services through their SecureConnect platform.
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/trustwave_fusion_api.md b/docs/content/supported_tools/parsers/file/trustwave_fusion_api.md
index a9a7602f87b..010a7b846d6 100644
--- a/docs/content/supported_tools/parsers/file/trustwave_fusion_api.md
+++ b/docs/content/supported_tools/parsers/file/trustwave_fusion_api.md
@@ -8,7 +8,7 @@ Trustwave Fusion API report file can be imported in JSON format
Sample Trustwave Fusion API Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/trustwave_fusion_api).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/twistlock.md b/docs/content/supported_tools/parsers/file/twistlock.md
index 6dfab0faa4c..85d27e64832 100644
--- a/docs/content/supported_tools/parsers/file/twistlock.md
+++ b/docs/content/supported_tools/parsers/file/twistlock.md
@@ -14,7 +14,7 @@ The CSV output from the UI is now also accepted.
Sample Twistlock scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/twistlock).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/vcg.md b/docs/content/supported_tools/parsers/file/vcg.md
index 902730def33..5382919da29 100644
--- a/docs/content/supported_tools/parsers/file/vcg.md
+++ b/docs/content/supported_tools/parsers/file/vcg.md
@@ -8,7 +8,7 @@ VCG output can be imported in CSV or Xml formats.
Sample Visual Code Grepper (VCG) scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/vcg).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/veracode.md b/docs/content/supported_tools/parsers/file/veracode.md
index caba004968f..45e826fd2f2 100644
--- a/docs/content/supported_tools/parsers/file/veracode.md
+++ b/docs/content/supported_tools/parsers/file/veracode.md
@@ -51,7 +51,7 @@ Veracode reports can be ingested in either XML or JSON Format
Sample Veracode scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/veracode).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/veracode_sca.md b/docs/content/supported_tools/parsers/file/veracode_sca.md
index 784c243e7f1..ff56789eb11 100644
--- a/docs/content/supported_tools/parsers/file/veracode_sca.md
+++ b/docs/content/supported_tools/parsers/file/veracode_sca.md
@@ -8,7 +8,7 @@ Import Project CSV or JSON report
Sample Veracode SourceClear scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/veracode_sca).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- vulnerability ids
diff --git a/docs/content/supported_tools/parsers/file/wapiti.md b/docs/content/supported_tools/parsers/file/wapiti.md
index 1ae58ad5f17..cf272f8ee4a 100644
--- a/docs/content/supported_tools/parsers/file/wapiti.md
+++ b/docs/content/supported_tools/parsers/file/wapiti.md
@@ -8,7 +8,7 @@ Import XML report.
Sample Wapiti Scan scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/wapiti).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/wazuh.md b/docs/content/supported_tools/parsers/file/wazuh.md
index 5bb4ae2e39c..e53e8feb5df 100644
--- a/docs/content/supported_tools/parsers/file/wazuh.md
+++ b/docs/content/supported_tools/parsers/file/wazuh.md
@@ -52,7 +52,7 @@ Parser expects a .json file structured as below.
Sample Wazuh Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/wazuh).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/wfuzz.md b/docs/content/supported_tools/parsers/file/wfuzz.md
index bb6ed046cd3..945ccd233ff 100644
--- a/docs/content/supported_tools/parsers/file/wfuzz.md
+++ b/docs/content/supported_tools/parsers/file/wfuzz.md
@@ -18,7 +18,7 @@ missing | Low
Sample Wfuzz JSON importer scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/wfuzz).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/whispers.md b/docs/content/supported_tools/parsers/file/whispers.md
index bedc2037f4f..da0be798be6 100644
--- a/docs/content/supported_tools/parsers/file/whispers.md
+++ b/docs/content/supported_tools/parsers/file/whispers.md
@@ -9,7 +9,7 @@ https://github.com/adeptex/whispers
Sample Whispers scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/whispers).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- vuln id from tool
- file path
diff --git a/docs/content/supported_tools/parsers/file/whitehat_sentinel.md b/docs/content/supported_tools/parsers/file/whitehat_sentinel.md
index d267ef493b5..274f46d10ec 100644
--- a/docs/content/supported_tools/parsers/file/whitehat_sentinel.md
+++ b/docs/content/supported_tools/parsers/file/whitehat_sentinel.md
@@ -8,7 +8,7 @@ WhiteHat Sentinel output from api/vuln/query_site can be imported in JSON format
Sample WhiteHat Sentinel scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/whitehat_sentinel).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/wiz.md b/docs/content/supported_tools/parsers/file/wiz.md
index 39f8dd83e36..a3fa15b04f4 100644
--- a/docs/content/supported_tools/parsers/file/wiz.md
+++ b/docs/content/supported_tools/parsers/file/wiz.md
@@ -5,7 +5,7 @@ toc_hide: true
The [Wiz](https://www.wiz.io/) parser for DefectDojo supports imports from both Wiz Scanner Standard and SCA (Software Composition Analysis) .csv output from Wiz.io. This document details the parsing of both formats into DefectDojo field mappings, unmapped fields, and location of each field's parsing code for easier troubleshooting and analysis.
-⚠️ **DefectDojo Pro** Users can also automatically create Findings directly from Wiz using the Wiz Connector. See our [Connectors documentation](/import_data/pro/connectors/about_connectors/) for more details.
+⚠️ **DefectDojo Pro** Users can also automatically create Findings directly from Wiz using the Wiz Connector. See our [Connectors documentation](/connections/upstream/about/) for more details.
## Link To Tool
@@ -29,7 +29,7 @@ To generate these files, export the findings from the Wiz platform by:
Sample Wiz Scanner scans can be found in the [sample scan data folder](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/wiz).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/wizcli_dir.md b/docs/content/supported_tools/parsers/file/wizcli_dir.md
index 8aaaefd1383..2eb5e3aa204 100644
--- a/docs/content/supported_tools/parsers/file/wizcli_dir.md
+++ b/docs/content/supported_tools/parsers/file/wizcli_dir.md
@@ -9,7 +9,7 @@ This parser imports scan results from [wizcli](https://www.wiz.io/) IaC scan. Yo
Sample Wizcli Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/wizcli_dir).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/wizcli_iac.md b/docs/content/supported_tools/parsers/file/wizcli_iac.md
index 01393f820bd..f0794d82484 100644
--- a/docs/content/supported_tools/parsers/file/wizcli_iac.md
+++ b/docs/content/supported_tools/parsers/file/wizcli_iac.md
@@ -9,7 +9,7 @@ This parser imports scan results from [wizcli](https://www.wiz.io/) IaC scan. Yo
Sample Wizcli Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/wizcli_iac).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/wizcli_img.md b/docs/content/supported_tools/parsers/file/wizcli_img.md
index 5b97d7934ce..5311ef89148 100644
--- a/docs/content/supported_tools/parsers/file/wizcli_img.md
+++ b/docs/content/supported_tools/parsers/file/wizcli_img.md
@@ -9,7 +9,7 @@ This parser imports scan results from [wizcli](https://www.wiz.io/) IaC scan. Yo
Sample Wizcli Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/wizcli_img).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/wpscan.md b/docs/content/supported_tools/parsers/file/wpscan.md
index 64f7538731c..2449d00cf15 100644
--- a/docs/content/supported_tools/parsers/file/wpscan.md
+++ b/docs/content/supported_tools/parsers/file/wpscan.md
@@ -8,7 +8,7 @@ Import JSON report.
Sample Wpscan Scanner scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/wpscan).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- description
diff --git a/docs/content/supported_tools/parsers/file/xanitizer.md b/docs/content/supported_tools/parsers/file/xanitizer.md
index 494ffe69ad4..214008a35b6 100644
--- a/docs/content/supported_tools/parsers/file/xanitizer.md
+++ b/docs/content/supported_tools/parsers/file/xanitizer.md
@@ -9,7 +9,7 @@ Import XML findings list report, preferably with parameter
Sample Xanitizer scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/xanitizer).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/supported_tools/parsers/file/yarn_audit.md b/docs/content/supported_tools/parsers/file/yarn_audit.md
index 3778cb91fe2..e1008c76406 100644
--- a/docs/content/supported_tools/parsers/file/yarn_audit.md
+++ b/docs/content/supported_tools/parsers/file/yarn_audit.md
@@ -8,7 +8,7 @@ Import Yarn Audit scan report in JSON format. Use something like `yarn audit --j
Sample Yarn Audit scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/yarn_audit).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- severity
diff --git a/docs/content/supported_tools/parsers/file/zap.md b/docs/content/supported_tools/parsers/file/zap.md
index 05ee41a846f..87ccf9ca811 100644
--- a/docs/content/supported_tools/parsers/file/zap.md
+++ b/docs/content/supported_tools/parsers/file/zap.md
@@ -8,7 +8,7 @@ ZAP XML report format (with or without requests and responses).
Sample Zed Attack Proxy scans can be found [here](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans/zap).
### Default Deduplication Hashcode Fields
-By default, DefectDojo identifies duplicate Findings using these [hashcode fields](https://docs.defectdojo.com/en/working_with_findings/finding_deduplication/about_deduplication/):
+By default, DefectDojo identifies duplicate Findings using these [hashcode fields](/en/working_with_findings/finding_deduplication/about_deduplication/):
- title
- cwe
diff --git a/docs/content/triage_findings/finding_deduplication/PRO__deduplication_tuning.md b/docs/content/triage_findings/finding_deduplication/PRO__deduplication_tuning.md
index e2eb9ec45bd..5df15ff3013 100644
--- a/docs/content/triage_findings/finding_deduplication/PRO__deduplication_tuning.md
+++ b/docs/content/triage_findings/finding_deduplication/PRO__deduplication_tuning.md
@@ -110,7 +110,7 @@ For optimal results with Deduplication Tuning:
- **Test changes carefully**: After adjusting deduplication settings, monitor a few imports to ensure proper behavior.
- **Plan retroactive re-hashes**: Changing dedup settings re-hashes every existing Finding from that tool in the background. See [Running Deduplication Retroactively on Existing Data](#running-deduplication-retroactively-on-existing-data) above.
- **Use Hash Code for cross-tool deduplication**: When enabling cross-tool deduplication, select fields that reliably identify the same finding across different tools (such as vulnerability name, location, and severity). **IMPORTANT** Each tool enabled for cross-tool deduplication **MUST** have the same fields selected.
-- **Keep cross-tool sources in the same Asset**: Cross-Tool Deduplication is Asset-scoped. Findings split across separate Assets will not dedupe even with matching hash fields. See [Cross-Tool Deduplication is Scoped to a Single Asset](#cross-tool-deduplication-is-scoped-to-a-single-asset) above.
+- **Keep cross-tool sources in the same Asset**: Cross-Tool Deduplication is Asset-scoped. Findings split across separate Assets will not dedupe even with matching hash fields. See [Cross Tool Deduplication](#cross-tool-deduplication) above.
- **Avoid overly broad deduplication**: Cross-tool deduplication with too few hash fields may result in false duplicates
By tuning deduplication settings to your specific tools, you can significantly reduce duplicate noise.
diff --git a/docs/layouts/_partials/footer/footer.html b/docs/layouts/_partials/footer/footer.html
index 09ef6d1ac90..676cae91c75 100644
--- a/docs/layouts/_partials/footer/footer.html
+++ b/docs/layouts/_partials/footer/footer.html
@@ -69,7 +69,7 @@ Connect