PSIRT product security incident response
one record from intake to coordinated disclosure
A product security incident response team (PSIRT) handles every vulnerability that lands against the products the company ships. Reports arrive through the disclosure inbox, the bug bounty platform, the internal scanner queue, the customer escalation channel, the supplier security advisory feed, and the third-party pentest. The PSIRT triages each report, drives the fix, requests a CVE, drafts the security advisory, and notifies the downstream consumers through the agreed channel. Most teams run that lifecycle through email threads, a shared inbox, a confluence page, and a release tracker. SecPortal models the PSIRT case as a structured engagement on the workspace so intake, triage, fix tracking, advisory drafting, audit trail, and downstream publication share one source of truth.
No credit card required. Free plan available forever.
Run the PSIRT lifecycle on one case record, not across inboxes
A product security incident response team handles the vulnerability reports that land against the products the company ships. The reports arrive through the disclosure inbox, the bug bounty platform, the internal scanner queue, the customer escalation channel, the supplier advisory cascade, and the third-party pentest. Most teams run that lifecycle through email threads, a shared inbox, a confluence page, and a release tracker. State drifts between the three, the published advisory does not match the engineering fix on a small but load-bearing detail, and the audit trail starts at the published advisory rather than at the report.
SecPortal models the PSIRT case as a structured engagement on the workspace. The intake captures the inbound channel, the reporter contact, the affected version range, and the embargo terms. The triage decision lands on the activity log with the named PSIRT analyst and the CVSS vector. Engineering tracks the fix against the case status workflow. The named approver signs off the security advisory drafted by AI-assisted reporting against the structured case evidence. The advisory publishes through the branded client portal on the tenant subdomain. The downstream consumers see the same source the engineering team verified the fix against. The audit trail reads from the case record rather than from a reconstruction of inboxes.
Eight inbound channels a PSIRT case can open from
PSIRT traffic does not all arrive through the disclosure inbox. The intake form captures the channel as a structured field so the programme can report on demand patterns, set channel-specific SLAs, and budget the case load against the channels that actually carry the volume.
Vulnerability disclosure programme inbox
Reports submitted through the published security.txt address or the vulnerability disclosure programme intake form. Each report is the start of a structured PSIRT case, not the end of an email thread. The disclosure inbox is the front door for unsolicited researcher reports under ISO 29147 and the CISA Secure-by-Design VDP commitment.
Bug bounty platform handoff
Triaged reports passed across from HackerOne, Bugcrowd, Intigriti, or a private bug bounty programme. The platform handles the researcher relationship and the bounty payout; the PSIRT case carries the engineering work, the fix verification, the CVE request, and the advisory publication. The handoff lands as an intake event with the bounty platform reference captured as a structured field.
Internal pentest finding affecting the product
A finding from a third-party pentest, a product security review, or an internal red team that lands against the company own product. The case opens against the product record with the original engagement linked, so the chain of custody from the pentest engagement through to the published security advisory is reconstructible at audit time rather than reassembled from memory.
Internal scanner finding promoted to PSIRT
SAST, SCA, secret scanning, authenticated DAST, or external scanner findings that meet the promotion criteria for PSIRT handling (production product code, severity threshold, customer-facing impact, supplier dependency in the affected version range). The promotion captures who approved the case opening, the scanner source, the original finding identifier, and the rationale for promotion.
Customer or partner escalation
A vulnerability reported by a paying customer, a partner, or a downstream consumer through the support escalation path. The case captures the escalation reference, the reporter contact, the affected customer environment, and the urgency that drives the response SLA. Customer escalations carry both engineering and customer-success watchers from intake.
Supplier security advisory cascade
A security advisory from an upstream supplier (an open source maintainer, a vendor library, a cloud provider, or another OEM) that requires the company to issue its own advisory to its own downstream consumers. The case captures the upstream advisory reference (CVE, GHSA, CVE.org JSON link), the affected component in the company product, and the propagation status across product lines.
Regulator or CSIRT notification
A notification from a sector CSIRT, national CSIRT, or a regulator (CISA, ENISA, NCSC, sector-specific CSIRTs) that mentions the company product or a class of vulnerability the company product is exposed to. The case captures the source, the obligation deadline, and any information sharing constraints attached to the notification.
Co-coordinated multi-vendor disclosure
A disclosure that affects multiple vendors at once, run through a coordinator like CISA, JPCERT, CERT/CC, or a sector ISAC. The case captures the coordinator, the coordination identifier, the embargo terms, and the named contact, so the company contribution to the multi-vendor advisory is auditable rather than reconstructed from a coordinator email thread.
Four triage decisions that close the intake gate
Every report ends triage on one of four decisions. The decision lands on the case record with the named PSIRT analyst, the CVSS vector where applicable, and the rationale. The decision mix is reportable across cases so the programme can spot documentation gaps, catalogue duplicates, and reproduction-evidence weaknesses.
| Decision | What it commits the case to |
|---|---|
| Confirmed vulnerability | The PSIRT analyst reproduced the issue against the affected version range. The case advances to engineering assignment, fix tracking, CVE request, and advisory drafting. CVSS 3.1 vector and severity land on the case as structured fields. |
| Working as designed | The reported behaviour is intentional and documented. The case closes with a written response to the reporter, the rationale on the audit trail, and a documentation update where the original report exposed an unclear behaviour. No advisory is published; the case is retained for repeat-report pattern detection. |
| Duplicate of a known case | The report duplicates an existing PSIRT case. The new case links to the parent, credits the second reporter where the policy supports it, and inherits the parent state. The duplicate detection happens against the structured findings catalogue rather than against memory. |
| Insufficient information | The report cannot be reproduced from the supplied evidence. The PSIRT analyst requests clarifications through the case record (not through a side email thread), with the response SLA captured. Cases that exhaust the clarification window without further evidence close with a documented rationale. |
The PSIRT case lifecycle and target SLAs
Six lifecycle stages cover the full PSIRT case from intake through closure. Each stage carries a target SLA the programme commits to in the published vulnerability disclosure policy and the underlying vulnerability handling procedure. The SLAs are observable on the case record so breach risk surfaces before the embargo date.
| Stage | Target SLA | What it covers |
|---|---|---|
| Intake | 1 to 3 business days | Acknowledge the report, capture the reporter contact and the embargo terms, open the case as a structured engagement, and route to the on-call PSIRT analyst. The acknowledgement timing is the leading indicator of programme health that the disclosure community measures. |
| Triage | 5 to 10 business days | Reproduce the report, score with CVSS 3.1, decide the response track (confirmed, working as designed, duplicate, insufficient information), assign the named PSIRT lead, and decide the embargo strategy. The triage decision lands on the activity log with named analyst and timestamp. |
| Fix and verification | severity-driven (KEV or critical 7 to 30 days, high 30 to 60 days, medium up to 90 days) | Track the engineering work against the case status workflow. Verify the fix against the proof of concept and the full affected version range. The verified state on the case is the gate for advisory publication; advisory drafts that arrive before verification stay in draft. |
| CVE request and advisory drafting | parallel to fix and verification | Request the CVE through the appropriate CNA channel and capture the identifier on the case as a structured field. Draft the security advisory against the structured intake, triage, and fix evidence using AI-assisted reporting. The named approver edits and signs off before publication. |
| Coordinated disclosure | on the agreed embargo date | Publish the advisory through the branded client portal on the tenant subdomain. Notify the downstream consumers through the agreed channel (mailing list, customer portal post, regulatory submission). Credit the reporter where the policy supports it. Ship the machine-readable artefact (CSAF JSON, security.txt update) where the consumer base expects it. |
| Closure and post-mortem | within 14 days of disclosure | Mark the case verified and closed once the advisory is published and the CVE is live. Retain the timestamped audit trail through the activity log on the plan-defined retention window with CSV export. Feed the post-mortem (root-cause analysis, repeat-issue rate, CWE pattern, time-to-disclose distribution) so the PSIRT programme improves on evidence. |
Where PSIRT cases usually go wrong
Six failure modes account for most PSIRT incidents that look operational but are actually the symptom of a missing single source of truth. Each one is silent during the case and loud at the published advisory.
The same report ends up tracked in three places
The disclosure inbox, the bug bounty platform, and the engineering ticket queue each carry a partial copy of the case. State drifts between the three; the published advisory does not match the engineering fix; the CVE references the wrong version range. PSIRT failure modes that look operational are usually the symptom of a missing single source of truth.
Triage decisions live in inboxes
The PSIRT analyst decides "working as designed" or "duplicate of a known case" inside an email thread that nobody else can find six months later. When the same report arrives a second time, the second analyst rediscovers the issue from scratch and the response time looks worse than the first round. The audit trail starts at the published advisory rather than at the report.
The fix lands without verification against the affected version range
Engineering merges the fix on the latest release branch and considers the case closed. The supported back-branches do not get the fix, the published advisory references the wrong fixed-in version, and the customers running the supported back-branch find out at the next pentest. PSIRT verification has to test against the full supported version range, not against the head branch alone.
The CVE gets requested late or not at all
The CVE request waits until the day before the advisory is supposed to publish, the CNA queue takes longer than expected, the advisory ships without the identifier, and the consumers cannot match the advisory to the entries in their own vulnerability scanners. The CVE request is parallel to fix work, not serial after it.
The advisory is drafted from memory rather than from the case record
The drafter rewrites the affected version range, the CVSS vector, and the proof of concept from a stale email rather than from the case record. The advisory contradicts the engineering fix on a small but load-bearing detail, the consumers have to ask for clarification, and the next advisory inherits the same drift. AI-assisted drafting against the structured case record removes the gap between the case and the published artefact.
Downstream consumers learn about the advisory from a third party
A researcher publishes the disclosure on the embargo date through their personal blog, a journalist files first, or the upstream supplier posts before the company does. The downstream consumers learn from the third party rather than from the company own channel. PSIRT readiness includes the publication channel, the notification list, and the embargo coordination, not just the engineering fix.
How the PSIRT workflow looks in SecPortal
PSIRT case handling is one workflow stitched into six feature surfaces: the engagement record, findings management, document management, team management with role-based access, the branded client portal, and the activity log. The PSIRT case looks structurally similar to a pentest engagement, with the right intake and deliverable shapes for product-vulnerability response work.
Structured PSIRT intake
The intake opens a PSIRT case under engagement management. Inbound channel, reporter, affected version range, alleged severity, proof of concept, and embargo terms land as structured fields rather than as free text in an email thread.
Triage with CVSS
Reproduce, score, and route through findings management with the CVSS 3.1 vector, severity, and the case status workflow (open, in_progress, resolved, verified, reopened) captured against the case.
Named PSIRT lead
Assign the named PSIRT lead and the named engineering owner through team management with role-based access. Watchers from legal, communications, product, customer success, and IR coordination join at the right access level.
Advisory documents
Hold advisory drafts, fix-verification evidence, and supplier advisory cascade references through document management so the published artefact reads against versioned source rather than against a collection of inbox attachments.
AI-assisted advisory drafting
Draft the security advisory with AI report generation against the structured case evidence. The named approver edits and signs off before anything publishes; the platform does not auto-publish.
Branded advisory publication
Publish the advisory through the branded client portal on the tenant subdomain. Downstream consumers, the original reporter, and embargo stakeholders see the same source the engineering team verified the fix against.
Signals the PSIRT ledger surfaces by default
When PSIRT cases run on engagements rather than on memory, five signals come straight off the record without a manual reporting pass. They drive SLA pricing, channel investment, documentation backlog, and the quarterly programme review.
Acknowledgement time distribution
The time from intake to first acknowledgement, distributed across cases. Sub-3-business-day acknowledgement is the disclosure community baseline. The distribution shows whether the programme is meeting the bar consistently or whether one or two slow weeks per quarter pull the average down.
Triage cycle time and decision mix
The time from acknowledgement to triage decision, plus the share of cases by decision (confirmed, working as designed, duplicate, insufficient information). A decision mix dominated by working as designed signals a documentation gap; a mix dominated by duplicates signals a findings catalogue gap.
Fix verification coverage across the supported version range
The share of confirmed cases where the fix landed on every supported version range, not only on the head branch. Verification coverage below 100 percent on supported back-branches is the leading indicator that customer-found regressions are coming.
Time to disclose by severity band
Median and 90th percentile time-to-disclose for KEV-listed, critical, high, and medium severity cases. The bands are observable against external SLA anchors (CISA BOD 22-01 for KEV-listed, EU CRA Article 13 for actively exploited, ISO 30111 for general CVD). Outliers are visible on the case record before the embargo date rather than after.
CVE issuance lag and coverage
The share of confirmed cases that received a CVE before the advisory published, the share with the CVE referenced in the published advisory, and the median lag from triage decision to CVE issuance. CVE coverage below 100 percent on shipped advisories signals a CNA-channel bottleneck the programme can budget against.
Reviewer checklist before a PSIRT case closes
Before the PSIRT case is marked closed and rolls into the post-mortem queue, the named PSIRT lead runs through a short checklist. Each line takes seconds; missing any one of them is the source of the failure modes above.
- The PSIRT case opens as an engagement against the affected product record, not as an email thread.
- The intake captures the inbound channel, reporter contact, affected version range, alleged severity, proof of concept, and embargo terms before triage begins.
- The triage decision is logged with named PSIRT analyst, timestamp, CVSS 3.1 vector, and rationale on the activity log.
- The named PSIRT lead and named engineering owner are assigned through team management with role-based access.
- Watchers (legal, communications, product, customer success, IR coordinator) are added at the right access level for the embargo terms.
- Fix tracking runs against the case status workflow (open, in_progress, resolved, verified, reopened) with the affected and fixed version ranges captured as structured fields.
- The fix is verified against the proof of concept and the full supported version range before the advisory publishes.
- The CVE identifier is captured on the case record as a structured field, with CWE classification and CNA reference.
- The advisory is drafted with AI-assisted reporting against the structured case evidence, edited and signed off by the named approver.
- The advisory publishes through the branded client portal on the tenant subdomain on the agreed embargo date.
- The downstream consumer notification is shipped through the agreed channel with the case reference captured.
- The closed case feeds the post-mortem (root cause, CWE pattern, repeat-issue rate, time-to-disclose distribution).
Where the PSIRT workflow sits across the security programme
The PSIRT case sits alongside the inbound channels and the downstream remediation workflows on the same engagement record. Reports flow from the disclosure programme, feed the findings catalogue, and exit through the published advisory and the downstream notification channel.
Inbound channel
The vulnerability disclosure programme handles the public intake, the researcher relationship, and the policy commitments. Reports that originate there open as PSIRT cases on the workspace.
Adjacent operational workflows
The generic incident response workflow covers SOC-side events; the security advisory request workflow covers consultancy advisory hours. PSIRT is the third workflow that sits between them, focused on product-vulnerability response.
Remediation and retest
Confirmed PSIRT cases follow the same remediation tracking and retesting workflow as pentest findings, with verification against the supported version range before the advisory publishes.
Compliance and audit
The PSIRT case carries the audit trail that audit evidence retention depends on. ISO/IEC 30111, ISO/IEC 29147, EU CRA Article 13, and SOC 2 CC7.1 questions answer from the case record rather than from a reconstruction of inboxes.
Pair the workflow with the long-form guides
PSIRT operations sit alongside the rest of the vulnerability lifecycle. Pair this workflow with the vulnerability disclosure programme setup guide for the inbound channel, the copy-ready vulnerability disclosure policy template for the published artefact that names the safe-harbour clause, scope, channels, and coordinated-disclosure window the PSIRT case lifecycle inherits, the EU Cyber Resilience Act vulnerability handling guide for the Article 13 and Article 14 obligations a vendor PSIRT inherits, the CVE Numbering Authority explainer for the identifier-issuance layer the PSIRT case requests against, the CVSS scoring guide for the vector vocabulary the triage decision uses, and the SSVC explainer for the action-band layer the supplier-side decision tree applies to PSIRT cases.
Buyer and operator pairing
A structured PSIRT workflow is the operating model product security teams, AppSec teams, vulnerability management teams, and CISOs rely on for vendor-side product-vulnerability response. The framework references that shape PSIRT delivery include EU CRA for the Article 13 vulnerability handling and Article 14 reporting cascade, CISA Secure-by-Design for the VDP commitment, and ISO 27001 Annex A 8.8 for the documented vulnerability handling procedure.
What good PSIRT delivery feels like
One source of truth from intake to advisory
The published advisory matches the engineering fix on every load-bearing detail because both read from the same case record. The CVE references the verified affected and fixed version ranges. The downstream consumers get the same source the engineering team built the fix against.
Audit trail across the lifecycle
Named reporter, named PSIRT analyst, named engineering owner, named approver, intake channel, triage decision, CVSS vector, fix verification, CVE identifier, advisory text, and timestamped state changes all live on the case record. ISO 30111, ISO 29147, EU CRA Article 13 and 14, CISA SbD VDP, and SOC 2 CC7.1 audit answers come from one source.
Scope and limitations
SecPortal models the PSIRT case as a structured engagement, the triage decision as finding metadata, the fix verification as the verified status against the supported version range, the security advisory as a document drafted with AI assistance and signed off by a named approver, and the publication channel as the branded client portal on the tenant subdomain. SecPortal does not act as a CVE Numbering Authority on the company behalf; the CNA arrangement remains the company own arrangement with MITRE or the relevant root CNA. SecPortal does not run a public CVE feed, a CSAF JSON broker, an email notification list, or a regulator submission portal on the company behalf; downstream notification through external channels remains the company own action. The platform does not auto-publish advisories; advisory publication remains a deliberate, named-approver action against a verified case. Bug bounty payouts, researcher payment, and the bounty-platform researcher relationship remain on the bounty platform.
Frequently asked questions about PSIRT product security incident response
What is a PSIRT and how is it different from a CSIRT?
A PSIRT (Product Security Incident Response Team) handles vulnerabilities in the products the company ships to customers. A CSIRT (Computer Security Incident Response Team) handles security incidents inside the company own infrastructure. The two teams overlap on tooling and operating model, but the PSIRT case ends in a published security advisory, a CVE identifier, and a coordinated notification to the downstream consumers, while the CSIRT case ends in a contained incident, an internal lessons-learned writeup, and an updated detection. The FIRST PSIRT services framework is the published reference for the PSIRT operating model.
What is the FIRST PSIRT services framework?
The FIRST PSIRT services framework is the published reference for what a PSIRT is expected to do. It defines five service areas (stakeholder ecosystem management, vulnerability discovery, vulnerability triage and analysis, remediation, and vulnerability disclosure) and around 18 services across them. Most PSIRTs adopt a subset of the services depending on the products they ship and the consumer base they serve. SecPortal models the operational record that the framework services produce and consume: the PSIRT case as a structured engagement on the workspace, with intake, triage, remediation, and disclosure landing on the same record.
How is this different from the vulnerability disclosure programme use case?
The vulnerability disclosure programme handles the inbound channel: the public intake, the researcher relationship, the acknowledgement and the policy commitments. The PSIRT product security incident response workflow handles the full vendor-side lifecycle that runs after a report lands, regardless of which inbound channel it came through. A single PSIRT case might originate from the disclosure inbox, the bug bounty platform, an internal pentest, a scanner promotion, a customer escalation, a supplier advisory cascade, or a co-coordinated multi-vendor disclosure. Both workflows live on the same engagement record so the chain from intake to published advisory is reconstructible.
How is this different from the generic incident response use case?
The incident response use case covers the SOC operating model: detect, contain, eradicate, recover, and learn from a security incident inside the company infrastructure. The PSIRT use case covers the product side: a vulnerability in the product the company ships, a fix on the affected version range, a CVE request, a security advisory, and a downstream consumer notification. The two workflows share tooling primitives (engagement record, named owners, CVSS, audit trail, AI-assisted writeup) but have different inputs, different outputs, different SLA bands, and different audit obligations.
Does SecPortal act as a CVE Numbering Authority on the company behalf?
No. The CNA (CVE Numbering Authority) status is the company own arrangement with MITRE or the relevant root CNA. The CVE identifier is requested through the agreed CNA channel outside the platform. SecPortal captures the CVE identifier on the case record as a structured field once it is issued, alongside the CWE classification, the affected version range, and the fixed version. The platform is the structured case record and the publication surface, not a CNA.
Can the platform draft the security advisory?
Yes. The AI-assisted reporting that drafts pentest executive summaries, technical sections, and remediation roadmaps also drafts security advisories from the structured PSIRT case evidence: the affected product range, the CVE, the CWE classification, the CVSS vector, the fix, and the workaround where one applies. The named approver edits and signs off the draft before it publishes through the branded client portal. The platform does not auto-publish; advisory publication remains a deliberate, named-approver action against a verified case.
Can advisories publish to downstream consumers through the platform?
The advisory document and the structured case record live on the workspace and publish through the branded client portal on the tenant subdomain so downstream consumers see the same source. SecPortal does not run a public CVE feed, a CSAF JSON broker, an email notification list, or a regulator submission portal on the company behalf. Downstream notification through external channels (a public security mailing list, a customer notification platform, a regulator submission like the EU CRA single reporting platform) remains the company own action, run through the relevant external interface. The platform provides the reproducible source the company external publication reads from.
How does this support compliance audits and regulatory obligations?
The PSIRT case carries the named PSIRT analyst, the named engineering owner, the named approver, the intake channel, the triage decision and rationale, the CVSS vector, the affected and fixed version ranges, the CVE identifier, the advisory text, and the timestamped audit trail of every state change. ISO 30111 (vulnerability handling), ISO 29147 (vulnerability disclosure), EU CRA Article 13 (vulnerability handling) and Article 14 (reporting cascade), CISA Secure-by-Design VDP commitment, NIST SP 800-216 (federal CVD), and SOC 2 CC7.1 audit questions answer from the case record rather than from a reconstruction of inboxes and shared drives. The activity log retains the timestamped state changes for the plan-defined window with CSV export for evidence binders.
How it works in SecPortal
A streamlined workflow from start to finish.
Capture the report through a single PSIRT intake
Open a PSIRT case as an engagement against the affected product record. Capture the inbound channel (vulnerability disclosure inbox, bug bounty platform, internal pentest, scanner output, customer escalation, supplier advisory cascade, regulator notification), the reporter and their contact details, the affected product version range, the alleged severity, the proof of concept, and the requested embargo or coordination terms. The intake replaces the email and Slack scramble where the same report ends up tracked in three different places.
Triage with CVSS and reproduce the report
Reproduce the issue against the affected version range, score the finding with a CVSS 3.1 vector, set severity, attach the proof of concept and the reproduction steps as evidence on the case record, and decide the response track (confirmed vulnerability, working as designed, duplicate of a known case, or insufficient information). The triage decision is logged with the named PSIRT analyst, the timestamp, and the rationale, so the audit trail starts at the report rather than at the published advisory.
Assign the named PSIRT lead and the named engineering owner
Route the case to the named PSIRT lead through team management with role-based access, and the named engineering owner who will drive the fix. Watchers (legal, communications, product management, customer success, the incident-response coordinator) join the case at the right access level. The assignment lands on the activity log so the audit trail shows who took the case, when, and at what role.
Drive the fix on the case record and verify it
Track the engineering work against the case status workflow (open, in_progress, resolved, verified, reopened). The status field, the CVSS score, the severity, the affected version range, and the fix-target release land on the case as structured fields rather than free text. When the fix lands, the named PSIRT analyst verifies the closure against the proof of concept and the affected version range. The verified state on the case is the gate for advisory publication.
Request the CVE through the appropriate CNA channel
Outside the platform, the team requests a CVE identifier through their CNA channel (the vendor CNA where the company is itself a CNA, the root CNA where it is not, or the bug bounty platform CNA where the report came in that way). Inside the platform, the CVE identifier is captured on the case record as a structured field alongside the CWE classification, the affected product range, and the fixed version. SecPortal does not act as a CNA on the company behalf; the CNA arrangement remains the company own arrangement with MITRE or the relevant root CNA.
Draft and publish the security advisory through the portal
Draft the security advisory document on the case record using AI-assisted reporting against the structured intake, triage, and fix evidence. The named approver edits and signs off on the draft before publication. Publish the advisory through the branded client portal on the tenant subdomain so the downstream consumers, the original reporter, and any embargo-coordinated stakeholders see the same source. CSAF, OASIS CSAF JSON, and machine-readable advisory formats remain authored against the structured case record so the published artefact reads against one source rather than three reconciled drafts.
Close, retain the audit trail, and feed the next post-mortem
Mark the case verified and closed once the advisory is published, the CVE is issued, the downstream consumers have been notified through the agreed channel, and the reporter has been credited where the policy supports it. The activity log retains the timestamped state changes for the plan-defined window with CSV export. The case record feeds the next post-mortem (root-cause analysis, repeat-issue rate against the product line, CWE pattern across cases, time-to-disclose distribution) so the PSIRT programme improves on evidence rather than on memory.
Features that power this workflow
Orchestrate every security engagement from start to finish
Vulnerability management software that tracks every finding
Document management for every security engagement
Collaborate across your entire team
Your brand. Your portal. Your clients love it.
AI-powered reports in seconds, not days
Every action recorded across the workspace
Compliance tracking without a full GRC platform
Run the PSIRT lifecycle on one engagement record
Capture intake, triage with CVSS, assign the named lead, drive the fix, capture the CVE, draft the advisory, publish through the portal, and notify downstream consumers. Start free.
No credit card required. Free plan available forever.