Política de privacidade

1. Responsável pelo tratamento de dados e contato

O responsável pelo tratamento de dados pessoais no TypeSprint é:

Francazi Digital e.U.
Titular: Andreas Francazi
Nordbahnstraße 13/199
1020 Viena, Áustria

Forma jurídica: empresa individual registrada (eingetragenes Einzelunternehmen)
Número de registro comercial: FN 670145h
Tribunal de registro: Handelsgericht Wien (Tribunal Comercial de Viena)

Mais informações estão disponíveis em nosso Aviso legal.

Para dúvidas sobre proteção de dados e solicitações de acesso, correção ou exclusão dos seus dados, entre em contato conosco pelo e-mail contact@typesprint.io.

2. Dados que coletamos

2.1 Dados armazenados no seu navegador

Armazenamos os seguintes dados localmente no seu navegador (localStorage):

  • Preferência de idioma - O idioma que você selecionou (inglês, alemão, espanhol ou português)
  • Preferências do usuário - O nome de usuário que você escolheu (3-20 caracteres), o avatar e, se quiser, uma bandeira de país
  • Configurações de exibição - Modo claro ou escuro e, nas lições, o layout do seu teclado
  • Estado do teste - Qual teste está aberto em qual aba do navegador, para que você volte ao teste ao recarregar a página
  • Desafios aceitos - Sem conta: quais desafios você aceitou neste navegador e com qual resultado, para que cada pessoa aceite um desafio uma única vez

Esses dados permanecem no seu dispositivo e não são transmitidos aos nossos servidores, a menos que você entre em um teste, crie um ou salve um resultado.

2.2 Dados armazenados em nossos servidores

Quando você cria um teste de digitação ou entra em um, armazenamos:

  • Nome de usuário - O nome de exibição que você escolheu (de 3 a 20 caracteres)
  • Avatar - O seu avatar, montado a partir de peças predefinidas, e opcionalmente uma bandeira de país
  • Função - Se você entrou como jogador ou espectador
  • Resultados dos testes - Caracteres digitados, erros, pontos, velocidade (WPM e CPM), precisão, consistência e um registro segundo a segundo de caracteres, teclas pressionadas, erros e erros não corrigidos
  • Desafios - Se você transformar um resultado em um desafio ou aceitar um: quais resultados pertencem ao desafio, o idioma, quando foi criado, quantas vezes a página dele foi aberta e uma partida nele foi iniciada, e quando enviamos e-mails a quem o criou
  • Tipo de dispositivo - Se você digitou em um celular ou em um computador
  • Registros de data e hora - Quando você criou sua conta de usuário e suas sessões de teste

O nosso servidor recalcula cada resultado e verifica se é plausível. Resultados implausíveis são marcados e ficam fora dos rankings.

Se você optar por criar uma conta (opcional), armazenamos também:

  • Endereço de e-mail - Usado para login, redefinição de senha e, se você criar um desafio, para um e-mail quando a primeira pessoa o aceita (no máximo 5 por dia; cada e-mail e as suas configurações permitem desativá-los). Quando você cria a sua primeira turma, o domínio dele também é usado uma vez para contar novos professores (ver 2.4)
  • Senha - Armazenada como um hash unidirecional seguro (bcrypt), nunca em texto simples
  • Token de sessão - Um cookie HTTP-only que mantém você conectado (expira após 90 dias)
  • Modo de aprendizagem - Para cada tentativa de lição: a lição, o layout do teclado, as estrelas e a coroa, a duração, os caracteres digitados, os erros, as teclas pressionadas, as teclas erradas (também por tecla: quantas vezes apareceu e quantas vezes foi digitada errado na primeira tentativa), a velocidade, a precisão, a consistência, o tipo de dispositivo e o horário; para cada lição, o seu melhor resultado
  • Turmas - As turmas que você cria (nome, código de entrada, membros) e as turmas em que você entra
  • Escolas - Se a sua turma pertence a uma escola com licença para a versão escolar: o nome da escola, seus professores e a licença (período e número de vagas), e se você escolheu manter sua conta quando a licença terminou
  • Moedas e acessórios de avatar - O seu saldo de moedas virtuais (não é dinheiro real) e os acessórios de avatar que você comprou com elas
  • Configuração dos rankings - Se você quer aparecer nos rankings públicos
  • Configuração de e-mails de desafios - Se você quer receber e-mails sobre os seus desafios, e quando enviamos os das últimas 24 horas (para o limite diário)
  • Novos resultados de desafios - Quais resultados nos seus desafios você ainda não viu (no máximo 30, até abrir Meus desafios)

