Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 16 additions & 8 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
# Web3Forms access key, used by the feedback form at /feedback.
#
# Get it from https://web3forms.com — it is the key tied to the destination
# inbox. It is a publishable key (it must reach the browser to work, and grants
# no account access), which is why it carries the NEXT_PUBLIC_ prefix. It is
# still kept out of the repo so this public repository does not ship a
# ready-made endpoint for anyone to post to.
#
# Set the same variable in Vercel: Project -> Settings -> Environment Variables,
# for Production, Preview and Development.
# Get it from https://web3forms.com. It is a publishable value rather than a
# secret: it has to reach the browser to work, it is compiled into the client
# bundle, and it grants no account access, which is why it carries the
# NEXT_PUBLIC_ prefix. Web3Forms treats it as the form's own identifier, and
# its API reports it as "form_id/access_key".
#
# It is kept out of the source tree so that cloning this repository does not
# hand over a working endpoint by default, and so local and deployed
# environments can differ. Treat that as hygiene, not confidentiality: the
# value is readable from the deployed site by anyone who views source, and one
# earlier commit in this repository's history contains a real one.
#
# Set the same variable in Vercel: Project -> Settings -> Environment
# Variables, for Production, Preview and Development. The value is inlined at
# build time, so changing it does nothing to a deployment that already exists.
# Redeploy after changing it, or the old value stays live.
#
# Without it the form renders and validates, but submitting reports that the
# form is not configured rather than silently discarding the message.
Expand Down
20 changes: 12 additions & 8 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,18 @@ site.

## A note on the Web3Forms access key

The feedback form's access key is a publishable value. It is prefixed
`NEXT_PUBLIC_`, it is compiled into the client bundle by design, and it is
therefore visible to anyone viewing source. That is how Web3Forms works and is
not a vulnerability on its own. Submissions are restricted to this site's
domain in the Web3Forms dashboard.

If you find a way to abuse it despite that restriction, that is very much in
scope and worth reporting.
The feedback form's access key is a publishable value rather than a secret. It
is prefixed `NEXT_PUBLIC_`, it is compiled into the client bundle by design,
and it is therefore visible to anyone viewing source. Web3Forms treats it as
the form's own identifier, so its being visible is not a vulnerability and does
not need reporting.

Submissions are additionally restricted to this site's domain in the Web3Forms
dashboard. That restriction is worth having, but it is enforced on a request
header, so it raises the effort required rather than preventing abuse outright.

If you find a way to abuse the form, including past that restriction, that is
in scope and worth reporting.

## Reporting an incorrect tax figure

Expand Down
Loading