Skip to content

Add UI for durable component license curation: audit panel, component policies, read-only imported components - #1743

Open
canikrichard wants to merge 4 commits into
DependencyTrack:mainfrom
brightpick:component-audit-main
Open

Add UI for durable component license curation: audit panel, component policies, read-only imported components#1743
canikrichard wants to merge 4 commits into
DependencyTrack:mainfrom
brightpick:component-audit-main

Conversation

@canikrichard

@canikrichard canikrichard commented Aug 12, 2026

Copy link
Copy Markdown

Description

UI for durable component license curation, the frontend counterpart of DependencyTrack/dependency-track#6961:

  • Component audit panel on the project components table: expanding a component shows its license curation state — the BOM-declared license, the active override, free-text details, and the full audit trail of comments; users with the required permission can set or clear the override and add comments from there.
  • Component Policies tab under Policy Management: create, edit, prioritize, and delete component policies — a CEL condition editor with autocomplete and ready-made condition templates (e.g. "component has no license at all", "one specific component by purl"), a license override selector, a 0–100 priority slider with Highest/High/Normal/Low labels, and validity dates.
  • Component editing restricted to manually created components: edit and delete controls on BOM-imported components are disabled, matching the API's 405 responses; manually created components stay fully editable.

All new UI strings go through i18n (message.component_policies added to every locale file; other labels reuse existing keys).

Addressed Issue

Frontend part of DependencyTrack/dependency-track#251 (see DependencyTrack/dependency-track#6961 for the API server part — the design is recorded in ADR 036 included there).

Additional Details

  • The audit panel and the policy editor speak the spec-first v2 endpoints introduced by the API server PR: /component-analyses (+ comments) and /component-policies.
  • The priority label bands map the numeric priority to upstream's existing vocabulary (policy_priority_highest/high/normal/low) rather than introducing new terms.
  • Verified locally: eslint clean on the new components, prettier clean repo-wide, vue-i18n-extract report --ci reports zero missing keys, and the production build succeeds.

Checklist

canikrichard and others added 4 commits August 12, 2026 12:11
Component rows expand like findings rows: audit trail, comments,
license override (SPDX ID or custom license name, or an SPDX
expression) and a free-text details note, backed by the component
analyses v2 API. Curation controls require POLICY_MANAGEMENT.

Part 3 of the component audit panel feature (brightpick fork).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Richard Canik <canik@brightpick.ai>
Policy Management gains a Component Policies tab: list plus
create/edit/delete modal (name, enabled, priority, CEL condition,
license override select, details). Server-side CEL/license validation
errors surface as toasts.

Part 5 of the component audit panel feature (brightpick fork).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Richard Canik <canik@brightpick.ai>
Components imported from BOM uploads are read-only in the UI: the
details modal hides its Update and Delete buttons and renders all fields
disabled for them. Manually created components remain fully editable,
and the Add Component action stays available.
The v2 endpoints follow the API's naming conventions: request and
response properties are snake_case, updates respond 204 without a body,
and creations respond 201 with a Location header. The audit panel
re-fetches the analysis after saving instead of reading the response.
@owasp-dt-bot

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@canikrichard canikrichard changed the title wip Add UI for durable component license curation: audit panel, component policies, read-only imported components Aug 12, 2026
@canikrichard
canikrichard marked this pull request as ready for review August 12, 2026 10:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants