Voltar ao portfólio
Coleta de Campo

Cold Chain Insights

Insights da cadeia do frio com relatórios e dashboards.

Abrir app Abrir no Lovable

Descrição completa

Insights da cadeia do frio com relatórios e dashboards.

Stack atual: DB, PDF. Já está publicado e acessível via URL pública.

Estágio atual: MVP (55% de maturidade estimada). O foco do próximo ciclo deve ser fechar os gaps de segurança listados ao lado, antes de abrir para clientes externos.

Diagnóstico desse app

4 OK1 Atenção1 Crítico

Visão por área com a evidência usada para classificar cada status e a ação concreta para mudar de patamar.

Publicação

OK

Evidência: Publicado em chill-insight-pilot.lovable.app. Roda em subdomínio *.lovable.app.

Recomendação: Para clientes pagantes, mover para domínio próprio em Settings → Domains e revisar política de cache.

GitHub / código-fonte

Crítico

Evidência: Repositório GitHub não está conectado — código vive apenas dentro do Lovable.

Recomendação: Menu (+) → GitHub → Connect project. Habilita backup, code review e CI/CD próprio.

Autenticação

OK

Evidência: App não exige login — sem superfície de auth a proteger.

Recomendação: Se um dia exigir conta, ativar email/senha + Google e já incluir MFA + HIBP.

Banco de dados & RLS

OK

Evidência: 4/4 controles aplicados. Pendentes: nenhum.

Recomendação: Rodar o scanner de segurança do Cloud mensalmente.

Uploads (Storage / PDF)

OK

Evidência: 3/3 controles. Pendentes: nenhum.

Recomendação: Auditar buckets a cada release e renovar signed URLs com janela curta.

Baseline (logs, SEO, validação)

Atenção

Evidência: 4/5 fundamentos no lugar. Pendentes: Logs estruturados + Sentry no client e server.

Recomendação: Instalar Sentry no client e nas server functions; capturar erros com user.id e contexto da rota.

Riscos e recomendações prioritárias

  1. 1
    MédioBaseline (todo app deveria ter)

    Logs estruturados + Sentry no client e server

    Por quê: Sem observabilidade, você descobre o incidente pelo cliente reclamando.

    Ação: Instalar Sentry no client e nas server functions; capturar erros com user.id e contexto da rota.

  2. 2
    MédioEspecíficos deste app

    Auth com MFA + HIBP

    Por quê: Conta sequestrada vira porta de entrada para todo o resto.

    Ação: Cloud → Users → Auth Settings → habilitar MFA (TOTP) e exigir para roles admin.

  3. 3
    MédioEspecíficos deste app

    Revisão de RLS por tabela

    Por quê: Sem RLS/GRANT correto, qualquer usuário pode ler ou alterar dados de outros.

    Ação: Para cada tabela em public.*: ALTER TABLE … ENABLE ROW LEVEL SECURITY + policy escrita com auth.uid().

  4. 4
    MédioEspecíficos deste app

    Rate limit nas APIs

    Por quê: Sem rate limit, um único usuário derruba ou inflaciona o custo do serviço.

    Ação: Middleware por IP+user_id (ex: 60 req/min) com bucket no Redis ou tabela com TTL.

  5. 5
    MédioEspecíficos deste app

    Validação de leitura de sensores

    Por quê: Entrada não validada é o vetor mais comum de injeção e bug em produção.

    Ação: Em toda server function: .inputValidator((d) => SchemaZod.parse(d)) — não confiar no client.

  6. 6
    MédioEspecíficos deste app

    Alertas configuráveis

    Por quê: Item pendente do checklist — endereçar antes de abrir para clientes externos.

    Ação: Implementar: Alertas configuráveis.

Checklist completo

11/17 (65%)

Cada item traz status (OK · Atenção · Crítico) e, quando pendente, a recomendação específica de correção.

Baseline (todo app deveria ter)

4/5 OK
  • Validação Zod em toda server functionOK
  • Rate limit por usuário/IPOK
  • Logs estruturados + Sentry no client e serverAtenção

    Como corrigir: Instalar Sentry no client e nas server functions; capturar erros com user.id e contexto da rota.

  • SEO mínimo (head/meta + OG) por rota públicaOK
  • Páginas de Privacidade e TermosOK

Banco de dados & RLS

4/4 OK
  • RLS habilitada em todas as tabelas public.*OK
  • GRANTs explícitos por papelOK
  • Policies revisadas com testesOK
  • Backups com plano de restore validadoOK

Upload e processamento de PDF

3/3 OK
  • Validar tipo/tamanho antes de processarOK
  • Sanitizar conteúdo extraídoOK
  • Antivírus / scan de malwareOK

Específicos deste app

0/5 OK
  • Auth com MFA + HIBPAtenção

    Como corrigir: Cloud → Users → Auth Settings → habilitar MFA (TOTP) e exigir para roles admin.

  • Revisão de RLS por tabelaAtenção

    Como corrigir: Para cada tabela em public.*: ALTER TABLE … ENABLE ROW LEVEL SECURITY + policy escrita com auth.uid().

  • Rate limit nas APIsAtenção

    Como corrigir: Middleware por IP+user_id (ex: 60 req/min) com bucket no Redis ou tabela com TTL.

  • Validação de leitura de sensoresAtenção

    Como corrigir: Em toda server function: .inputValidator((d) => SchemaZod.parse(d)) — não confiar no client.

  • Alertas configuráveisAtenção

    Como corrigir: Implementar: Alertas configuráveis.

Histórico de mudanças

  1. Início
    Projeto criado no Lovable — categoria campo.
  2. Construção
    Stack montada: DB, PDF.
  3. Publicação
    Publicado em chill-insight-pilot.lovable.app.
  4. Hoje
    Maturidade estimada em 55% (MVP). 6 item(ns) pendente(s) de segurança.

Edite src/data/apps.ts e adicione um array changelog ao app para registrar marcos manuais.