Santa

Secret gift exchanges that come back every year. A lasting group, one edition a year, a draw nobody can see, and a wishlist per person.

Why Santa

👪

The group lasts

Set up your family or friends once. Each year you start a new edition — no re-typing everyone.

🤫

A draw nobody can see

Pairings are encrypted. Only the giver ever learns their recipient — not admins, not even the host by accident.

🎁

A wishlist per person

Publish a list, or pick “Surprise me!”. Import last year’s ideas in a tap.

✋

Press & hold to reveal

Your recipient shows only while you hold — a glance at your phone gives nothing away.

💬

Anonymous chat

Ask your giftee questions through an anonymous thread, and join a group chat where everyone has a playful alias.

📧

Email only when needed

No spam, no push nagging, no tracking. Mail arrives only when there’s something to do.

Private by design

A pairing is known to the giver only — not to admins, not to instance admins, not after the exchange. The draw is encrypted with a key kept outside the database. The honest limit: whoever holds both the database and the encryption key could decrypt it — the goal is to make peeking impossible by accident, not to resist a determined host.

Self-host it

Santa is free and MIT-licensed. Run your own instance with one container image and PostgreSQL:

git clone https://github.com/totophe/santa
cp .env.example .env   # set ENCRYPTION_KEY, SMTP, APP_URL
docker compose up --build

Configure everything with environment variables. See the README and the deploy guide.