Private forms. End-to-end encrypted.
Confide is an open-source form builder where responses are encrypted in the respondent's browser before they reach the server. Only the form creator can read them.
docker compose upgit clone https://github.com/phantompunk/confide.git
cd wisp
cp .env.example .env
# Edit .env: set CONFIDE_DOMAIN, CONFIDE_HMAC_KEY, DB_PASSWORD
docker compose -f deploy/docker-compose.yml up -d
Open https://your-domain.com/register to create your account.
See the self-hosting guide for full setup instructions.
The Go API handles authentication, form storage, and response collection. Responses arrive at a relay endpoint, are queued in memory, and flushed to Postgres in encrypted form — the server never decrypts them. The SvelteKit frontend handles all encryption and decryption in the browser using the WebCrypto API. Caddy provides automatic TLS termination.
This repository's source code is available under the AGPL 3.0 license