Mum and dad’s bank

Install your own bank

You can host your own Banque de papa et maman, for your family and friends, on a free Cloudflare account. Allow five minutes. If someone already hosts one for you, ask for an invitation instead.

What you need

The steps

1. The “Deploy to Cloudflare” button

Open Deploy to Cloudflare (the same button is at the top of the README). Connect your Cloudflare and GitHub accounts, then keep the suggested name or choose one: it becomes part of your bank’s address.

2. The admin password (ADMIN_TOKEN)

The form asks for ADMIN_TOKEN. Choose a long random password, 32 characters or more, generated by your password manager, and keep it there. On a computer, openssl rand -base64 32 makes one.

This password only creates invitations. It gives access to no bank, not even yours.

3. Let Cloudflare work

Cloudflare copies the code into your GitHub, creates the database, builds the app and publishes it. It takes a minute or two. At the end you get an address like https://banque-papa-maman.your-account.workers.dev.

4. Create your bank

Open https://…workers.dev/admin, paste your ADMIN_TOKEN, then tap Créer ma banque (create my bank). Continue with Create your child’s bank.

For friends: on the same page, Créer une invitation (create an invitation), then send the link (see Invitation).

What you see, and what you don’t

From the Cloudflare dashboard you can read no bank, not even yours: the database only holds encrypted files, random identifiers, version numbers and the month of the last change. Logs and analytics are turned off in the configuration (wrangler.jsonc). Cloudflare carries the traffic and so sees IP addresses in transit, like any host. The details are on your bank’s /confidentialite (privacy) page.

Optional settings

Updating

The button created a copy of the code in your GitHub. It does not update itself. To get the latest version, on a computer:

git clone https://github.com/your-account/your-copy.git
cd your-copy
./scripts/update-from-upstream.sh
git push

Cloudflare rebuilds and republishes on its own after the git push. A new version always reads existing banks.

Never delete the database_id line in your copy’s wrangler.jsonc. It ties the app to your database; without it, a deploy could create an empty one. The update script keeps it for you.

Shutting everything down

Deleting the Worker and the D1 database in Cloudflare erases every bank on your server. Tell the families you invited, so they download a backup first.