Se você entrar com Google ou Microsoft, armazenamos também:

  • Nome do provedor OAuth - Qual serviço você usou para entrar (Google ou Microsoft)
  • ID do provedor OAuth - Seu identificador único no provedor, usado para vincular sua conta
  • Endereço de e-mail - Obtido do provedor para criar sua conta

Não recebemos nem armazenamos sua senha do Google ou da Microsoft. A autenticação é feita inteiramente pelo respectivo provedor por meio do protocolo OAuth 2.0.

Usuários anônimos (sem conta) não precisam fornecer nenhuma informação de identificação pessoal além do nome de usuário escolhido.

Se você usar o formulário de contato ou de relatório de erro, armazenamos:

  • Nome, endereço de e-mail e mensagem - O que você informa no formulário
  • Detalhes técnicos - Seu idioma, navegador (user agent) e, nos relatórios de erro, o endereço da página e o tamanho da janela exibidos no formulário
  • Endereço IP com hash - Um hash pseudonimizado usado apenas para limitar o número de envios
  • ID de usuário - Se você estava conectado ao enviar a mensagem

As capturas de tela anexadas a um relatório de erro nos são enviadas apenas por e-mail e não são armazenadas em nosso banco de dados.

Se pedir uma licença de teste ou encomendar uma licença escolar com o formulário para escolas, guardamos:

  • A escola e a licença - Nome, morada, país e tipo da escola, número de alunos, período, idioma dos nossos e-mails, dados de faturação (destinatário, morada, número de encomenda, Leitweg-ID, número de IVA) e as suas observações
  • A pessoa de contacto - Nome, função na escola e endereço de e-mail
  • A aceitação - O momento em que os documentos da licença foram aceites, o nome e a função da pessoa que os aceitou e as versões dos documentos
  • Dados técnicos - O seu navegador (user agent) e um hash do seu endereço IP, usado apenas para limitar o número de envios

São dados da nossa relação comercial com a escola, não dados que tratamos em nome de uma escola ao abrigo de um acordo de tratamento de dados. Também os recebemos por e-mail.

2.3 Cookies

Usamos os seguintes cookies:

  • Cookie de sessão (ts_session) - Mantém você conectado à sua conta no typesprint.io e na versão para escolas edu.typesprint.io (HTTP-only, expira após 90 dias)
  • Cookies de OAuth (oauth_state, oauth_code_verifier) - Cookies temporários usados durante o login com Google/Microsoft para proteger o fluxo de autenticação (expiram após 10 minutos)

Esses cookies e o armazenamento no navegador descrito em 2.1 são estritamente necessários para funções que você usa, por isso não exigem consentimento e não mostramos nenhum banner de cookies. Não usamos cookies de rastreamento nem de publicidade.

2.4 Estatísticas de visitas

Para saber quantas pessoas encontram o TypeSprint e por quais links, nós mesmos contamos as visitas às nossas páginas públicas (como a página inicial, os rankings e os guias), sem cookies e sem nenhum serviço de análise. Quando você chega de outro site ou por um link, registramos:

  • Página de entrada - A página em que você chegou e o idioma dela
  • Origem - O domínio do site de onde você veio ou a fonte indicada no link
  • País - Determinado pelo nosso provedor de hospedagem a partir do seu endereço IP; o endereço em si não é armazenado
  • Tipo de dispositivo - Se você usa um celular ou um computador

Para contar cada visitante apenas uma vez por dia, calculamos um hash unidirecional do seu endereço IP, do identificador do seu navegador (user agent) e de um valor aleatório que muda todos os dias. O hash e o valor aleatório são excluídos ao fim de cada dia. Depois disso restam apenas os totais diários, que não permitem identificar ninguém. Nada é armazenado no seu navegador para isso.

Enquanto você está conectado, uma visita apenas soma um a um total diário, sem nenhum dos dados acima e sem o hash. Visitas às páginas de testes, lições e turmas e à versão escolar edu.typesprint.io não são contadas. A base legal é o nosso interesse legítimo em saber como o nosso site é encontrado (art. 6(1)(f) do RGPD).

Quando você cria a sua primeira turma, verificamos uma vez se o domínio do seu endereço de e-mail (a parte depois do @) pertence a uma escola ou organização que contatamos sobre o TypeSprint e somamos um a uma contagem semanal de novos professores, por campanha de contato ou sem correspondência. Só essas contagens semanais são guardadas, nunca o seu endereço, o domínio dele nem nada que as ligue à sua conta. Contas de uma escola com licença não são contadas. A base legal é o nosso interesse legítimo em saber se os nossos contatos com escolas valem a pena (art. 6(1)(f) do RGPD).

Quando alguém que ainda não aceitou um desafio abre a página dele ou inicia uma partida nele, somamos um a uma contagem desse desafio e a um total diário de todos os desafios. Nada sobre a pessoa é guardado, nem nada no navegador. A base legal é o nosso interesse legítimo em saber se os desafios chegam a alguém (art. 6(1)(f) do RGPD).

2.5 Verificação de nomes de usuário e dados técnicos

  • Verificação de nomes de usuário - Cada nome de usuário é verificado automaticamente ao ser escolhido ou alterado, por exemplo quanto a palavrões, códigos extremistas e nomes que parecem um endereço de e-mail, um número de telefone ou um link. A verificação acontece inteiramente dentro do TypeSprint; os nomes de usuário não são enviados a nenhum serviço externo. Os nomes recusados são armazenados por 30 dias junto com o motivo, o horário e, quando uma conta é renomeada, o ID do usuário, para que possamos corrigir decisões erradas. Nos nomes recusados como número de telefone ou outro dado pessoal, cada número é mascarado antes do armazenamento, exceto os dois primeiros dígitos.
  • Registros do servidor - O nosso provedor de hospedagem registra o seu endereço IP e o identificador do seu navegador (user agent) em registros do servidor, que são excluídos após um dia.
  • Relatórios de erro - Se uma página encontrar um erro no seu navegador, ela nos envia um breve relatório técnico com o identificador do seu navegador e, se você estiver conectado, o seu ID de usuário. Ele aparece apenas nos registros do servidor.

2.6 Quem pode ver os seus dados

  • Os outros participantes de um teste veem o seu nome de usuário, avatar, bandeira, progresso ao vivo e resultado. A página de resultados de um teste pode ser aberta por qualquer pessoa que tenha o link.
  • Qualquer pessoa com o link de um desafio vê o nome de usuário, o avatar, a bandeira e o resultado de todos que o aceitaram, e disputa contra uma reprodução do progresso segundo a segundo deles.
  • Qualquer pessoa pode ver o seu nome de usuário, avatar, bandeira e resultado nos rankings públicos, se um resultado for bom o suficiente, e um cartão de perfil com o seu melhor resultado por duração de teste e o seu total de estrelas nas lições. Você pode desativar isso nas suas configurações. Alunos de uma escola com licença só aparecem lá se concordarem; eles são perguntados com uma prévia na primeira vez que um resultado entraria em um ranking.
  • Os professores de uma turma veem o nome de usuário, o avatar, a bandeira, o progresso e cada tentativa de lição dos membros da turma, e as teclas que cada um erra com mais frequência. O titular de uma turma (o professor que a criou) pode adicionar outros professores com um link (à turma de uma escola só professores da mesma escola), que então veem o mesmo; uma turma pode ter até 10 professores. Se o titular sair da turma ou excluir a conta, ela passa para o professor que entrou primeiro.
  • Os membros da mesma turma veem o nome de usuário, o avatar, a bandeira e o progresso resumido uns dos outros (lições concluídas, estrelas e coroas, velocidade e precisão médias, última atividade).
  • Professores de uma escola com licença veem o nome da escola, o período da licença e quantas das suas vagas estão ocupadas, mas não quem são os outros professores.

Os endereços de e-mail nunca são mostrados a outros usuários, nem mesmo aos professores. Se você não quiser ser reconhecido, escolha um nome de usuário que não contenha o seu nome real.

3. Por que coletamos dados

Armazenamento local: Essencial para as funcionalidades básicas:

  • Lembrar seu idioma preferido entre visitas
  • Preencher automaticamente seu nome de usuário e avatar ao entrar em testes

Prestação do TypeSprint: realizar testes de digitação e desafios, salvar e exibir resultados e rankings, a sua conta, o seu progresso de aprendizagem, as turmas, a redefinição de senha e os e-mails sobre os seus desafios. A base legal é a prestação do serviço que você utiliza (art. 6(1)(b) do RGPD).

Segurança e rankings justos: a verificação de plausibilidade dos resultados, a verificação de nomes de usuário, os registros do servidor, os relatórios de erro e o limite de envios do formulário de contato. A base legal é o nosso interesse legítimo em um serviço seguro com resultados justos (art. 6(1)(f) do RGPD).

Contato e relatórios de erro: para responder à sua mensagem (art. 6(1)(b) do RGPD se ela disser respeito à sua conta; caso contrário, art. 6(1)(f) do RGPD).

