Proof of Light

v1.6.1
1000 rating

Daily puzzle

Tutorial chapters

Time

Sprint complete

Run review

#DifficultyThinking timeResultPractice

No puzzle details were saved for this run.

End this Sprint?

Your current result will be saved to the scoreboard.

Show solution?

Welcome to Proof of Light!

We strongly recommend starting with the Tutorial. Its short chapters teach you how each piece works before you tackle the puzzles.

Puzzle solved!

Paused

Your puzzle is hidden. Resume when you are ready.

Rated time has ended

Plan failed

What’s new

v1.6.1

v1.6.0

v1.5.4

v1.5.3

v1.5.2

v1.5.1

v1.5

v1.4.1

v1.4

v1.3

v1.2

v1.1

v1.0

Rules

How to play

Piece guide

Scoring rules

Piece controls

Automatic
Click / tap to rotate
Click / tap to select

Board view

Moving photons
Fading trail
Continuous beam

Always-on laser

Settings

Achievements

Rename profile

Delete this profile?

This removes this profile’s progress, rating, achievements and Sprint scoreboard entries from this browser. Its active Sprint will also be discarded. This cannot be undone.

History

Difficulty report

Recent rewards

    Fire all lasers?

    All emitters in this level fire together, even when you click just one.

    Account

    Enable always-on laser?

    Install Proof of Light

    Generating puzzle…

    Proof of Light

    Connecting to Discord…

    Privacy policy

    Privacy policy — Discord Activity

    Updated October 11, 2026. Developer and privacy contact: Rafael Ando, proofoflight.contact@gmail.com.

    This policy covers Proof of Light inside Discord and its direct preview. You can play as guest or, when online accounts are enabled, sign in to a Proof of Light account shared with the website. Guest play does not create an account or upload guest results. Signing in does not link your Discord identity.

    What stays on your device

    • Guest profile names, progress, rating, achievements, puzzle history and saved puzzle state, Sprint scores, settings and editor data are stored locally when the client allows it.
    • This data supports saving and resuming play. It is separate from website data, is not synchronized between devices and is not submitted to shared online leaderboards.
    • Local data stays until removed or cleared by you or the client. If persistent storage is unavailable, progress lasts only for the current session. Closing the Activity can lose interrupted or unsaved progress.

    Optional online accounts

    • Online accounts store a username, password and recovery-code hashes, session records, progress, rating, history, achievements and Sprint results in Cloudflare D1. Passwords and recovery codes are sent over HTTPS for authentication; their original values are not stored in the database.
    • Your account progress is shared with the website. Shared Sprint rankings display your account name and results. Guest data is not merged into your account; device settings, editor data and local Practice history stay local.
    • A Secure, HttpOnly partitioned session cookie remembers account access inside Discord. Remember me controls persistence. Logout ends the current session; changing credentials revokes earlier sessions. Auth rate-limit records help prevent abuse.
    • Account data remains until deletion or a disclosed testing reset. Delete account requires confirmation and your password and removes its related server records. Browser-only data and provider logs may remain; contact us for assistance. Never send your password or recovery code by email.

    Discord, hosting and connection data

    • The Discord SDK uses launch/session context to connect the embedded game to Discord. The game does not request Discord identity authorization, read messages, or retain Discord user identities on a developer server.
    • Discord and Cloudflare deliver the Activity and its static game files. They can process network data such as IP addresses, request paths and timestamps to operate and secure their services, under their own policies and retention practices.
    • The development server does not keep request logs. The game contains no advertising or analytics tracking, and does not upload guest gameplay data automatically.
    • Sharing a puzzle copies a seed/link for you to send. Profile/editor exports produce local files; imports are processed on your device. If you send those files or links to someone, that recipient can see their contents.

    Provider policies: Discord and Cloudflare. App Tester invitations are managed by Discord.

    Deleting data and contacting us

    You can remove guest profiles through the game's Delete profile action. Other local settings, editor data or scoreboard entries may remain. To remove all locally stored game data, clear the Activity/site storage using your browser or Discord client controls where available. Clearing local data may permanently erase your progress.

    For privacy questions, help removing data, or requests about information you have sent directly to the developer, email proofoflight.contact@gmail.com. We use correspondence to respond to your request and retain it as needed to handle that request and applicable obligations. You can request deletion of that correspondence. Do not send passwords or recovery codes. Requests about provider-held data should also be directed to the relevant provider.

    Discord account linking is not offered. This policy will be updated before new data uses are added.

    Política de privacidade — Atividade do Discord

    Atualizada em 11 de outubro de 2026. Desenvolvedor e contato para privacidade: Rafael Ando, proofoflight.contact@gmail.com.

    Esta política se aplica a Prova de Luz no Discord e à sua prévia direta. Você pode jogar como visitante ou, quando as contas online estiverem disponíveis, entrar em uma conta de Prova de Luz compartilhada com o site. Jogar como visitante não cria uma conta nem envia seus resultados ao banco de dados. Entrar no jogo não vincula sua identidade do Discord.

    O que fica no seu dispositivo

    • Nomes dos perfis de visitante, progresso, rating, conquistas, histórico e estado salvo dos desafios, placares do Sprint, configurações e dados do editor são armazenados localmente quando o aplicativo permite.
    • Esses dados permitem salvar e retomar o jogo. Eles ficam separados dos dados do site, não são sincronizados entre dispositivos e não entram nos placares online.
    • Os dados locais permanecem até que você ou o aplicativo os remova. Se não for possível salvar de forma persistente, o progresso dura apenas durante a sessão atual. Fechar a Atividade pode causar a perda de progresso interrompido ou ainda não salvo.

    Contas online opcionais

    • As contas online armazenam nome de usuário, hashes da senha e do código de recuperação, sessões, progresso, rating, histórico, conquistas e resultados do Sprint no Cloudflare D1. Senhas e códigos são enviados por HTTPS para autenticação; os valores originais não ficam no banco de dados.
    • O progresso da conta é compartilhado com o site. Os placares online do Sprint exibem o nome da conta e os resultados. Dados de visitante não são incorporados à conta; configurações do dispositivo, dados do editor e histórico local de Treinar permanecem locais.
    • Um cookie de sessão seguro, HttpOnly e particionado mantém o acesso à conta dentro do Discord. Lembrar de mim controla sua persistência. Sair encerra a sessão atual; alterações de credenciais revogam sessões anteriores. Registros de limite de tentativas ajudam a prevenir abuso.
    • Os dados da conta permanecem até sua exclusão ou um reset de testes informado. Excluir conta exige confirmação e senha e remove seus registros relacionados no servidor. Dados locais e registros dos provedores podem permanecer; entre em contato se precisar de ajuda. Nunca envie senhas ou códigos de recuperação por e-mail.

    Discord, hospedagem e dados de conexão

    • O SDK do Discord usa informações de abertura e da sessão para conectar o jogo ao Discord. O jogo não solicita autorização para identificar sua conta do Discord, não lê mensagens e não armazena identidades de usuários do Discord em um servidor do desenvolvedor.
    • Discord e Cloudflare entregam a Atividade e os arquivos do jogo. Eles podem processar dados de rede, como endereços IP, caminhos de requisições e horários, para operar e proteger seus serviços, conforme suas próprias políticas e práticas de retenção.
    • O servidor de desenvolvimento não mantém registros de requisições. O jogo não contém publicidade nem rastreamento de análise de uso e não envia automaticamente dados de partidas de visitante.
    • Compartilhar um desafio copia uma seed ou um link para você enviar. Exportações de perfis e do editor geram arquivos locais; importações são processadas no dispositivo. Se você enviar esses arquivos ou links a alguém, essa pessoa poderá ver seu conteúdo.

    Políticas dos serviços: Discord e Cloudflare. Convites para testar o aplicativo são gerenciados pelo Discord.

    Excluir dados e entrar em contato

    Você pode remover perfis de visitante pelo botão Excluir perfil do jogo. Outras configurações, dados do editor ou entradas do placar podem permanecer. Para remover todos os dados locais do jogo, limpe o armazenamento da Atividade ou do site pelos controles do navegador ou do Discord, quando disponíveis. Isso pode apagar seu progresso permanentemente.

    Para dúvidas sobre privacidade, ajuda para remover dados ou solicitações sobre informações enviadas diretamente ao desenvolvedor, escreva para proofoflight.contact@gmail.com. Usamos a correspondência para responder à sua solicitação e a mantemos pelo tempo necessário para atendê-la e cumprir obrigações aplicáveis. Você pode solicitar a exclusão dessa correspondência. Não envie senhas nem códigos de recuperação. Solicitações sobre dados mantidos pelos serviços também devem ser dirigidas ao serviço responsável.

    A vinculação de contas do Discord não está disponível. Esta política será atualizada antes de incluir novos usos de dados.