Plano Executivo

30 sugestões otimizadas · Roadmap de implementação

As 30 sugestões de melhoria (10 UI/UX + 10 segurança + 10 marketing) foram analisadas, priorizadas por impacto e agrupadas em 4 fases. Cada fase é executável de forma independente e gera valor de negócio mensurável.

✅ Fase 1 entregue (index.html otimizada) ✅ Páginas de suporte: cadastro, dashboard, contador 🔧 Fases 2-4: specs detalhadas abaixo
← Landing Page 📝 Cadastro 📊 Dashboard 👤 Contador

🌱 Fase 1 — Fundação

Sprint atual · 1-2 semanas · Impacto imediato na conversão
Objetivo: Transformar a calculadora em máquina de captura de leads e estabelecer confiança mínima. Tudo que está nesta fase sai com a landing page atual.

🚀 Fase 2 — Conversão

Próximas 2-4 semanas · Foco em captura e retenção de leads
Objetivo: Capturar leads qualificados, nutrir relacionamento e automatizar o topo do funil.

🔒 Fase 3 — Segurança & Confiança

Sprint 3-5 · Infraestrutura crítica para produção
Objetivo: Estabelecer as bases de segurança antes de abrir cadastro e dashboard para usuários reais.

📈 Fase 4 — Crescimento