Licenças escolares: Para responder a um pedido de licença de teste ou a uma encomenda, celebrar e executar a licença com a escola e faturá-la (art. 6.º, n.º 1, alínea b) do RGPD perante a escola; para a sua pessoa de contacto, o nosso interesse legítimo em tratar com a escola, art. 6.º, n.º 1, alínea f) do RGPD), e para conservar os registos comerciais exigidos por lei (art. 6.º, n.º 1, alínea c) do RGPD).

Estatísticas de visitas: Mostram quantas pessoas visitam o TypeSprint e quais sites e mecanismos de busca as trazem até aqui, para sabermos quais páginas e parcerias valem o nosso esforço.

4. Retenção de dados

Armazenamento local: Os dados permanecem no seu navegador até que você limpe os dados de navegação ou até que nós os atualizemos/removamos de forma programática.

Resultados dos testes: são mantidos para preservar o histórico de testes e os rankings, incluindo os resultados de jogadores sem conta. Testes que nunca são concluídos são excluídos após 11 horas, junto com as entradas dos jogadores que participaram sem conta. Como não sabemos quem está por trás de um nome de usuário, jogadores sem conta podem pedir a exclusão de um resultado enviando-nos o link do teste e o seu nome de usuário.

Desafios: Um desafio é mantido enquanto existir o resultado a partir do qual foi criado, então excluir a conta de quem o criou também o exclui. Os resultados que pertencem a ele são mantidos como os outros resultados de testes.

Contas: são mantidas até que você exclua a sua conta nas configurações ou nos peça para excluí-la. Excluir uma conta remove todos os seus dados: a própria conta, o progresso de aprendizagem e as tentativas de lição, as moedas e os acessórios de avatar, as turmas que você criou, a sua participação em turmas, os seus resultados de testes e os testes que você criou, incluindo os resultados dos outros participantes neles.

Escolas: Uma escola, sua licença, sua lista de professores e suas turmas são mantidas enquanto o acordo dela estiver em vigor, incluindo o período de carência após a licença, e excluídas em até 30 dias após o seu término, junto com as contas dos seus professores e dos membros das turmas. Durante o período de carência, eles podem escolher manter a conta como conta privada, a menos que a escola tenha excluído essa possibilidade: a conta mantém seus resultados, moedas e acessórios de avatar, sem a escola e as suas turmas, e passa a seguir esta política de privacidade. Uma conta que já existia antes da primeira licença da escola nunca é excluída dessa forma: ela apenas perde o vínculo com a escola e as suas turmas e volta a seguir esta política de privacidade.

Exclusão automática: sessões após 90 dias, links de redefinição de senha após uma hora, cadastros não concluídos via Google ou Microsoft após 10 minutos, nomes de usuário recusados após 30 dias e registros do servidor após um dia.

Backups: o banco de dados é copiado diariamente e os oito backups mais recentes são mantidos, portanto os dados excluídos permanecem nos backups por no máximo oito dias.

Mensagens de contato e de relatório de erro: Excluídas automaticamente do nosso banco de dados após 90 dias. A cópia por e-mail permanece em nossa caixa de correio até que sua solicitação tenha sido atendida.

Pedidos de licença: Um pedido que dá origem a uma licença, incluindo uma licença de teste gratuita, é o registo de um contrato e é conservado até ao fim do sétimo ano após o seu tratamento (direito fiscal e comercial austríaco). Os outros pedidos são apagados um ano após a sua chegada ou recusa.

Estatísticas de visitas: Os hashes diários são excluídos ao fim de cada dia. Os totais diários não contêm dados pessoais e são mantidos.

5. Serviços de terceiros

Usamos os seguintes serviços de terceiros:

  • Google - Serve para o login social opcional (OAuth 2.0). Quando você entra com o Google, recebemos seu endereço de e-mail e um identificador único de usuário. Sujeito à Política de privacidade do Google.
  • Microsoft - Serve para o login social opcional (OAuth 2.0 via Microsoft Entra ID). Quando você entra com a Microsoft, recebemos seu endereço de e-mail e um identificador único de usuário. Sujeito à Declaração de privacidade da Microsoft.
  • Vercel - Hospeda o site (funções de servidor em Dublin, UE; as páginas são entregues a partir do local mais próximo da sua rede). A Vercel processa o seu endereço IP para entregar as páginas, incluindo registros de servidor de curta duração, e nos informa o seu país para as estatísticas de visitas. Sujeito à Política de privacidade da Vercel.
  • MongoDB Atlas - Serviço de banco de dados na nuvem para armazenar os dados dos testes e dos usuários, incluindo os backups, na Irlanda (UE). Sujeito à Política de privacidade da MongoDB.
  • Pusher - Serviço de comunicação em tempo real para os testes multijogador, operado pela MessageBird UK Limited, com servidores na Irlanda (UE). Recebe o nome de usuário, o avatar, a bandeira, a função, o tipo de dispositivo e o progresso ao vivo dos participantes. Sujeito à Política de privacidade da Pusher.
  • Hetzner - A Hetzner Online GmbH (Alemanha) envia os nossos e-mails de redefinição de senha e de desafios e hospeda a nossa caixa de correio contact@typesprint.io. Sujeito à Política de privacidade da Hetzner.

