Daily Kefiw Leaderboard System
How the board is built, what a clear means for each game, and why there are no accounts.
No sign-up, no email, no social graph. A random device id, an optional handle, and a server that signs every accepted submission.
Daily Kefiw runs a leaderboard without asking for an account. You pick a handle, the browser keeps a random id, and only cleared runs show up on the board. Everything resets when the next puzzle drops at 4:00 AM Eastern Time.
Part of: Daily Challenges
Quick answer
No sign-up, no email, no social graph. A random device id, an optional handle, and a server that signs every accepted submission.
Key points
- ▸ No sign-up. A 16-byte random id is generated the first time you play and stored in your browser as kfw.daily.device_id.
- ▸ Identity on the server is a SHA-256 hash of that id — the server never sees the raw id.
- ▸ Handle is display-only. It does not reserve names; two players can use the same handle.
- ▸ Only cleared runs appear: Hunt must be solved, Hive must reach the Good tier or higher, Sudoku must be fully solved.
- ▸ Every accepted submission is HMAC-signed by the server using a secret the browser cannot see. This is tamper-evidence for the board record, not anti-cheat on the client.
- ▸ Resubmitting a better result overwrites the old row. There is at most one row per device per game per day.
- ▸ All three boards reset when the daily rollover hits — 4:00 AM US Eastern, automatically adjusted for DST.
Examples
- First playYou open /daily/ for the first time. The browser generates a random 16-byte id. You leave the handle blank. On the board you appear as "anon5f3c" (first 4 hex chars of your device hash).
- Picking a handleYou go to the hub, click "pick one", type "redpanda". From now on your board entries show as "redpanda" until you change it.
- Improving your Hive scoreYou finished Hive at 42 points (Solid tier). You come back later, find 7 more words, hit 58 points (Great tier). Your board row updates in place — still one entry, now showing 58 pts.
- Clearing your browserYou clear localStorage. Next visit, you get a fresh device id and a new identity on the board. Previous entries are not linked to you anymore.
Related
- Daily Kefiw Score StrategyWhat ranks you in each of the three boards, and the tradeoffs people miss.
- Daily Kefiw Streak RulesWhat counts, what resets, and why the pipeline streak is the one to watch.
- How Daily Word Challenges WorkWhy everyone gets the same puzzle on the same day, and how streaks stay honest.
- Daily Streak TipsThe small habits that turn "I play sometimes" into a 200-day streak.
Frequently asked questions
› Can I sync my streak across devices? Trust & accuracy
Not yet. Each device keeps its own history. If you play on phone and laptop with the same handle, both devices submit separate rows to the board — they will look like two players.
› Is my handle unique? Trust & accuracy
No. Handles are display text, 1–24 chars of lowercase letters, digits, underscore, or hyphen. Two people can pick "redpanda" and both show up as "redpanda" on the board. The server identifies you by device hash, not handle.
› Why do only cleared runs show on the board? Troubleshooting
To keep the leaderboard about skill, not participation. A Hive run below the Good tier is valid practice but not a "clear." A Hunt run that ran out of guesses is a loss. A Sudoku you never finished is not a time to compare.
› What stops someone from submitting fake scores?
On the client, nothing — a determined attacker with DevTools can send whatever JSON they want to the worker. The server validates bounds (guesses 1-6, points 0-2000, tier in known list, time 1s-24h) and signs accepted rows with a secret the client cannot see. That gives you tamper-evidence on stored records but does not stop score inflation at submission time. Stronger anti-cheat would require server-side puzzle solving, which is a separate project.
› When does the board reset? How-to
At 4:00 AM Eastern Time every day. The server stores all historical days; the hub and game pages only show today. Past-day views are a separate feature we have not built yet.
› Where does my data live?
Your device id and handle are in your browser. Your cleared submissions live in a Cloudflare D1 database. No personal info is collected — no email, no IP beyond Cloudflare's country code, no cross-site tracking.