Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
a5d603b
update changelog headings
Jan 5, 2026
beec659
add nav highlight to header
Jan 5, 2026
348df57
init /get_started/
Jan 5, 2026
80c507b
add new top menu entries
Jan 5, 2026
a975962
move everything to a new directory
Jan 5, 2026
f45cb5a
redesign header
Jan 7, 2026
c027eb0
dynamic colored logo
Jan 7, 2026
57c187f
correct spacing
Jan 8, 2026
60db9f9
make a new menu
paulOsinski Jan 9, 2026
b6cf3d7
Merge branch 'new-structure' into staging-new-docs
paulOsinski Jan 9, 2026
7b6e77c
move all article content
paulOsinski Jan 9, 2026
71e873b
mv remaining articles
paulOsinski Jan 9, 2026
98541be
make better search button
paulOsinski Jan 9, 2026
2b21c2c
even better search button
paulOsinski Jan 9, 2026
02a6c57
update sectionNav and reorder articles
paulOsinski Jan 14, 2026
5913f0a
add glossary
dangoelz Jan 16, 2026
ef130f0
add glossary text
dangoelz Jan 16, 2026
d47f63b
Merge pull request #7 from dangoelz/dan-glossary
paulOsinski Jan 16, 2026
e91217d
add initial version switcher
paulOsinski Jan 16, 2026
7269aab
adjust css
paulOsinski Jan 16, 2026
411162b
add version metadata to get_started articles
paulOsinski Jan 16, 2026
3796ad7
Merge branch 'version-branching' into staging-new-docs
paulOsinski Jan 16, 2026
dd74d32
Merge branch 'DefectDojo:master' into staging-new-docs
paulOsinski Jan 16, 2026
468190a
update walk partial to check single articles
paulOsinski Jan 20, 2026
dc9cdb5
finish get started content
paulOsinski Jan 20, 2026
73a21a4
finish setting up import content
paulOsinski Jan 20, 2026
0eaf07a
inprogress - set up defectdojo structure
paulOsinski Jan 21, 2026
62addef
Create new docs for Metrics
dangoelz Jan 23, 2026
e278f42
Merge branch 'staging-new-docs' into metrics-draft
dangoelz Jan 23, 2026
e5edf3b
Merge pull request #8 from dangoelz/metrics-draft
paulOsinski Jan 23, 2026
a2a54a6
Merge branch 'staging-new-docs' of https://github.com/paulOsinski/dja…
paulOsinski Jan 23, 2026
5383413
Merge branch 'staging-new-docs' of https://github.com/paulOsinski/dja…
paulOsinski Jan 23, 2026
0401072
Merge branch 'staging-new-docs' of https://github.com/paulOsinski/dja…
paulOsinski Jan 23, 2026
bd94526
Merge branch 'staging-new-docs' of https://github.com/paulOsinski/dja…
paulOsinski Jan 23, 2026
7d428d4
Merge branch 'staging-new-docs' of https://github.com/paulOsinski/dja…
paulOsinski Jan 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified docs/assets/images/import_scan_ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/metrics_image1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/metrics_image2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/metrics_image3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/metrics_image4.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/metrics_image6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
61 changes: 60 additions & 1 deletion docs/assets/js/custom.js
Original file line number Diff line number Diff line change
@@ -1 +1,60 @@
// Put your custom JS code here
// custom js


// version toggler
(() => {
"use strict";

console.log("[VersionToggle] custom.js loaded");

const setVersion = (version) => {
console.log("[VersionToggle] Setting version to:", version);

document.querySelectorAll(".version-opensource, .version-pro").forEach(el => {
el.style.display = el.classList.contains(`version-${version}`) ? "" : "none";
});

localStorage.setItem("version", version);
console.log("[VersionToggle] localStorage updated:", localStorage.getItem("version"));

// Update dropdown
const selects = document.querySelectorAll("#version-select");
selects.forEach(sel => {
sel.value = version;
sel.dataset.version = version;
sel.style.visibility = "visible";
});

// unhide sidebar after version is applied
const sidebar = document.querySelector(".docs-sidebar");
if (sidebar) {
sidebar.style.visibility = "visible";
console.log("[VersionToggle] Sidebar revealed");
}
};

const initVersionToggle = () => {
const storedVersion = localStorage.getItem("version") || "opensource";
console.log("[VersionToggle] Stored version:", storedVersion);
setVersion(storedVersion);
};

// 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);
}
});

// Run on DOM ready
window.addEventListener("DOMContentLoaded", initVersionToggle);

// MutationObserver to detect dynamically replaced sidebar
const observer = new MutationObserver(() => {
// Re-run init to make sure menus match stored version
initVersionToggle();
});
observer.observe(document.body, { childList: true, subtree: true });

})();
34 changes: 34 additions & 0 deletions docs/assets/scss/common/_custom.scss
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,38 @@
.DocSearch-Modal {
position: fixed !important;
}
}

.logo-darkmode {
display: none;
}

