-
Notifications
You must be signed in to change notification settings - Fork 24
Proposed SECURITY.md file for veraPDF projects #727
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| # Security Policy | ||
|
|
||
| This security policy applies to all software products maintained by the | ||
| [Open Preservation Foundation](https://openpreservation.org) (OPF), including | ||
| veraPDF, JHOVE, Open Fixity, and associated libraries and tools. | ||
|
|
||
| ## Reporting a Vulnerability | ||
|
|
||
| **Please do not report security vulnerabilities as public GitHub issues.** | ||
| Public disclosure before a fix is available puts users at risk. | ||
|
|
||
| Report vulnerabilities using one of these private channels: | ||
|
|
||
| - **Email:** security@openpreservation.org | ||
| - **GitHub:** Use the [Report a vulnerability](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability) button on the Security tab of the relevant repository | ||
|
|
||
| Include as much of the following as you can: | ||
|
|
||
| - A description of the vulnerability and its potential impact | ||
| - The affected product(s) and version(s) | ||
| - Steps to reproduce or proof-of-concept code | ||
| - Any suggested mitigations you are aware of | ||
|
|
||
| ## Our Commitment | ||
|
|
||
| When you report a vulnerability to us we will: | ||
|
|
||
| - **Acknowledge** your report within 5 business days | ||
| - **Assess** the severity and scope and keep you informed of our findings | ||
| - **Coordinate** the fix and disclosure timeline with you | ||
| - **Credit** you in the security advisory, unless you prefer to remain anonymous | ||
| - **Notify** you before we publish any advisory | ||
|
|
||
| We will not take legal action against researchers who report vulnerabilities in | ||
| good faith and act in accordance with this policy. | ||
|
|
||
| ## Disclosure Timeline | ||
|
|
||
| We follow a coordinated vulnerability disclosure (CVD) process: | ||
|
|
||
| 1. **Day 0** — You report the vulnerability privately | ||
| 2. **Within 5 business days** — We acknowledge receipt | ||
| 3. **Within 14 days** — We provide an initial assessment, including severity and | ||
| whether we can reproduce the issue | ||
| 4. **Ongoing** — We work on a fix and agree a disclosure date with you | ||
|
|
||
| The disclosure timeline depends on severity: | ||
|
|
||
| | Severity | Target fix and disclosure | | ||
| |----------|--------------------------| | ||
| | Critical / actively exploited | As fast as possible — we may disclose early with mitigations if a fix is not yet ready | | ||
| | High | Within 30 days | | ||
| | Medium | Within 60 days | | ||
| | Low | Within 90 days | | ||
|
|
||
| We will always discuss timeline with you before publishing. If circumstances | ||
| require us to deviate from these targets we will explain why and agree an | ||
| alternative with you. | ||
|
|
||
| ## Out of Scope | ||
|
|
||
| The following are outside the scope of this policy: | ||
|
|
||
| - Denial of service attacks | ||
| - Social engineering or phishing of OPF staff | ||
| - Physical security issues | ||
| - Vulnerabilities in third-party dependencies — please report these upstream; we will still triage and advise if you are unsure | ||
|
|
||
| ## Public Disclosure | ||
|
|
||
| Once a fix is available we will: | ||
|
|
||
| 1. Publish a **GitHub Security Advisory** in the affected repository | ||
| 2. Post a summary on the **[OPF website](https://openpreservation.org)** | ||
| 3. Issue a **new release** of the affected product with the fix included | ||
|
|
||
| We will not publish details of a vulnerability before a fix is available, | ||
| except in cases where active exploitation means users must be warned | ||
| immediately. | ||
|
|
||
| ## Regulatory Obligations | ||
|
|
||
| As part of our compliance with the EU Cyber Resilience Act (CRA), OPF reports | ||
| actively exploited vulnerabilities to ENISA within 24 hours of becoming aware | ||
| of them, and submits full notifications within 14 days. This regulatory | ||
|
Comment on lines
+83
to
+85
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: The EU Cyber Resilience Act (CRA, Regulation (EU) 2024/2847) requires manufacturers of products with digital elements to report actively exploited vulnerabilities and severe incidents via ENISA's Single Reporting Platform (SRP), starting 11 September 2026. For actively exploited vulnerabilities (Article 14(1-2)): - Early warning: within 24 hours of becoming aware. - Vulnerability notification: within 72 hours (unless already provided). - Final report: no later than 14 days after a corrective/mitigating measure is available. For severe incidents impacting product security (Article 14(3-4)): - Early warning: within 24 hours. - Incident notification: within 72 hours. - Final report: within 1 month after the incident notification. Reports are submitted once via the SRP to the relevant national CSIRT (based on manufacturer's main establishment) and simultaneously to ENISA, which distributes as needed. ENISA manages the SRP (Article 16) and will publish FAQs and operate a helpdesk. Citations:
Clarify CRA notification timelines in compliance statement. The CRA notification requirements are incomplete as stated. Per Article 14, manufacturers must report actively exploited vulnerabilities to ENISA with: early warning within 24 hours, full vulnerability notification within 72 hours (not mentioned), and final report within 14 days of corrective measures becoming available. The current phrasing conflates these distinct phases and omits the 72-hour window for complete vulnerability details, creating compliance ambiguity. 🤖 Prompt for AI Agents |
||
| reporting is separate from and does not replace our commitment to coordinating | ||
| disclosure with you. | ||
|
|
||
| --- | ||
|
|
||
| _Policy version: 1.0 — April 2026_ | ||
| _Review due: April 2027_ | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix hyphenation in compound adjective.
"Denial of service" should be hyphenated when used as a compound adjective before "attacks". As per static analysis hint, this improves grammatical correctness.
📝 Proposed fix
📝 Committable suggestion
🧰 Tools
🪛 LanguageTool
[grammar] ~64-~64: Use a hyphen to join words.
Context: ...side the scope of this policy: - Denial of service attacks - Social engineering or ...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents