Voltar ao portfólio
Viabilidade & Terrenos

Site Planner Pro (LandVision)

Gerador de viabilidade PRO para análise de terrenos da Casa Estúdio.

Abrir app Abrir no Lovable

Descrição completa

Gerador de viabilidade PRO para análise de terrenos da Casa Estúdio.

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

Estágio atual: Beta (80% 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

3 OK3 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 landvision-pro.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: 4/4 controles de auth aplicados. Pendentes: nenhum.

Recomendação: Manter MFA obrigatório para admin e revisar logs de tentativas de login.

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)

Atenção

Evidência: 2/3 controles. Pendentes: Validar tipo/tamanho antes de processar.

Recomendação: No handler de upload: checar mime real (magic bytes), extensão e limite de bytes antes de salvar.

IA & custos

Atenção

Evidência: 3/4 controles. Pendentes: Moderação de prompts e respostas.

Recomendação: Pré-filtro de prompt (lista de termos + moderation API) e logar input/output para auditoria.

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
    AltoIA & custos

    Moderação de prompts e respostas

    Por quê: Sem teto de uso, o custo de IA escala silenciosamente e prompts maliciosos passam.

    Ação: Pré-filtro de prompt (lista de termos + moderation API) e logar input/output para auditoria.

  2. 2
    AltoUpload e processamento de PDF

    Validar tipo/tamanho antes de processar

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

    Ação: No handler de upload: checar mime real (magic bytes), extensão e limite de bytes antes de salvar.

  3. 3
    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.

  4. 4
    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.

  5. 5
    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().

  6. 6
    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.

  7. 7
    MédioEspecíficos deste app

    Limite de uso por usuário

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

    Ação: Tabela ai_usage(user_id, day, tokens) + checagem no início de cada chamada; bloqueio acima do teto.

  8. 8
    MédioEspecíficos deste app

    Custos por chamada monitorados

    Por quê: Sem teto de uso, o custo de IA escala silenciosamente e prompts maliciosos passam.

    Ação: Implementar: Custos por chamada monitorados.

Mostrando 8 de 10 risco(s) com filtro atual. Os demais aparecem no checklist abaixo.

Checklist completo

20/30 (67%)

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

Autenticação & autorização

4/4 OK
  • MFA habilitadoOK
  • HIBP (senhas vazadas) ativoOK
  • Roles em tabela separada (user_roles + has_role)OK
  • Reset de senha via e-mail próprioOK

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

IA & custos

3/4 OK
  • Orçamento mensal por usuárioOK
  • Moderação de prompts e respostasAtenção

    Como corrigir: Pré-filtro de prompt (lista de termos + moderation API) e logar input/output para auditoria.

  • Logs de uso e custo por chamadaOK
  • Fallback quando o provedor falhaOK

Upload e processamento de PDF

2/3 OK
  • Validar tipo/tamanho antes de processarAtenção

    Como corrigir: No handler de upload: checar mime real (magic bytes), extensão e limite de bytes antes de salvar.

  • Sanitizar conteúdo extraídoOK
  • Antivírus / scan de malwareOK

Mapas & geolocalização

3/3 OK
  • Limites de uso na API de mapasOK
  • Cache de tiles para reduzir custoOK
  • Pedido de geolocalização com consentimentoOK

Específicos deste app

0/7 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.

  • Limite de uso por usuárioAtenção

    Como corrigir: Tabela ai_usage(user_id, day, tokens) + checagem no início de cada chamada; bloqueio acima do teto.

  • Custos por chamada monitoradosAtenção

    Como corrigir: Implementar: Custos por chamada monitorados.

  • Antivírus em arquivosAtenção

    Como corrigir: Integrar scan (ClamAV via edge function ou serviço externo) antes de marcar arquivo como disponível.

  • Storage com signed URLsAtenção

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

Histórico de mudanças

  1. Início
    Projeto criado no Lovable — categoria viabilidade.
  2. Construção
    Stack montada: Auth, DB, IA, PDF, Mapas.
  3. Publicação
    Publicado em landvision-pro.lovable.app.
  4. Hoje
    Maturidade estimada em 80% (Beta). 10 item(ns) pendente(s) de segurança.

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