Sprint 5+ · Diferenciais competitivos e escala
Objetivo: Transformar o VoltaImposto em referência de recuperação fiscal com canais de crescimento autossustentáveis.
  • 26

    Chat ao vivo com especialista tributário

    Widget no canto inferior direito. Atendimento humano em horário comercial + chatbot com FAQ fora do horário. Tidio ou Intercom.
    MKTalto impacto
  • 27

    Webinars + conteúdo educativo semanal

    Série "Benefícios Fiscais que Sua Empresa Desconhece" — 30min, rotação por setor. LinkedIn Live + YouTube. Lead magnet: checklist de benefícios por setor.
    MKTmédio impacto
  • 28

    Selo "VoltaImposto Verificado" para contadores

    Selo digital que contadores parceiros exibem no site/redes sociais. Página pública com validação + contador de economias geradas. Publicidade gratuita.
    MKTmédio impacto
  • 29

    Remarketing segmentado por CNAE (Google + Meta)

    Segmentação por CNAE com anúncio dinâmico: "Indústria em SP? Você pode estar pagando R$ XX a mais." Público similar a partir de clientes atuais.
    MKTmédio impacto
  • 30

    Criptografia AES-256 + 2FA (fase avançada)

    Criptografia de campos sensíveis (certificado A1) com envelope encryption. 2FA via TOTP obrigatório para contadores. Runtime isolado para certificado digital.
    SEGARQalto impacto
  • 📐 Notas de Arquitetura

    📊 Métricas de Sucesso por Fase

    ⚙️ Especificações de Implementação — Itens com dependência de backend

    Detalhamento técnico acionável para o time de desenvolvimento. Cada item abaixo requer backend e/ou infraestrutura.

    #7 Autocomplete CNPJ via API Receita

    Endpoint: GET /api/cnpj/:cnpj

    Fluxo: Frontend → POST /api/cnpj → check Redis → fetch receitaws.com.br → store Redis TTL 24h → return dados → fill form

    Cache: Redis hash: cnpj:{cnpj} com TTL 24h. Fallback: cache em memória (Map) se Redis offline.

    Tratamento de erro: Se API externa retornar erro (429/503), retorna 503 com flag fallback: true — frontend libera preenchimento manual.

    Rate limit: 3 req/min por IP (a API pública da Receita limita agressivamente). Cache é essencial.

    #9 Email Nurture — 3 gatilhos comportamentais

    Provider: Resend.com + Trigger.dev para automação — mais barato que HubSpot no volume inicial (< 10k/mês).

    Gatilho 1 — Calculou sem cadastrar: Após 4h sem criar conta, enviar: "Sua economia de R$ XX ainda está disponível" + link direto para /cadastro com dados pré-preenchidos (localStorage).

    Gatilho 2 — Cadastrou sem completar onboarding: Após 24h, enviar: "Seu diagnóstico está pela metade — continuar de onde parou" + link mágico (token no email).

    Gatilho 3 — Diagnóstico concluído: Imediato: relatório em PDF anexado + "Próximo passo: agendar call com especialista".

    Template: React Email + Tailwind. Envio via Resend API. Rascunhos dos templates em packages/emails/.

    #10 SEO Programático — Páginas por setor×UF

    Estratégia: SSG (getStaticPaths + getStaticProps) gerando páginas para cada combinação CNAE×UF na build. Deploy Vercel.

    Slug pattern: /beneficios/{setor}/{uf}/{slug} — ex: /beneficios/industria/sp/credito-presumido-icms

    Meta tags dinâmicas: Título, description, h1, e conteúdo gerados por template a partir dos dados da engine de regras.

    Volume inicial: ~40 páginas (5 setores × 8 UFs). Escalável para 200+ conforme adicionar regras.

    Internal linking: Cada página linka para /voltaimposto/ com CTA e parâmetros UTM preenchidos.

    #13 Rate Limiting — Fastify + Redis

    Plugin: @fastify/rate-limit com store Redis (ioredis).

    Regras: POST /auth/login → 5 req/min por IP (bloqueio 15min após exceder). GET /api/* → 100 req/min por IP. Rotas autenticadas → 1000 req/min por token. Calculadora frontend → sem limite (client-side).

    Resposta: HTTP 429 com header Retry-After e body JSON: { error: "Muitas tentativas. Tente novamente em X minutos." }

    #14 Headers de Segurança — Helmet

    Plugin: @fastify/helmet

    Config: CSP: default-src 'self', script-src 'self' 'unsafe-inline' (Next.js inline), style-src 'self' 'unsafe-inline', img-src 'self' data: blob:, connect-src 'self' https://receitaws.com.br. HSTS max-age 31536000 includeSubDomains. X-Frame-Options DENY. X-Content-Type-Options nosniff. Referrer-Policy strict-origin-when-cross-origin. Permissions-Policy: geolocation=(), microphone=(), camera=().

    #15 JWT com Refresh Token Rotation

    Estratégia: Access token: 15 min. Refresh token: 7 dias com rotation (cada uso gera novo par, anterior invalidado).

    Chave: RSA-256 (par público/privado). Privada no env var, pública em /api/.well-known/jwks.json.

    Blacklist: Redis set token_blacklist:{jti} com TTL = exp do token.

    Refresh storage: Redis hash refresh:{user_id} com token hash + device fingerprint + data de criação.

    #16 Validação Zod + Sanitização OWASP

    Schema pattern: Zod schemas em packages/shared/src/schemas/ reutilizados entre frontend e backend. z.string().trim().max(255) para todos os campos string.

    Sanitização: sanitize-html (ou DOMPurify server-side) em qualquer conteúdo rich text. Stripping de tags HTML em campos comuns.

    Tamanho: Rejeitar payloads acima de 1MB no Fastify (bodyLimit).

    CSRF: @fastify/csrf-protection com token de sessão.

    #17 Row-Level Security — PostgreSQL

    Política: ALTER TABLE beneficios ENABLE ROW LEVEL SECURITY; CREATE POLICY tenant_isolation ON beneficios USING (empresa_id = current_setting('app.current_empresa_id')::uuid);

    Middleware Fastify: Hook preHandler que executa SET app.current_empresa_id = $1 a partir do token JWT.

    Verificação extra: Em queries críticas (criação requerimento, dados fiscais), dupla verificação: RLS + cláusula WHERE empresa_id explícita.

    #18 Auditoria Append-Only

    Tabela: audit_log — id UUID, empresa_id UUID, usuario_id UUID, acao VARCHAR(50), detalhes JSONB, ip INET, user_agent TEXT, created_at TIMESTAMPTZ DEFAULT NOW().

    Trigger: CREATE OR REPLACE FUNCTION audit_trigger() RETURNS TRIGGER AS $$ BEGIN INSERT INTO audit_log ...; RETURN NEW; END; $$ LANGUAGE plpgsql; disparado em INSERT/UPDATE/DELETE em tabelas sensíveis (beneficios, requerimentos, usuarios).

    Segurança: Tabela com REVOKE UPDATE, DELETE ON audit_log FROM PUBLIC;. Apenas SELECT permitido por admins e período de retenção de 5 anos (CloudWatch Archive).

    #19 Backup & Disaster Recovery

    RDS: Automated backups habilitados com retention de 30 dias. WAL archiving para S3 (bucket separado com versioning).

    Snapshot diário: Lambda programada (CloudWatch Events 03:00 UTC) → snapshot RDS → copia para região secundária (us-east-2 para DR).

    Teste de restore: GitHub Action mensal: restaura snapshot em instância temporária → executa health checks → destroi instância. Notifica em caso de falha.

    RPO/RTO: RPO 1 hora (WAL contínuo). RTO 4 horas (restore de snapshot + WAL replay).

    #20 Dashboard com Gráficos Recharts

    Componentes: BarChart (economia por benefício), PieChart (distribuição por tipo), AreaChart (evolução mensal), Gauge (percentual do potencial total).

    API: GET /api/dashboard/summary — agregações por empresa. Cache Redis 5min para dados não-críticos.

    Revalidação: SWR no frontend com refresh a cada 30s. Indicador visual "última atualização: X segundos atrás".

    #21 Onboarding Wizard 4 Etapas

    Fluxo: /onboarding → Step 1: CNPJ + dados cadastrais → Step 2: Perfil fiscal (CNAE, regime, faturamento) → Step 3: Localização e UF de atuação → Step 4: Contador atual (nome, email, CRC) ou "Não tenho contador".

    Auto-save: Cada step salva rascunho no Redis (TTL 7 dias) via POST /api/onboarding/draft. Permite retomar exatamente de onde parou.

    Barra de progresso: 4 etapas visuais com step atual destacado. Indicador de tempo restante ("Cerca de 2 min").

    Abandono: Se usuário não completa em 30min, trigger de email nurture (Kit #9, Gatilho 2).

    #25 Funil Self-Serve + Consultivo

    Regra: Se economia total < R$ 50k/ano → fluxo self-serve: cadastro → matching automático → relatório → protocolo guiado. Se > R$ 50k/ano → + botão "Falar com especialista" que abre calendário de agendamento (Calendly ou similar).

    Trigger: Verificado no momento do resultado da calculadora. Armazenado como preferência no perfil do usuário.

    #26 Chat ao Vivo

    Provider: Tidio (mais em conta para PME brasileira) ou Intercom. Widget aparece no canto inferior direito após 30s de navegação ou no resultado da calculadora.

    Horário: Humano das 9h às 18h. Chatbot com FAQ fora do horário (base: as 5 perguntas do FAQ + respostas).

    Eventos: Disparar mensagem proativa após calcular: "Posso ajudar com os benefícios encontrados para sua empresa?"

    #30 Criptografia AES-256 + 2FA Avançado

    Envelope encryption: DEK (Data Encryption Key) por cliente → criptografado com KEK (Key Encryption Key) mestra no AWS KMS. DEK decriptado apenas em memória, nunca persistido.

    Campos criptografados: Certificado digital A1 (PKCS#12), senha do certificado, dados bancários para restituição.

    2FA: Obrigatório para contadores parceiros. TOTP (biblioteca speakeasy). Recovery codes únicos (criptografados no perfil). Opcional para empresas.

    Runtime isolado: Operações com certificado digital executam em container separado (Lambda isolado) para evitar vazamento de memória.