Fenrir Protocol is the verification and security layer for the MyFenrir community —
not an aesthetic onboarding flow. 4 gates between the public and the pack.
Serious. Precise. Protective.
Most communities bolt a captcha onto the door and call it done. Fenrir Protocol treats the threshold as an actual security operation — and keeps the same wolf as concierge once you're inside.
A new member lands in a public waiting room, muted. The wolf posts a welcome and opens a Telegram Mini App at gate.myfenrir.com — four gates run in sequence. All four pass → one short-lived invite link. Nonce burned immediately.
Once inside, the wolf is the in-group assistant. Self-hosted on the friskyclaw box with local models. No cloud dependency for replies, no polling conflict, supervised via systemd for stable uptime. Replies stay private infrastructure.
Not a flow. Not a wizard. A security state machine. Each gate must pass independently. If any fails — no invite. Nonce single-use. Anti-replay enforced.
Managed-mode widget, verified server-side. Asserts action=gate_verify and hostname=gate.myfenrir.com. Secret key never in the SPA. error-codes → hard reject.
Same AuthKit client as myfenrir.com. Google / Microsoft / Apple. tg_user_id bound to one verified Supabase identity in the durable audit table. One human, one account.
Community rules displayed in full. Explicit checkbox required — Continue locked until accepted. rules_version tracked — if rules change, the pact is re-confirmed at next join. Logged to Supabase with timestamp.
Hard gates (18+, intent selector) then free-text "why join?" classified by Claude Haiku against the community norms. pass → proceed. reject → decline. review → mod channel hold, invite only on manual approve.
Worker webhook — no polling conflicts, no getUpdates thrash. Reuses the auth, identity, and data plane the rest of MyFenrir runs on. The hearth runs independently on its own box.
Ephemeral sessions burn on use. Durable audit log preserves every consent and verdict. Service-role write only — no anon access.
Comprehensive audit conducted 2026-07-16 across SEO, Security, Performance, UX/UI, Accessibility, and Infrastructure.
myfenrir.com is a Telegram Mini App titled "Fenrir Bridge by Frisky" — a React SPA built with Vite. It serves as a bridge/connectivity tool within the Telegram ecosystem, authenticated via Telegram Web App SDK and backed by Supabase on Cloudflare infrastructure.
Fenrir Protocol's brand is NOT cute. NOT aesthetic onboarding. The Mini App uses the MyFenrir Community Bridge tokens (midnight/violet-cyan) — the product tone is security-first. The parent brand is Frisky Developments.
Worker receives /tg, verifies secret token. wrangler.jsonc, KV binding, env vars scaffolded.
✓ Spec readychat_member → restrict (mute) user → post pinned welcome card with web_app button → gate.myfenrir.com.
✓ Spec readySPA opens, reads initData, POST /api/gate/open → nonce. Gate wizard skeleton, Community Bridge styling.
✓ Spec readyManaged widget, server-side siteverify. Pass → session updated, proceed to B.
→ Build nextAdd redirect URI to Frisky AUTH. Popup AuthKit in Mini App, bind tg_user_id ↔ Supabase identity in audit.
→ Build nextRules displayed, checkbox required, POST /api/gate/rules records {rules_version, accepted_at} to Supabase.
PlannedHard gates then free-text. Claude Haiku classifies against norms. review → mod channel hold.
Planned/api/gate/complete: all gates pass → createChatInviteLink(limit=1, expire+10m) → audit admitted → DM link.
PlannedRate limits per tg_user_id+IP, secrets via 1Password→CF, mod channel, RULES.md final, prod stress test.
Planned@Fenrir_Community_BOT live on friskyclaw. Local models, systemd supervised.
Frisky AUTH app live — Google/Microsoft/Apple. client_01KSSSJENYSQC0YXDYM8ZACYS9.
Architecture, data model, security checklist, design spec, all 9 build phases complete.
BotFather: username, /setdomain → gate.myfenrir.com, /newapp short name "verify".
DNS → CF Pages. Needs CF token with Zone:DNS:Edit (on-machine wrangler lacks dns write).
Add gate.myfenrir.com/auth/callback to Frisky AUTH application (dashboard-only, no API).