Skip to content

Commit 92d6ffd

Browse files
Merge branch 'bugfix' into forward-analysis-detail-from-dependency-track
2 parents df99885 + 5deddef commit 92d6ffd

24 files changed

Lines changed: 457 additions & 37 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Pro Edition: [pro.demo.defectdojo.com](https://pro.demo.defectdojo.com)
3434

3535
OWASP Community Edition: [demo.defectdojo.org](https://demo.defectdojo.org)
3636

37-
Either demo enviornment can be logged into with username `admin` and password `1Defectdojo@demo#appsec`. Please note that the demos are publicly accessible
37+
Either demo environment can be logged into with username `admin` and password `1Defectdojo@demo#appsec`. Please note that the demos are publicly accessible
3838
and reset every day. Do not put sensitive data in the demo. An easy way to test DefectDojo is to upload some [sample scan reports](https://github.com/DefectDojo/django-DefectDojo/tree/master/unittests/scans).
3939

4040
## Quick Start for Docker Compose

components/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "defectdojo",
3-
"version": "3.0.100",
3+
"version": "3.1.0-dev",
44
"license": "BSD-3-Clause",
55
"private": true,
66
"dependencies": {

docs/assets/images/PT_ss2.png

341 KB
Loading

docs/assets/images/org_ss1.png

556 KB
Loading

docs/assets/images/org_ss2.png

449 KB
Loading

docs/content/asset_modelling/engagements_tests/OS__engagements.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Alternatively, Engagements within a particular Product can be accessed from the
6666

6767
Engagements sit below Products and above Tests in the object hierarchy. As such, access to a Product automatically grants access to all Engagements within that Product. Engagements do not have independent access control lists.
6868

69-
## Engagement Lifecycle
69+
## Working with Engagements
7070

7171
### Create Engagements
7272

docs/content/asset_modelling/engagements_tests/OS__products.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Product views contain a variety of tables and charts to interpret a Product’s
9191
- **Notifications**
9292
- Toggles notifications on and off depending on specific events (e.g., an Engagement has been added or closed)
9393

94-
## Product Lifecycle
94+
## Working with Products
9595

9696
### Create Products
9797

docs/content/asset_modelling/engagements_tests/OS__tests.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ The following settings are available within each Test view:
104104
- **View History**
105105
- Opens a history of edits made to the Test for tracking, reporting, and auditing purposes.
106106

107-
## Test Lifecycle
107+
## Working with Tests
108108

109109
### Create Tests
110110

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
---
2+
title: "Product Types"
3+
description: "Understanding Product Types in DefectDojo OS"
4+
audience: opensource
5+
weight: 1
6+
---
7+
**PRODUCT TYPES** → Products → Engagements → Tests → Findings
8+
9+
## Overview
10+
11+
**Product Types** sit at the very top of DefectDojo’s product hierarchy. Product Types are distinct from the descending objects in the hierarchy—Products, Engagements, Tests, and Findings—because they are not technical scan targets, but rather serve primarily as organizational abstractions that compartmentalize your security efforts according to:
12+
- Business domain
13+
- Development team
14+
- Security team
15+
- Software applications
16+
- Overarching product family
17+
- Customer or subsidiary
18+
- Reporting structure
19+
- etc.
20+
21+
The theme of the above examples exemplifies the essential utility of Product Types: they should generally represent stable, long-lived boundaries within your security program.
22+
23+
## Product Type Data and Structure
24+
25+
As Product Types are not scanned directly, the only mandatory field required to create them is a name. Beyond that, they act as containers for Products and their descending Engagements, Tests, and Findings.
26+
27+
When creating a Product Type, consider how their structure will inform your reporting. Do you primarily need Product Types to represent the teams working on the projects (Products) that Product Types will contain? Or would Product Types better represent overarching projects that contain different iterations of the projects (Products) within it?
28+
29+
If you have a single Product Type that contains all of the relevant information for a given business domain or development team, having that represented as a Product Type will facilitate smoother reporting, rather than having to pull together a report from various Products and Product Types.
30+
31+
If a particular software project has many distinct deployments or versions, it may be worth creating a single Product Type which covers the scope of the entire project and having each version exist as individual Products. In some workflows, Product Types may also be used to separate software lifecycle stages: one Product Type for “In Development,” one Product Type for “In Production,” etc.
32+
33+
Product Types can be used to determine access to subsidiaries, acquired companies, or other regulated business units for RBAC purposes. In complex businesses, where there are a lot of unique projects with different access rules, Product Types are particularly relevant.
34+
35+
Ultimately, the decision of how to use Product Types and Products depends on how you best wish to reflect your unique organizational structure and the needs of your security team.
36+
37+
Below are some example structures to inform how you designate your objects as either Product Types or Products.
38+
39+
- **Product Type**: Payments Division
40+
- Product: Payments API - Production
41+
- Product: Payments API - Staging
42+
- Product: Billing Worker
43+
44+
- **Product Type**: Software Product A
45+
- Product: Web Portal
46+
- Product: Mobile Backend
47+
48+
Additionally, the following is an illustrative guide as to whether a something is better represented by a Product Type or an Product:
49+
50+
| Product Types | Products |
51+
|--------------|--------|
52+
| Business units | Individual applications |
53+
| Departments | Deployments/environments |
54+
| Security ownership domains | Infrastructure components |
55+
| Product families | Specific microservices |
56+
| Portfolio-level reporting | Scan targets |
57+
| Customers | Specific software versions |
58+
59+
As noted, your structure may differ depending on your unique security needs.
60+
61+
## Accessing Product Types
62+
63+
Product Types are accessible via the sidebar. The submenu also provides the option to create new Product Types.
64+
65+
![image](images/PT_ss2.png)
66+
67+
### Product Type View
68+
69+
A Product Type’s view contains a variety of tables and charts to interpret its status at a glance. This includes:
70+
- **Description**
71+
- **Key/Critical Checkbox**
72+
- Checking Critical or Key is used solely for filtering purposes
73+
- **List of Products within the Product Type**
74+
- **Authorized Users** (DefectDojo Users)
75+
76+
## Working with Product Types
77+
78+
### Create Product Types
79+
80+
There are two ways to create Product Types:
81+
82+
- From the **Add Product Type** option in the side menu
83+
- From the **Add Product Type** button at the top of the All Product Type list
84+
85+
### Edit Product Types
86+
87+
Product Types can be edited by clicking **Edit** from within the dropdown menu at the top right of the Description table in the Product Type’s view. The same menu can also be accessed by clicking the ⋮ kebab menu to the left of the Product Type in the All Product Type list.
88+
89+
All ensuing fields that can be edited are also available when the Product Type is being created.
90+
91+
### Delete Product Types
92+
93+
Deleting a Product Type can be performed by selecting **Delete Product Type** from the Product Type’s settings.
94+
95+
Because Product Types sit at the top of the hierarchy, deleting them removes all downstream security history, relationships, and child objects, such as:
96+
- Any Products, Engagements, and Tests contained within the Product Type
97+
- All associated security history, including Findings and integrations
98+
- Any linked Jira Epics
99+
- All notes and file uploads associated with the Products, Engagements, and Tests within that Product Type
100+
101+
Deleting a Product Type can’t be undone. If you would like to “decommission” a Product Type without deleting underlying data (for example, preserving legacy software testing records for audit purposes), you can change the Product Type’s name or add a Tag to indicate that it is in a deprecated state.
102+
103+
## Product Types vs. Metadata
104+
105+
Product Types are intended to represent structural ownership or reporting boundaries, rather than lightweight classifications. Attributes such as deployment status, internal labels, or temporary workflow states may be better represented through tags or metadata rather than separate Product Types.
106+
107+
## Product Type Boundaries
108+
109+
Product Types establish both reporting and access boundaries within DefectDojo. Because integrations, RBAC permissions, ownership, metrics, and deduplication models frequently inherit Product Types’ structure, designing clear boundaries early helps avoid hierarchy sprawl and reporting fragmentation later.
110+
111+
### Findings and Automation
112+
113+
Although integrations are typically configured on lower-level objects such as Product Types, Engagements, or Findings, Product Types still define the ownership, reporting, and access boundaries within which those integrations operate.
114+
115+
Permissions cascade downward, meaning that access to a Product Type automatically grants access to all objects within that Product Type (e.g., Product Types, Engagements, Tests, and Findings).
116+
117+
The DefectDojo RBAC model can be used to gate human user access, but can also restrict API tokens’ access to particular Product Types.
118+
119+
For more information on user roles, see our [Permissions](/admin/user_management/os__authorized_users/) article.
120+
121+
### Ownership
122+
123+
As top-level objects, Product Types also imply ownership over the child objects within them. SLA tracking, remediation workflows, ticket routing, and general governance all flow more smoothly when Product Types have been set up to accurately reflect the individuals accountable for them.
124+
125+
### Metrics/Reporting
126+
127+
Metrics dashboards, tiles and views can be filtered per Product Type, making them a critical component in how your security data is calculated, visualized, and ultimately exported.
128+
129+
For reporting purposes, it is generally easier to combine multiple Product Types into a single document than it is to subdivide a single Product Type into separate documents. Therefore, we recommend setting up Product Types at as granular a level as makes sense for your team’s reports. For example, there is no need to represent a large business division as a Product Type if you’re primarily going to be reporting to individual departments within that division.
130+
131+
Effectively structuring your Product Types to reflect your reporting needs is critical to accurately assessing your security posture. For more information on Metrics, click [here](/metrics_reports/dashboards/introduction_dashboard/).
132+
133+
### Deduplication
134+
135+
Deduplication in DefectDojo occurs at the Product level, and is not affected by the parent Product Type.

docs/content/asset_modelling/engagements_tests/PRO__assets.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ Asset views contain a variety of tables and charts to interpret an Asset’s sta
9393
- **All Engagements**
9494
- A list of Engagements contained within the Asset.
9595

96-
## Asset Lifecycle
96+
## Working with Assets
9797

9898
### Create Assets
9999

0 commit comments

Comments
 (0)