Política de Privacidade
Esta Política de Privacidade descreve como o Leo Creations (leocreations.com.br) coleta, utiliza e protege as informações dos usuários ao acessar nossos serviços.
1. Informações coletadas
Podemos coletar as seguintes categorias de informações:
- Dados de conta: conforme a forma de login escolhida — Google (nome, e-mail, foto), e-mail e senha (a senha é guardada pelo Firebase com hash scrypt salgado, no servidor — nunca a vemos nem armazenamos em texto), link mágico no e-mail (sem senha), ou telefone (guardamos o número para autenticar; o SMS de verificação pode gerar tarifa da sua operadora). Em alguns jogos, uma sessão anônima temporária pode ser criada só para participar da partida (sem dados pessoais).
- Dados de uso: pontuações, progresso e preferências dentro dos projetos (ex.: RNG 3D, NeonBattle, TV Finder favoritos).
- Conteúdo do usuário (eBits): projetos de edição de vídeo (cortes, configurações de facecam, color grade, música selecionada) e, opcionalmente, o arquivo de vídeo completo. Todos esses dados são criptografados antes do upload com AES-GCM 256-bit usando uma chave derivada da sua conta Google + segredo local. Servidor não tem acesso ao conteúdo.
- Dados de assinatura: seu plano ativo (Free / Pro / Max), data de início e renovação, e contadores mensais: AI Points consumidos (1 AI Point = 1 ação de IA executada — pedidos compostos cobram proporcionalmente), Cubes usados (1 Cube = 10 MB de storage), Smart Cuts Pro usados, downloads do mês. Esses dados ficam em
plans/{seu-uid}eai_usage/{seu-uid}/months/<mês>no Firestore — só você e o admin os enxergam. - Uso de IA (TV Finder, eBits, RNG 3D, Bolão da Copa): consultas enviadas pelos recursos de IA (recomendação/filtro/agente de TV, Smart Cuts Pro em vídeo, geração de missões diárias do RNG 3D e, no Bolão, resumo/sugestão/curiosidade do jogo e análise do ranking) são processadas via Cloud Functions do Google. O texto da consulta — no Bolão, dados do jogo e do seu grupo (times, placares, palpites e classificação) — vai pro Google Gemini através de chaves de API armazenadas em Secret Manager (jamais expostas ao navegador). NÃO armazenamos o conteúdo das consultas após a resposta; só contabilizamos número de chamadas e total de tokens (para quota mensal e custo).
- Rastreio de preços de TV: se você usar a feature "Rastrear preço", armazenamos em
tv_tracking/{seu-uid}/items/o id da TV, último preço observado e seu preço-alvo. A cada 3 horas uma Cloud Function consulta o preço público via API do Mercado Livre (gratuita, sem cookies seus) e, quando o preço cair pra seu alvo, cria notificação emtv_alerts/{seu-uid}/items/. Otimizações: dedup por produto, batches paralelos, e o servidor só persiste no Firestore quando o preço muda. Você pode parar o rastreio a qualquer momento. - Notificações push (FCM — Firebase Cloud Messaging): se você autorizar, registramos o token FCM do seu dispositivo em
fcm_tokens/{seu-uid}.tokense enviamos notificações push mesmo com o site fechado viafirebase-messaging-sw.js(service worker). As permissões podem ser revogadas a qualquer momento nas configurações do navegador. Tokens inválidos (device desinstalado) são limpos automaticamente. - Pedidos de cancelamento de assinatura: armazenamos em
cancellation_requests/{seu-uid}a data e plano que você tinha quando solicitou cancelamento, para o admin processar. - Bolão da Família (Copa): se você usar o Bolão, guardamos em
bolao_groups/{código}/members/{seu-uid}o seu nome de exibição, avatar (emoji), seleção do coração, palpite de campeão e seus palpites de placares, além do grupo de que você participa. Esses dados ficam visíveis para os outros membros do mesmo grupo familiar (é a graça do bolão). Cada pessoa só escreve os próprios palpites; você pode sair do grupo ou apagar seus dados a qualquer momento. Sem dinheiro real — nenhum dado financeiro é coletado. Os jogos e placares vêm de uma fonte pública de dados esportivos (TheSportsDB): nós apenas lemos resultados públicos das partidas — nenhum dado pessoal seu é enviado a ela. Se você ativar as notificações do Bolão (por aparelho), guardamos embolao_devices/{id-do-aparelho}a inscrição de push do navegador e quais categorias você ligou (lembrete de palpite, começo do jogo, gols ao vivo, resultado e — se você criou um grupo — movimentações). Isso permite enviar os avisos via Cloud Function mesmo com o site fechado. Cada aviso vai só pro seu próprio aparelho; ninguém notifica ninguém, e você desliga cada categoria quando quiser. - Dados técnicos: endereço IP e logs básicos de erro (retenção máxima de 30 dias).
2. Como usamos as informações
- Autenticar e identificar o usuário dentro dos projetos.
- Salvar progresso e pontuações no leaderboard global.
- Salvar e sincronizar projetos do eBits entre dispositivos (sempre criptografados).
- Sincronizar favoritos do TV Finder.
- Controle de assinatura e quota: verificar seu plano vigente e cobrar créditos de IA do seu pacote mensal (resetam dia 1).
- Processamento IA: enviar consultas para o Google Gemini exclusivamente para retornar recomendações/cortes/filtros e, no Bolão da Copa, resumos/sugestões/curiosidades e análise do ranking. Ao usar a IA do Bolão, enviamos ao provedor apenas dados do jogo e do seu grupo (times, placares, palpites e a classificação/pontuação) — o necessário pra gerar a resposta. As respostas são geradas por IA e podem conter erros. Chaves de API ficam em Secret Manager do Google Cloud — nunca expostas ao seu navegador.
- Dados esportivos (Bolão da Copa): jogos, placares e o minuto ao vivo vêm de fontes públicas (TheSportsDB e API-Football). Nenhum dado pessoal seu é enviado a elas — buscamos apenas dados das partidas. As chaves de API ficam no Secret Manager, nunca no seu navegador.
- Melhorar a experiência e corrigir problemas técnicos.
Não vendemos, alugamos nem compartilhamos dados pessoais com terceiros para fins comerciais. Pagamentos (quando integrados) serão processados por gateway de terceiros (ex.: Mercado Pago) que terão sua própria política de privacidade — não armazenamos dados de cartão.
3. Armazenamento e segurança
Os dados são armazenados no Firebase Firestore e Firebase Storage (Google Cloud), com regras de segurança que garantem que cada usuário acessa apenas seus próprios dados. Utilizamos HTTPS em todas as comunicações.
Criptografia zero-knowledge (eBits): projetos do eBits e vídeos enviados à nuvem são criptografados no seu navegador com AES-GCM 256-bit antes de serem enviados. A chave é derivada de:
- UID + e-mail + nome da sua conta Google (estáveis)
- Segredo local de 32 bytes armazenado no IndexedDB do seu dispositivo (não sai do device)
- Salt aleatório de 32 bytes por save (gerado pelo navegador)
- 500.000 iterações PBKDF2 + SHA-256 (recomendação OWASP 2023)
O servidor (Firebase) recebe apenas o blob criptografado opaco — sem acesso à chave, é matematicamente impossível descriptografar os dados.
Preferências do TV Finder (encriptadas): as respostas do quiz que você dá no TV Finder são salvas no seu navegador (localStorage) criptografadas com AES-GCM 256-bit. A chave é derivada do seu UID Google + salt fixo do app via PBKDF2 (100k iterações). O Firebase nunca recebe esses dados — eles ficam só no seu dispositivo. A IA do TV Finder só consegue ler quando você ativa explicitamente a opção "IA pode ler minhas preferências" em /settings (padrão: desativado). Mesmo assim, os dados são decriptados na hora do pedido, enviados via HTTPS pra Cloud Function do Gemini, usados em memória pra responder, e não são persistidos no servidor. Se você desativa a opção, a IA pede consentimento dentro do site (sem alert nativo) toda vez que precisar das prefs — você decide caso a caso.
4. Cookies e armazenamento local
Usamos apenas armazenamento e cookies essenciais (login e segurança). Não há rastreamento, publicidade ou perfilamento. Detalhes completos na nossa Política de Cookies. Em resumo:
- localStorage: preferências de sessão, tema, idioma, consentimento de cookies, configurações de cada projeto (ex.: no Bolão, o tema escolhido e o código do seu grupo ativo, pra abrir direto nele).
- IndexedDB: (a) sessão do Firebase Auth; (b) segredo local de 32 bytes pra criptografia eBits; (c) cache do vídeo importado pra restaurar projeto sem re-upload.
- sessionStorage: estado temporário de autenticação OAuth.
- Cookies do Google reCAPTCHA: definidos pelo Google ao usar o reCAPTCHA, para distinguir humanos de bots.
Mostramos um aviso de cookies no rodapé na primeira visita; ao continuar você concorda com esses cookies essenciais.
5. Proteção anti-bot e antifraude (reCAPTCHA + App Check)
Pra evitar bots, abuso e custos indevidos, usamos o reCAPTCHA do Google em duas camadas, além de limites próprios:
- reCAPTCHA v3 (invisível) via Firebase App Check: roda em background em todas as páginas e protege o banco de dados, as funções e o storage. Não exibe quebra-cabeças.
- reCAPTCHA v2 ("Não sou um robô") no login por e-mail: você marca uma caixa que analisa seu comportamento/movimento. Pra humano normal é só um clique; o desafio de imagens só aparece se o comportamento parecer de robô.
- Limite de criação de contas por IP: para impedir criação em massa, limitamos o número de contas novas por endereço IP por dia (guardamos só um contador por IP/dia, sem associar a você).
- Proteção de SMS: o login por telefone tem limites diários/mensais e pode ser pausado, para evitar abuso (SMS pumping) e proteger o orçamento.
- O Google coleta dados técnicos (dispositivo, comportamento do mouse, IP) exclusivamente pra calcular se você é humano; só recebemos um token de validação, não dados identificáveis. Não usamos o reCAPTCHA pra rastrear você entre sites. Política do Google: policies.google.com/privacy.
6. Formas de login (Google, e-mail, link, telefone)
- Google (OAuth): autoriza apenas os escopos
openid email profile. Não acessamos senhas, Gmail, agenda, Drive, fotos nem qualquer outro dado do Google. - E-mail e senha: a senha é processada e armazenada com hash forte (scrypt, salgado) pelo Firebase, no servidor. Nunca a vemos nem guardamos legível.
- Link mágico (sem senha): enviamos um link de acesso único ao seu e-mail; ele expira após o uso.
- Telefone (SMS): guardamos seu número para autenticar. O código vai por SMS e pode haver cobrança da operadora.
- A sessão é renovada automaticamente pra mantê-lo logado; você pode sair a qualquer momento.
7. Direitos sob a LGPD (Lei 13.709/2018)
Como titular dos dados, você tem direito a:
- Confirmação e acesso: saber se temos dados seus e quais são (artigo 18, I e II).
- Correção: corrigir dados incompletos ou inexatos (artigo 18, III).
- Anonimização ou bloqueio de dados desnecessários (artigo 18, IV).
- Portabilidade: receber seus dados em formato estruturado (mediante solicitação por e-mail).
- Exclusão: apagar todos os dados pessoais a qualquer momento.
- Revogação de consentimento: parar de usar o site a qualquer momento sem ônus.
- Reclamação à ANPD: www.gov.br/anpd.
Como exercer:
- Apagar saves individuais: botão 🗑 na lista de projetos do app.
- Apagar dados locais: Configurações → Conta → "Limpar dados locais".
- Exclusão completa da conta: Configurações → "Deletar conta" (ou por e-mail). Removemos Auth + Firestore + Storage em até 7 dias.
8. Retenção de dados
Os dados são mantidos enquanto a conta estiver ativa. Após exclusão, removemos tudo em até 7 dias úteis (exceto logs anonimizados retidos por até 30 dias pra detecção de fraude, conforme artigo 16, II da LGPD).
9. Banimento
Em caso de violação dos Termos de Serviço, podemos suspender (banir) ou excluir contas. Banimento desabilita o login mas preserva os dados pra eventual desbanimento. Exclusão é irreversível. Detalhes em /terms, seção 8.1.
10. Menores de idade
Nossos serviços não são direcionados a menores de 13 anos. Não coletamos intencionalmente dados de crianças. Usuários entre 13 e 17 anos devem ter consentimento dos responsáveis. Assinaturas pagas só por maiores de 18 anos.
11. Transferência internacional de dados
Os dados ficam armazenados em data centers do Google Cloud predominantemente nos EUA e na União Europeia, sob padrões SOC 2 / ISO 27001 e Cláusulas Contratuais-Padrão (SCCs) da UE.
12. Alterações nesta política
Podemos atualizar esta política periodicamente. Alterações significativas serão comunicadas por e-mail e/ou banner no Hub. A data de "Última atualização" sempre reflete a versão atual.
Contato
Dúvidas sobre privacidade? Entre em contato: leo.lucchesi12@gmail.com