[data-bs-theme="dark"] .logo-lightmode {
display: none;
}

[data-bs-theme="dark"] .logo-darkmode {
display: inline-block;
}

html {
font-size: 85%; /* scales all rem/em fonts */
}

/* Hide sidebar until version is resolved */
.docs-sidebar {
visibility: hidden;
}


#version-select[data-version="opensource"] {
background-color: #003964b7;
border: 2px solid #003864;
color: white;
}

#version-select[data-version="pro"] {
background-color: #a84e32b7;
border: 2px solid #a84e32;
color: white;
}
42 changes: 31 additions & 11 deletions docs/config/_default/menus/menus.en.toml
Original file line number Diff line number Diff line change
@@ -1,28 +1,48 @@
[[main]]
name = "Docs Home"
url = "/en/about_defectdojo/about_docs/"
name = "Get started ⏷"
url = "/get_started/about/about_defectdojo"
weight = 10

[[main]]
name = "Supported Tools"
url = "/supported_tools/"
weight = 11
name = "Import data ⏷"
url = "/import_data/import_intro/comparison/"
weight = 12

[[main]]
name = "Pro Features"
url = "/en/about_defectdojo/pro_features"
name = "Triage Findings ⏷"
url = "/triage_findings/findings/intro_to_findings/"
weight = 12

[[main]]
name = "Changelog"
url = "/en/changelog/changelog/"
name = "Model your assets ⏷"
url = "/asset_modelling/hierarchy/pro__assets_organizations/"
weight = 13

[[main]]
name = "Support"
url = "/en/about_defectdojo/contact_defectdojo_support"
name = "Metrics & reports ⏷"
url = "/metrics_reports/dashboards/introduction_dashboard/"
weight = 14

[[main]]
name = "Admin ⏷"
url = "/admin/admin_intro/intro/"
weight = 16

[[main]]
name = "Issue tracking ⏷"
url = "/issue_tracking/intro/intro/"
weight = 15

[[main]]
name = "Automation ⏷"
url = "/automation/api/api-v2-docs/"
weight = 15

[[main]]
name = "Supported tools ⏷"
url = "/supported_tools/"
weight = 16

[[social]]
name = "YouTube"
pre = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-youtube" viewBox="0 0 16 16"><path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.01 2.01 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.01 2.01 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31 31 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.01 2.01 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A100 100 0 0 1 7.858 2zM6.4 5.209v4.818l4.157-2.408z"/></svg>'
Expand Down
16 changes: 14 additions & 2 deletions docs/config/_default/params.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,21 @@ mainSections = ["docs"]
bootstrapJavascript = false # false (default) or true

