Rascunho — aguardando revisão jurídica. Esta página é um rascunho escrito a partir do código da aplicação e ainda não foi revisada por um advogado nem por um profissional de segurança. Ela pode mudar antes de ser finalizada.

Senhas

As senhas das contas nunca são guardadas como texto. Elas são salvas como hashes unidirecionais com salt, criados pela função password_hash() do PHP com o algoritmo padrão, e verificadas com password_verify() no login. A sessão é renovada com um novo identificador após o login.

Chaves API

As chaves de API são guardadas como hashes SHA-256 com chave (HMAC) e servem apenas para verificar requisições. Uma chave pode ser rotacionada pelo painel, e cópias legíveis antigas são apagadas. Mantenha sua chave privada, pois quem a tiver pode agir como você pela API.

Formulários e sessões

Ações que alteram a conta, como atualizar configurações ou excluir vídeos, exigem um token CSRF ligado à sessão, comparado em tempo constante. O cookie de sessão é marcado como HttpOnly e SameSite=Lax, então scripts da página não conseguem lê-lo e ele não é enviado na maioria das requisições entre sites.

Onde os arquivos ficam

Os vídeos enviados e seus arquivos de streaming processados ficam em uma pasta de armazenamento privada, que o servidor web bloqueia contra acesso direto. Eles são entregues pela aplicação, que verifica a requisição antes. Os arquivos saem com cabeçalhos de cache que os marcam como privados, para que caches compartilhados não os guardem.

Reprodução e downloads

Os players recebem sessões de reprodução de curta duração em vez de endereços permanentes de arquivo, com validade padrão de 15 minutos. As solicitações de download são registradas com uma versão em hash do IP de quem pede, e não com o endereço em si, e o mesmo vale para a contagem de views.

Vídeos privados e públicos

Cada vídeo pode ser público ou privado, e você pode tornar vídeos selecionados privados pelo painel. Vídeos privados não aparecem nas páginas públicas de pastas. Os moderadores do site ainda podem abrir qualquer arquivo ao tratar denúncias de abuso ou de direitos autorais.

Limites de uso

A API HTTP aplica limites por conta de requisições por hora, requisições por dia e envios por dia (por padrão 250, 5.000 e 25) e responde com status 429 e um cabeçalho Retry-After quando um limite é atingido. Envios de visitantes pela página inicial são limitados a dez contas temporárias por endereço de rede por dia. Formulários públicos, como o de denúncia de abuso, têm limites próprios.

Excluindo seus dados

Você pode excluir vídeos pelo painel. Excluir um vídeo remove os arquivos armazenados e os registros dele no banco de dados. A exclusão da conta é tratada como solicitação pela página de contato, e a política de privacidade descreve a retenção para backups e obrigações legais.

Conexões criptografadas

O site detecta quando é servido por HTTPS e, nesse caso, gera links seguros. Forçar todo acesso para HTTPS e as políticas de navegador correspondentes são configurados no servidor web, não no código da aplicação, então confira sempre se a barra de endereço mostra uma conexão segura antes de entrar na conta.

Como relatar uma vulnerabilidade

Se encontrar um problema de segurança, avise-nos pela página de contato com detalhes suficientes para reproduzi-lo. Não acesse dados de outras pessoas nem prejudique o serviço durante os testes. Para denunciar conteúdo abusivo, use Denunciar abuso.

Perguntas frequentes

Não. As senhas são guardadas apenas como hashes unidirecionais com salt, e não conseguimos lê-las de volta.

Vídeos privados ficam ocultos nas páginas públicas de pastas. Só quem tem acesso e os moderadores do site que tratam denúncias podem abri-los.

Sim. Cada conta tem limites por hora, por dia e de envios na API, e uma resposta 429 avisa quando um limite é atingido.

Exclua um vídeo no painel e os arquivos e registros dele são removidos. Para excluir a conta, use a página de contato.