Privacy, in plain language.
This page describes what the Build For Good website actually does with the information you give it. It is written to match how the site is really built — not to hide behind it.
Last updated: 2026-10-15
Note — needs human / legal review
This is a good-faith description of what the site does today, written by the team behind it — it is not legal advice, and it has not been reviewed by a lawyer. In particular, a formal retention schedule and a children’s-data position still need to be agreed before this can be relied on as a policy. Treat it as honest documentation, not a guarantee.
We collect only form fields
Plus the basics needed to stop spam: the time, your browser string, and a hashed IP for rate limits.
It lives in Cloudflare D1
Submissions are stored in one Cloudflare D1 database, reachable only through the site's Worker.
Stewards can read it
Through an internal admin panel behind Cloudflare Access. Public problems show only what you marked Public.
No advertising trackers
No ad networks, no ad cookies, no selling data, and no third-party analytics.
There are six forms on the site. Below is exactly what each one sends, so you can decide field by field whether to fill it in. Nothing is collected from you as you browse.
Membership application
To review your application and decide whether to invite you to a short conversation.
Required
- Name
- One thing you have made
Optional
- Where you are
- Disciplines
- Something you are genuinely struggling with
- Why Build For Good, and what you want to become
- Links
- Referred by
Problem submission
To read and frame a problem — and, only if you choose Public, to publish it in the Problem Commons.
Required
- The problem, in one line
- What is actually happening
Optional
- What success would look like
- Who is affected
- What has already been tried
- Why Build For Good might help
- What you can contribute
- Your name
- Where the problem is
- Who can see it (Public / review-only / private)
Project submission
To review a project and, if a person approves it, show it in the public showcase.
Required
- Project title
- One-line summary
- Description
- Lead name
- Lead email
Optional
- Disciplines
- Stage
- Tags
- Location
- Team
- Website
- Repository
- Live demo
- Cover image
Contact message
To read your message and reply.
Required
- Name
- Message
Optional
- Subject
Suggestion
To consider an idea for the community, and reply if you asked us to.
Required
- Topic
- Your idea
Optional
- Name
Feedback
To find and fix what is broken, slow, or confusing.
Required
- What kind of feedback
- Your feedback
Optional
- Page or area
- Overall rating (1–5)
Recorded automatically
Each submission also stores when it arrived and your browser's user-agent string (up to 400 characters). Stewards may add short internal notes and a status while reviewing.
A hidden anti-spam field
Every form carries one field that people never see. If a bot fills it in, the submission is thrown away and nothing is stored.
A hashed address, never your IP
To slow down abuse we store a salted SHA-256 hash of the connecting IP address — never the raw address — and prune it as the time window rolls over.
To review membership
An application is read to decide whether to invite you to a conversation — nothing else.
To act on a problem or project
Submissions are read and framed so they can become real work, or published if you chose that.
To read and reply
Contact messages, suggestions, and feedback exist so a person can answer you and improve the site.
To keep the site usable
The user-agent string and the hashed IP exist only to recognise and slow down spam and abuse.
We do not sell your information, we do not rent it, and we do not use it for advertising. We do not build profiles of you across other websites.
The site is a static export served by a Cloudflare Worker, and every form writes to a single Cloudflare D1 database (SQLite) bound to that Worker. Rate-limit entries live in a separate table in the same database.
In other words: your submission is stored on Cloudflare’s infrastructure, in a database the public cannot reach directly. There is no account and no public login on the site — you never create a password here.
The moving parts
- Cloudflare Worker — runs the site and the form API.
- Cloudflare D1 — stores submissions and rate-limit hashes.
- Cloudflare Access — gates the internal admin panel.
- Optional alerts — a short summary may be emailed or posted to BFG’s internal channel if configured.
BFG stewards
Read submissions through an internal admin panel protected by Cloudflare Access (Zero Trust). If Access is not configured, the panel fails closed and returns nothing.
The public — on your terms
Only a problem you marked Public, once a steward has framed or activated it, appears in the Problem Commons. Approved projects appear in the showcase. Everything else stays internal.
What the public never sees
Your email, your name on a problem, internal notes, review timestamps, and the stored user-agent are excluded from public views by default.
If notifications are switched on, a compact summary of a submission — and, for problems and projects, the email address — is sent to BFG’s internal alert channel so a person notices it quickly. If you left an email, we may also send you a short acknowledgement that we received your submission.
To be honest: the site does not yet run on an automatic deletion schedule. A submission is kept while it is useful — to review a membership application, to act on a problem, or to answer a message.
Rate-limit entries are the exception: they are pruned as their window rolls over, within an hour of being written.
We think a fixed retention period is the right thing to have. It is listed as an open item for review at the top of this page, and we would rather say it plainly than imply a promise we have not built yet.
- 01 Email hello@buildforgood.org.
- 02 Tell us the name and email address you used, and roughly when you submitted it.
- 03 A steward deletes the record from the admin panel and confirms it back to you.
Deleting a record removes it from the database and, for a public problem or project, takes it off the site. It cannot retract copies other people may already have made — we can only promise to remove what is ours.
Questions or correction
If anything here is wrong, says more than the site really does, or leaves something out, tell us and we will fix the page.
hello@buildforgood.orgThe site runs no advertising trackers and no ad cookies. There is no third-party analytics: nothing is sent to Vercel, Google, or any other vendor. The site ships a first-party analytics beacon in its code, but it is turned off unless we explicitly configure an endpoint for it. If it is ever enabled it would be same-origin only, cookie-free, and record just the page path; it honours Do Not Track and Global Privacy Control.
Public pages set no login cookie, because there is no public login. Cloudflare Access may set a session cookie, but only for stewards signing into the internal admin panel.
Status: analytics is currently disabled. If we ever enable first-party analytics, we will describe exactly what is recorded here before it goes live.