# Nav
sectionNav = ["docs", "en", "supported_tools"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"])
sectionNav = [
"docs",
"en",
"supported_tools",
"get_started",
"import_data",
"triage_findings",
"metrics_reports",
"admin",
"automation",
"asset_modelling",
"issue_tracking"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"])

toTopButton = false # false (default) or true
breadcrumbTrail = true # false (default) or true
breadcrumbTrail = false # false (default) or true
headlineHash = true # true (default) or false
scrollSpy = true # true (default) or false

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: "🤖 API Documentation"
title: "Intro"
description: ""
summary: ""
date: 2023-09-07T16:06:50+02:00
lastmod: 2023-09-07T16:06:50+02:00
draft: false
weight: 98
weight: 3
chapter: true
seo:
title: "" # custom title (optional)
Expand Down
9 changes: 9 additions & 0 deletions docs/content/admin/admin_intro/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: "DefectDojo Admin Controls"
description: "Administrative controls for configuring, securing, and maintaining your DefectDojo instance."
weight: 0
---

Admin actions in DefectDojo provide the controls needed to configure and maintain the platform across your organization. These actions are designed for administrators who are responsible for user management, system configuration, and ensuring DefectDojo operates securely and reliably at scale.

Administrative actions allow you to manage core aspects of DefectDojo, including authentication methods, user access, global settings, and integrations. From initial setup to ongoing maintenance, these controls define how DefectDojo behaves and how users interact with it.
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ lastmod: 2023-09-07T16:06:50+02:00
draft: false
weight: 7
chapter: true
sidebar:
collapsed: true
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ lastmod: 2023-09-07T16:06:50+02:00
draft: false
weight: 5
chapter: true
sidebar:
collapsed: true
seo:
title: "" # custom title (optional)
description: "" # custom description (recommended)
Expand Down
52 changes: 52 additions & 0 deletions docs/content/admin/user_management/pro_permissions_overhaul.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: "Set Permissions in Pro"
description: "Overhaul, pro feature"
weight: 3
audience: pro
---

## Introduction to Permission Types

Individual users have four different kinds of permission that they can be assigned:

* Users can be assigned as **Members to Products or Product Types**. This allows them to view and interact with Data Types (Product Types, Products, Engagements, Tests and Findings) in DefectDojo depending on the role they are assigned on the specific Product. Users can have multiple Product or Product Type memberships, with different levels of access.
* Users can also have **Configuration Permissions** assigned, which allow them to access configuration pages in DefectDojo. Configuration Permissions are not related to Products or Product Types.
* Users can be assigned **Global Roles**, which give them a standardized level of access to all Products and Product Types.
* Users can be set up as **Superusers**: administrator level roles which give them control and access to all DefectDojo data and configuration.

You can also create Groups if you want to assign Product Membership, Configuration Permissions or Global Roles to a group of users at the same time. If you have a large number of users in DefectDojo, such as a dedicated testing team for a particular Product, Groups may be a more helpful feature.

## Superusers \& Global Roles

Part of your Role\-Based Access Control (RBAC) configuration may require you to create additional Superusers, or users with Global Roles.

* Superusers (Admins) have no limitations in the system. They can change all settings, manage users and have read / write access to all data. They can also change access rules for all users in DefectDojo. Superusers will also receive notifications for all system issues and alerts.
* Users with Global Roles can view and interact with any Data Type (Product Types, Products, Engagements, Tests and Findings) in DefectDojo depending on their assigned Role. For more information about each Role and associated privileges, please refer to our Introduction to Roles article.
* Users can also have specific Configuration Permissions assigned, allowing them to access certain DefectDojo configuration pages. Users have no Configuration Permissions by default.

By default, the first account created on a new DefectDojo instance will have Superuser permissions. That user will be able to edit permissions for all subsequent DefectDojo users. Only an existing Superuser can add another superuser, or add a Global Role to a user.

Permissions in <span style="background-color:rgba(242, 86, 29, 0.3)">DefectDojo Pro</span> have been simplified, to make it easier to assign object access. This feature can be accessed through the [Pro UI](/en/about_defectdojo/ui_pro_vs_os/).

### Opening the Permissions window

![image](images/pro_permissions.png)

When looking at Product Type or Product, you can open the Permissions window to set permissions quickly. This menu can be found in a Table by clicking the horizontal dots **"⋮"**. IF looking at an individual **Product** or **Product Type** page, this menu can be found under the blue gear ‘⚙️’.

## Setting Permissions through the permissions window

![image](images/pro_permissions_2.png)

1. At the top of this window, you can choose to manage permissions for an individual user or for a [user group](../create_user_group).
2. Here, you can select a user or group to add to the Product, and select the [Role](../about_perms_and_roles) that you want that user to have.
3. On the lower table, you can see a list of all users or groups who have access to this object. You can also quickly assign a new role for one of these users or groups from the drop-down menu.

## Setting Configuration Permissions through the User view

A user's configuration permissions can now be set in a more user-friendly approach. From the Users View, all configuration permissions are displayed in a dropdown, then grouped by the permission type. If the selection of configuration permissions is different from their current value, an “Update Configuration Permissions” button is displayed. When clicked, the user will be asked to confirm they would like to update the permissions for the selected group before an update is made.

![image](images/pro_user_view.png)
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: "Set a User's permissions"
description: "How to grant Roles & Permissions to a user, as well as superuser status"
weight: 2
audience: opensource
---

## Introduction to Permission Types
Expand Down Expand Up @@ -42,7 +43,7 @@ By default, the first account created on a new DefectDojo instance will have Sup

4. From the Edit User page:
For Superuser Status, check off the ☑️Superuser Status box, located in the user's Default Information.
For Superuser Status, check off the ☑️ Superuser Status box, located in the user's Default Information.
To assign a Global Role, select one from the dropdown Global Role menu at the bottom of the page.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "🚩 Work With Findings"
title: "Organize DefectDojo"
date: 2021-02-02T20:46:29+01:00
draft: false
type: docs
Expand Down
8 changes: 8 additions & 0 deletions docs/content/asset_modelling/engagements_tests/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: "Engagements & Tests"
date: 2021-02-02T20:46:29+01:00
draft: false
type: docs
weight: 1
exclude_search: true
---
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: "SLA Configuration"
description: "Configure Service Level Agreements for different Products"
weight: 2
audience: opensource
---

Each Product in DefectDojo can have its own Service Level Agreement (SLA) configuration, which represents the days your organization has to remediate or otherwise manage a Finding.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
title: "Link Findings to source code"
description: "Integration of repositories to navigate to the locaction of findings in the source code."
description: "Integration of repositories to navigate to the location of findings in the source code."
draft: false
weight: 5
audience: opensource
---

Certain tools (particularly SAST tools) will include the associated file name and line number in vulnerability data. If the repository of the source code is specified in the Engagement, DefectDojo will present the filepath as a link and the user can navigate directly to the location of the vulnerability.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "⚠️ Assets and Organizations (Pro)"
title: "Assets and Organization structure"
description: "DefectDojo Pro - Product Hierarchy Overhaul"
audience: pro
weight: 1
---

DefectDojo Pro is extending the Product/Product Type object classes to provide greater flexibility with the data model.
Expand Down
Loading