Sobre este site

Como este site foi construído

O HEXA TENANT apresenta plataformas SaaS multi-tenant. Esta página mostra a engenharia do próprio site, do desenho ao ar, com números medidos e sem expor nada que comprometa a segurança.

Medido onlinePageSpeed oficial, home, 02/10/2026
100Desempenho, celular
100Desempenho, computador
100Acessibilidade
100Boas práticas
100SEO

Arquitetura

O site que o visitante vê é estático e fica numa rede de distribuição. O painel é uma área separada, invisível para buscadores. O conteúdo é publicado em versões: o site só lê o que foi publicado e continua no ar mesmo se o banco ficar indisponível, usando uma cópia de reserva.

ADMINISTRAÇÃODADOSPÚBLICOAdministradorPainel protegidosenha + segundo fator (TOTP)Validar e publicarconteúdo sensível é barrado antes do arBanco de dadosregras de acesso em todas as tabelasVersõesimutáveis;reverter sem apagarAuditoriasem texto de conteúdoLeitura públicasó o que foi publicadopublicaVisitanteSite públicopáginas estáticas em CDN, HTTPSReserva estáticacópia embutida; usada se o banco falharlêMOTOR DE IMAGENSEnvioPNG, JPEG, WebPValidaçãopelos bytes;SVG recusado6 largurasWebP de 320 a 1440 pxArmazenamentooriginal privado;versões públicasNO NAVEGADORSó a versão necessáriasrcset + sizes; sem deslocamento de layoutENTREGA E OPERAÇÃOCódigo no GitversionadoVerificações automáticasbuild, trava de imagens, varredura de segredosDeploy contínuosó passa o que foi aprovadoSite no ardomínio próprio, HTTPS

Administração

  1. Administrador
  2. Painel protegidosenha + segundo fator (TOTP)
  3. Validar e publicarconteúdo sensível é barrado antes do ar

Dados

  1. Banco de dadosregras de acesso em todas as tabelas
  2. Versõesimutáveis; reverter sem apagar
  3. Auditoriasem texto de conteúdo
  4. Leitura públicasó o que foi publicado

Público

  1. Visitante
  2. Site públicopáginas estáticas em CDN, HTTPS
  3. Reserva estáticacópia embutida; usada se o banco falhar

Motor de imagens

  1. EnvioPNG, JPEG, WebP
  2. Validaçãopelos bytes; SVG recusado
  3. 6 largurasWebP de 320 a 1440 px
  4. Armazenamentooriginal privado; versões públicas

No navegador

  1. Só a versão necessáriasrcset + sizes; sem deslocamento de layout

Entrega e operação

  1. Código no Gitversionado
  2. Verificações automáticasbuild, trava de imagens, varredura de segredos
  3. Deploy contínuosó passa o que foi aprovado
  4. Site no ardomínio próprio, HTTPS
LeituraO visitante nunca consulta o banco de dados: lê páginas já prontas, entregues por uma rede de distribuição.
EscritaQuem grava passa por senha e segundo fator, e o banco confere a identidade e o nível de autenticação a cada gravação.
EntregaO código só chega ao ar depois de verificações automáticas, incluindo a trava contra imagem pesada e a varredura de segredos.

Segurança

Controles implementados, por categoria. Detalhes de configuração não são publicados.

1. Senhaalgo que você sabe2. Limitetentativas com bloqueio3. Códigoalgo que você tem4. Sessãonível 2 de autenticação5. Escritao banco confere o nívelCOMO O CÓDIGO NASCE482 916renova a cada 30 s
O aplicativo e o servidor calculam o mesmo código de 6 dígitos a partir de uma chave secreta combinada no cadastro e da hora atual. O código não viaja antes do uso e vale por poucos segundos. Padrão aberto: TOTP (RFC 6238).
SÓ COM A SENHA?Senha correta, sem códigoO painel barra e leva ao segundo fatorNada é gravado

Entrada em 5 passos

  1. 1. Senhaalgo que você sabe
  2. 2. Limitetentativas com bloqueio
  3. 3. Códigoalgo que você tem
  4. 4. Sessãonível 2 de autenticação
  5. 5. Escritao banco confere o nível

Como o código nasce

482 916renova a cada 30 s

O aplicativo e o servidor calculam o mesmo código de 6 dígitos a partir de uma chave secreta combinada no cadastro e da hora atual. O código não viaja antes do uso e vale por poucos segundos. Padrão aberto: TOTP (RFC 6238).

Só com a senha?

  1. Senha correta, sem código
  2. O painel barra e leva ao segundo fator
  3. Nada é gravado

Acesso ao painel

  • Senha e segundo fator por aplicativo, obrigatórios.
  • Limite de tentativas de login, com bloqueio temporário.
  • Sessão validada no servidor a cada acesso.

Banco de dados

  • Regras de acesso em todas as tabelas; a leitura pública vê só o que foi publicado.
  • Escrita só com a identidade do administrador e o segundo fator cumprido.
  • Chave de serviço restrita ao envio de imagens.

Publicação

  • Um único caminho de publicação, validado no próprio banco.
  • Versões imutáveis, com reversão.
  • Bloqueio automático de chaves, e-mails, endereços internos e termos proibidos.

