Skip to content

Commit 6383bf0

Browse files
committed
add SECURITY.md
1 parent af97591 commit 6383bf0

1 file changed

Lines changed: 87 additions & 0 deletions

File tree

docs/SECURITY.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Security Policy
2+
3+
Bitrequest is a non-custodial, client-side cryptocurrency payment tool. Wallet
4+
seeds and keys are generated and held on the user's own device; Bitrequest never
5+
operates a server that holds user funds or secrets. Because of this, the security
6+
of a Bitrequest deployment depends both on the application code and on how and
7+
where each user runs and backs it up.
8+
9+
We take security seriously and welcome reports from the community.
10+
11+
## Reporting a vulnerability
12+
13+
Please report suspected vulnerabilities **privately**. Do not open a public
14+
GitHub issue, pull request, or forum/social post for a security matter, as that
15+
exposes users before a fix is available.
16+
17+
- **Email:** security@bitrequest.io
18+
- Please include: a description of the issue, the affected component (app,
19+
payment proxy, WebSocket server, or a specific coin/backend), steps to
20+
reproduce or a proof of concept, and the version, commit, or URL you tested.
21+
22+
Please give us a reasonable opportunity to investigate and release a fix before
23+
any public disclosure. We will not pursue legal action against researchers who
24+
act in good faith, avoid privacy violations and service disruption, and do not
25+
access, modify, or exfiltrate data that is not their own.
26+
27+
## What to expect
28+
29+
- **Acknowledgement** of your report as soon as we are able. Bitrequest is
30+
maintained by a single developer, so response times vary; please allow time
31+
before following up.
32+
- An assessment of the report, and where valid, a fix and a coordinated
33+
disclosure timeline agreed with you.
34+
- Credit for the report if you would like it, once a fix is released.
35+
36+
## Scope
37+
38+
In scope:
39+
40+
- The Bitrequest web application (`bitrequest.github.io` / `bitrequest.web.app`)
41+
and its libraries.
42+
- The PHP payment proxy and the Node.js WebSocket server in this repository.
43+
- The official iOS and Android wrappers.
44+
45+
Examples of relevant issues: cross-site scripting or injection, flaws in address
46+
derivation or payment detection that could misattribute or miss a payment,
47+
weaknesses in how encrypted data is handled, request forgery or SSRF in the
48+
proxy, and authentication or origin-validation flaws.
49+
50+
Out of scope:
51+
52+
- Third-party services the app talks to (block explorers, indexers, RPC nodes,
53+
Lightning backends, image CDNs). Report those to the service concerned.
54+
- Vulnerabilities that require a device already compromised by malware, a
55+
physically compromised or rooted/jailbroken device, or a user's own
56+
compromised cloud/backup account. See "Threat model" below.
57+
- Social engineering, phishing of users, and issues in outdated forks or
58+
modified builds.
59+
60+
## Threat model and user responsibility
61+
62+
Bitrequest is designed to run without a trusted server, including offline and
63+
directly from local files. This has security implications users should
64+
understand:
65+
66+
- **Seed storage.** A wallet seed created in the app is stored on the user's
67+
device, encrypted. An optional PIN protects it. The PIN is a convenience gate
68+
intended to deter casual access to a device or a stray backup file; it is
69+
**not** a substitute for full-disk encryption or a hardware wallet and should
70+
not be relied on to protect large balances. Bitrequest is intended for
71+
point-of-sale use with modest balances. For significant holdings, use a
72+
dedicated hardware wallet.
73+
- **Backups.** The encrypted seed is only included in a backup if the user
74+
explicitly confirms it. Anyone who obtains that backup file holds the
75+
encrypted seed; its safety then depends on the strength of the PIN and on the
76+
user keeping the file private. Store backups accordingly.
77+
- **Device integrity.** Bitrequest cannot protect secrets on a device that is
78+
already compromised by malware or physically controlled by an attacker. Keep
79+
the operating system and browser current.
80+
- **Self-hosting and forks.** Users who self-host the app or run a modified
81+
build are responsible for the integrity of what they deploy.
82+
83+
## Supported versions
84+
85+
Bitrequest is a rolling release; security fixes are applied to the current
86+
version of the app and the published mobile wrappers. There is no long-term
87+
support for older versions or forks. Always run the latest version.

0 commit comments

Comments
 (0)