demo · build-time

tickets 3456

cada ticket é uma sequência afrs (humanamente legível) + um QR (mecanicamente legível). a verificação faz-se em /scan ou no atelier no dia do evento.

secret de demo embebido no build. em produção: wrangler secrets + endpoint `/api/verify` server-side.

3456 · sfraaa

ticket nº 001 · iniciado

3456

scan

código afrs

aaaa·aaaa·aaaa·aaaf·frrr·farf·ffra·asaa·aaaa·rsaf·frss·arrr·rsar·afaf·frss

ou escreve este código manualmente em /scan.

evento · 2026-07-04 · 19h00 · montijo

3456 · sfraaa

ticket nº 042 · meio

3456

scan

código afrs

aaaa·aaaa·aaaa·arrr·frrr·farf·ffra·asaa·aaaa·arrr·raaf·sass·asfs·sras·arrr

ou escreve este código manualmente em /scan.

evento · 2026-07-04 · 19h00 · montijo

3456 · sfraaa

ticket nº 256 · final

3456

scan

código afrs

aaaa·aaaa·aaaf·aaaa·frrr·farf·ffra·asaa·aaaa·fasa·frss·aara·aasa·srfs·sfrr

ou escreve este código manualmente em /scan.

evento · 2026-07-04 · 19h00 · montijo

anatomia de um ticket

o payload tem 9 bytes (4 ticket-id + 4 unix-timestamp + 1 flags), seguido de um MAC truncado a 6 bytes (HMAC-SHA-256 dos primeiros 9 bytes com o secret). total: 15 bytes = 60 chars afrs, separados por · a cada 4 (1 byte por chunk).

  • aaaa·aaaa·aaaa·aaaf  ticketId (uint32 big-endian)
  • frrr·faff·aaaf  timestamp unix (uint32 BE) + flags
  • faaa·aaaa·sfsa·frsf·srfs·frar  MAC truncado a 48 bits

forjar = adivinhar 1 em ~280 trilliões. para um evento raro de baixo valor de forja, isto chega.