Ambassador Level-Up Verification β€” The Complete Workflow

As of September 4, 2026, the verification process for level-ups in ERLEUCHTUNG has been completely overhauled. Ambassadors can now view pending verification requests, meet players in a Jitsi video room, and approve or reject after a minimum duration of 6 minutes β€” all with built-in safeguards against accidental clicks.

Overview

When a player wants to reach the next level (from level 2 onwards), they must be verified by ambassadors. The number of required verifications depends on the level:

Level-UpVerifications Required
L1 β†’ L21
L2 β†’ L32
L3 β†’ L43
L4 β†’ L54
L5 β†’ L65
L6 β†’ L76
L7 β†’ L87
L8 β†’ L98

Step 1: Player Requests Verification

The player opens the Trust Points panel and clicks Request Verification. The system:

  1. Creates a Jitsi room with a unique name (erleuchtung-verify-<player>-<level>-<time>)
  2. Notifies all ambassadors in the same country via SSE real-time message
  3. Shows the player a β€œJoin Jitsi Call” link with JWT authentication
  4. The request is valid for 24 hours

Step 2: Ambassador Sees the Request

Ambassadors see pending verification requests in the Trust Points panel under Pending Verification Requests. Each request shows:

  • Username of the player
  • Level transition (e.g., L1 β†’ L2)
  • Language of the player (with 🌐 icon) β€” so the ambassador knows whether they can communicate
  • Time of the request

⭐ Golden Ambassadors can see requests from all countries. Elected ambassadors only see requests from their own country.

Step 3: Ambassador Joins the Jitsi Room

The ambassador clicks β€œJoin →”. The following happens:

  1. The player receives a real-time notification (SSE): β€πŸ”” [Ambassador] is waiting in your verification room!”
  2. The player sees a toast with a β€œJoin Call” button
  3. The Jitsi room opens for the ambassador with JWT authentication β€” no password needed
  4. The ambassador enters the room as a Moderator

⚠️ The Confirm and Reject buttons are initially disabled (gray). They only become active after 6 minutes.

Step 4: Verification in the Jitsi Call

During the Jitsi call, the ambassador verifies the player’s identity:

  • Selfie verification β€” Player shows their face
  • Document verification β€” Player shows an ID document
  • Liveness check β€” Blinking and head rotation
  • Personal questions β€” Ambassador asks questions about the game world

The minimum duration of 6 minutes ensures that the verification is not rushed.

Step 5: Approve or Reject

After the 6-minute timer expires, the buttons become active:

Approve

The ambassador clicks βœ“ Confirm. A security popup appears:

β€œDid you really verify the data of [Player] in the Jitsi meeting?”

After confirmation, the verification is marked as approved. The player sees the result in their Trust Points panel.

Reject

The ambassador clicks βœ— Reject. A security popup appears:

β€œAre you sure you want to reject the verification for [Player]?”

The ambassador must provide a rejection reason. The verification is marked as rejected.

Step 6: Player Sees the Result

The player can check their verification status at any time in the Trust Points panel:

  • ⏳ Pending β€” Verification in progress, waiting for an ambassador
  • βœ“ Approved β€” Ambassador has confirmed
  • βœ— Rejected β€” Ambassador has rejected (with reason)

When enough ambassadors have approved, the player automatically levels up to the next level.

Security Measures

  • Buttons disabled β€” Confirm/Reject are gray until the ambassador clicks β€œJoin”
  • 6-minute timer β€” Buttons show a countdown (⏳ 6:00 β†’ 0:00) before they become active
  • Confirmation popup β€” Both actions require explicit confirmation
  • Rejection reason β€” Rejections require a reason
  • JWT authentication β€” Jitsi rooms are password-protected, only invited players and ambassadors can join
  • 24-hour expiry β€” Unanswered requests expire automatically

Self-Verification (Bootstrap)

If a player is the only ambassador in their country, they can verify themselves. This function is available once per level and is marked as SELF_VERIFICATION_BOOTSTRAP.

Summary

  • Player requests β†’ Ambassador is notified
  • Ambassador joins β†’ Player receives real-time notification
  • 6-minute verification β†’ Buttons are locked until the timer expires
  • Confirmation popup β†’ Prevents accidental approval/rejection
  • Language displayed β†’ Ambassador knows if communication is possible
  • Golden Ambassadors β†’ See requests from all countries

Server