Os nossos servidores ficam na UE. A Vercel e a MongoDB pertencem a empresas sediadas nos Estados Unidos, por isso um acesso a partir dos EUA não pode ser totalmente excluído; essas transferências são protegidas pelo Quadro de Privacidade de Dados UE-EUA e por cláusulas contratuais-padrão. Para o operador da Pusher no Reino Unido, aplica-se a decisão de adequação da UE para o Reino Unido.

6. Uso por escolas

Uma escola com licença escolar (inclusive uma licença de teste gratuita) celebra conosco um acordo de tratamento de dados nos termos do art. 28 do RGPD. Para as contas, lições, turmas e testes dos seus alunos e professores, a escola passa a ser a responsável pelo tratamento, e nós tratamos esses dados apenas em nome dela e de acordo com as suas instruções, exceto estatísticas de uso anônimas, como totais diários, que o acordo permite. O acordo prevalece sobre esta política de privacidade.

Com uma licença, uma escola usa a versão escolar em edu.typesprint.io, onde apenas contas de escolas licenciadas podem usar o TypeSprint. Ela compartilha contas e dados com typesprint.io, não conta visitas e não carrega no navegador código de terceiros; a única conexão externa é o serviço em tempo real para os testes (Pusher). Os alunos da escola só aparecem nos rankings públicos se concordarem.

Alunos, pais e professores devem dirigir as suas perguntas sobre a utilização na sua escola à escola; os pedidos que nos chegam são reencaminhados para ela. As escolas podem pedir uma licença de teste ou encomendar uma licença com o formulário para escolas; o acordo de tratamento de dados faz parte dela.

7. Seus direitos segundo o RGPD

Se você estiver no Espaço Econômico Europeu (EEE), você tem os seguintes direitos:

  • Direito de acesso - Solicitar uma cópia dos dados pessoais que temos sobre você
  • Direito de retificação - Solicitar a correção de dados incorretos
  • Direito à eliminação - Solicitar a exclusão dos seus dados ("direito ao esquecimento")
  • Direito à limitação - Solicitar que limitemos o uso dos seus dados
  • Direito à portabilidade dos dados - Solicitar seus dados em um formato legível por máquina
  • Direito de oposição - Opor-se ao tratamento dos seus dados pessoais
  • Direito de retirar o consentimento - Retirar o consentimento para o tratamento de dados a qualquer momento

Você pode excluir a sua conta a qualquer momento nas configurações. Para exercer qualquer um desses direitos, entre em contato conosco pelo e-mail contact@typesprint.io. Responderemos em até 30 dias.

Você também tem o direito de apresentar uma reclamação à autoridade de proteção de dados local se acreditar que não tratamos seus dados de forma adequada.

8. Segurança dos dados

Adotamos medidas técnicas e organizacionais adequadas para proteger seus dados contra acesso, alteração, divulgação ou destruição não autorizados:

  • Criptografia HTTPS em todas as transmissões de dados
  • Hospedagem segura do banco de dados no MongoDB Atlas
  • Senhas armazenadas como hashes unidirecionais, nunca em texto simples
  • OAuth 2.0 com PKCE para fluxos seguros de login social
  • Atualizações de segurança e monitoramento regulares
  • Controles de acesso e mecanismos de autenticação
  • Verificação de permissões no servidor: os professores só veem as próprias turmas
  • Banco de dados e backups criptografados em repouso

No entanto, nenhum método de transmissão pela internet é 100% seguro. Não podemos garantir a segurança absoluta dos seus dados.

9. Alterações nesta política

Podemos atualizar esta política de privacidade de tempos em tempos. As alterações serão publicadas nesta página com uma data de revisão atualizada. Continuar usando o TypeSprint após as alterações significa aceitar a política atualizada.

Última atualização: novembro de 2026