Rastro de auditoria

  • Registro de login, publicação, reversão e exclusão.
  • O registro guarda identificadores e códigos de verificação, nunca o texto do conteúdo.
  • O registro não pode ser alterado nem apagado pelo painel.

Exposição pública

  • O painel responde como página inexistente até ser ativado, e fica fora dos buscadores.
  • Cabeçalhos de segurança e política de conteúdo no painel.
  • Site público sem cookies de rastreamento, sem analytics e sem scripts de terceiros.

Imagens

  • Validação pelos bytes do arquivo; SVG recusado.
  • Originais em área privada; só as versões otimizadas são públicas.
  • Toda imagem passa pelo mesmo motor, sem exceção.

Desempenho

Celular

Moto G Power emulado, rede 4G lenta simulada
100Desempenho
100Acessibilidade
100Boas práticas
100SEO
First Contentful Paintprimeiro conteúdo na tela
meta 1,8 s
0,8 s
Largest Contentful Paintmaior elemento visível
meta 2,5 s
1,7 s
Total Blocking Timebloqueio da interação
meta 200 ms
40 ms
Cumulative Layout Shiftestabilidade visual
meta 0,1
0
Speed Indexrapidez do preenchimento
meta 3,4 s
1,1 s

Computador

Área de trabalho emulada, rede personalizada
100Desempenho
100Acessibilidade
100Boas práticas
100SEO
First Contentful Paintprimeiro conteúdo na tela
meta 0,9 s
0,2 s
Largest Contentful Paintmaior elemento visível
meta 1,2 s
0,4 s
Total Blocking Timebloqueio da interação
meta 150 ms
0 ms
Cumulative Layout Shiftestabilidade visual
meta 0,1
0,027
Speed Indexrapidez do preenchimento
meta 1,3 s
0,5 s

Home do site. PageSpeed Insights oficial, 02/10/2026, mediana de 3 rodadas por dispositivo. A marca vertical em cada barra é o limite do Google para "bom". Como medimos

Motor de imagens

Medido com uma foto de 4000 × 3000 px e 7,2 MB: ela vira seis versões de 7 a 66 KB. Um celular baixa uma só.
320 px6,8 KB
480 px12,3 KB
640 px18,2 KB
800 px25,7 KB
960 px33,4 KB
1440 px65,9 KB
  • WebP, sem nunca ampliar a imagem; metadados removidos; cache de um ano.
  • O HTML informa largura, altura e tamanhos, sem deslocamento de layout.
  • Uma trava no deploy reprova imagem sem dimensões, acima de 150 KB ou fora da área pública.

Stack

InterfaceNext.js, React, TypeScript
Banco de dadosPostgres (Supabase)
Armazenamento de imagensSupabase Storage
HospedagemVercel, CDN, deploy contínuo via Git
Domínio e DNSRegistro.br
E-mailResend
FontesAuto-hospedadas (Sora e IBM Plex)

Do zero ao ar

01
Marca e identidadeSímbolo e logotipo desenhados em geometria própria, paleta de três cores e regras de contraste conferidas desde o início.
02
Layout antes do códigoTodas as telas, do site e do painel, desenhadas e aprovadas antes de qualquer implementação.
03
Site público estáticoPáginas geradas antes do acesso, sem scripts de terceiros, sem cookies de rastreamento e sem analytics.
04
Painel administrativoÁrea restrita para cadastrar e publicar plataformas, protegida por senha e segundo fator.
05
Banco de dados com regras de acessoAs regras de quem lê e de quem grava ficam no próprio banco e foram verificadas por testes automáticos.
06
Motor de imagensCada imagem enviada vira várias versões leves, e o navegador baixa só a do tamanho de que precisa.
07
Medição e revisãoNotas medidas em ferramenta oficial, auditoria do site em produção e correção do que apareceu.

Acessibilidade

  • Contraste conferido contra o padrão AA em cada par de cores.
  • Navegação por teclado com foco visível.
  • Texto alternativo obrigatório em toda imagem.
  • Respeita a preferência por menos movimento.
  • Teste automatizado com zero violações nas páginas públicas e no login.

Qualidade e processo

  • Fases com aprovação: cada etapa termina com medição e revisão antes da seguinte.
  • Mais de 100 verificações automáticas de segurança do banco e mais de 70 testes do painel.
  • Medição antes e depois de cada otimização.
  • Documentação contínua: cada decisão e cada sessão de trabalho ficam registradas num livro do projeto.

Decisões de engenharia

01
Painel invisível por padrãoO painel responde como página inexistente até ser ativado de propósito, o que reduz a superfície exposta.
02
Site com reservaSe o banco ficar indisponível, o site continua no ar com uma cópia estática do conteúdo.
03
Publicar por versõesCada publicação é uma versão imutável, e voltar atrás é mover um ponteiro, sem apagar nada.
04
Porta única para imagensToda imagem passa pelo mesmo motor, e uma trava automática barra o que não passou por ele.
05
Segurança verificada no bancoAs regras de acesso foram escritas e testadas no banco antes de existir qualquer tela do painel.

Precisa auditar ou construir um SaaS?

Ver como trabalho