Skip to content

Commit a00c172

Browse files
committed
docs: Add issue templates and security policy
Adds GitHub issue templates for bug reports and feature requests, disables blank issues, and directs users to the private security advisory flow for vulnerabilities. Also adds SECURITY.md describing the supported-version policy, how to report issues responsibly, and the security-sensitive areas covered by this reference implementation.
1 parent 5a978f5 commit a00c172

4 files changed

Lines changed: 151 additions & 0 deletions

File tree

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Bug Report
2+
description: Report something that doesn't work as expected in this reference implementation.
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to file a report. If this is a **security vulnerability**
9+
(e.g. a flaw in the RFC 9421 signature verification), please do not open a public issue —
10+
see [SECURITY.md](../../SECURITY.md) instead.
11+
12+
- type: textarea
13+
id: description
14+
attributes:
15+
label: What happened?
16+
description: A clear description of the bug and what you expected instead.
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: repro
22+
attributes:
23+
label: Steps to reproduce
24+
description: Include request payloads, headers, or commands where relevant.
25+
placeholder: |
26+
1. Send a webhook with headers ...
27+
2. Run `docker compose up --build`
28+
3. See error ...
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: logs
34+
attributes:
35+
label: Relevant logs or output
36+
render: shell
37+
validations:
38+
required: false
39+
40+
- type: input
41+
id: version
42+
attributes:
43+
label: Version / commit
44+
description: The tag, release, or commit SHA you're running.
45+
validations:
46+
required: false
47+
48+
- type: dropdown
49+
id: environment
50+
attributes:
51+
label: How are you running the app?
52+
options:
53+
- Docker Compose (as documented in the README)
54+
- Other (describe below)
55+
validations:
56+
required: false
57+
58+
- type: textarea
59+
id: context
60+
attributes:
61+
label: Additional context
62+
description: Anything else that might help, e.g. .env settings (redact secrets).
63+
validations:
64+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security vulnerability
4+
url: https://github.com/DaySmart/dash-webhook-receiver-example-php/security/advisories/new
5+
about: Please report security vulnerabilities privately rather than opening a public issue — see SECURITY.md.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Feature Request
2+
description: Suggest an improvement or new scenario for this reference implementation to demonstrate.
3+
labels: ["enhancement"]
4+
body:
5+
- type: textarea
6+
id: problem
7+
attributes:
8+
label: What's missing or could be improved?
9+
description: What gap in the reference implementation prompted this request?
10+
validations:
11+
required: true
12+
13+
- type: textarea
14+
id: proposal
15+
attributes:
16+
label: Proposed solution
17+
description: What would you like to see added or changed?
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: alternatives
23+
attributes:
24+
label: Alternatives considered
25+
description: Any other approaches you thought about.
26+
validations:
27+
required: false
28+
29+
- type: textarea
30+
id: context
31+
attributes:
32+
label: Additional context
33+
validations:
34+
required: false

SECURITY.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Security Policy
2+
3+
This repository is a **reference implementation** demonstrating how to receive and verify Dash
4+
webhooks (RFC 9421 HTTP Message Signatures, replay-window enforcement, etc.). It is not a
5+
production service, but the signature-verification code is security-sensitive and mistakes here
6+
could mislead anyone adapting it for production. We take reports about it seriously.
7+
8+
## Supported Versions
9+
10+
This project does not maintain multiple release branches. Security fixes are applied to the
11+
latest version on the `main` branch only.
12+
13+
## Reporting a Vulnerability
14+
15+
Please **do not open a public GitHub issue** for security vulnerabilities.
16+
17+
Instead, report it privately using GitHub's built-in reporting flow:
18+
19+
1. Go to the [Security tab](https://github.com/DaySmart/dash-webhook-receiver-example-php/security) of this repository.
20+
2. Click **"Report a vulnerability"** to open a private advisory.
21+
22+
Please include as much of the following as you can:
23+
24+
- A description of the vulnerability and its potential impact
25+
- Steps to reproduce, or a proof-of-concept
26+
- The affected file(s)/line(s), if known
27+
- Any suggested remediation
28+
29+
We'll acknowledge new reports as soon as we're able, and keep you updated as we investigate and
30+
address the issue. Once a fix is available, we'll coordinate on disclosure timing with you before
31+
publishing details.
32+
33+
## Scope
34+
35+
Examples of in-scope issues:
36+
37+
- Flaws in the RFC 9421 signature verification logic (e.g. signature bypass, incorrect
38+
Content-Digest validation, JWK→PEM conversion bugs)
39+
- Replay-window or deduplication logic that could allow forged/replayed webhook deliveries to be
40+
accepted
41+
- Other vulnerabilities in application code under `app/`
42+
43+
Out of scope:
44+
45+
- Vulnerabilities in third-party dependencies (please report these upstream, e.g. via
46+
[Packagist](https://packagist.org/) advisories or the dependency's own repository)
47+
- Issues that only affect local development ergonomics (e.g. Docker/Xdebug configuration) with no
48+
security impact

0 commit comments

Comments
 (0)