Glossário de Marketing Digital, SEO, Ads & Desenvolvimento

Referência rápida com os principais termos usados no dia a dia de marketing digital, SEO, mídia paga, analytics e desenvolvimento de software.

Diagnóstico gratuito no WhatsApp Ver soluções Otimiza
Desde 2019
+500 empresas atendidas
100% LGPD compliant
Investida por NUMA Invest
Whitepaper

Engenharia de Prompt — a ponte entre a linguagem humana e a linguagem de máquina

Por Anderson Belem Costa — CEO Otimiza.pro · Abril/2026

Um manifesto sobre como deixar de pedir para as IAs e começar a orquestrá-las. Porque a diferença entre um profissional 10x e um profissional mediano, na era da IA generativa, não está no modelo que ele usa — está no vocabulário com que ele fala com o modelo.

1. A tese

Este sistema é o resultado dos meus estudos autodidatas sobre engenharia de prompt. Percebi, depois de centenas de horas conversando com LLMs em produção, que a única lacuna entre um bom engenheiro de prompt e um péssimo engenheiro é a language friendly machine — esse meio de caminho entre a linguagem humana e a linguagem de máquina, onde o profissional aprende a falar com a IA usando os termos que ela reconhece, prevê e executa sem ambiguidade.

Não é programação. Não é redação. É uma terceira disciplina: a arte de especificar intenção de forma tão precisa que a máquina deixa de adivinhar e passa a executar.

2. A analogia — o Homem de Ferro e a Jarvis

Pense em você mesmo como o Homem de Ferro controlando a Jarvis. As conversas intensas. As decisões que ele havia de tomar em segundos. Era necessário conhecimento — de engenharia, de física, de combate — mas a execução ficava por conta da máquina, da Jarvis.

Apesar da altíssima capacidade da Jarvis, um controlador sem conhecimento dos termos utilizados por ela não a levaria a lugar algum. A IA mais poderosa do mundo, comandada por uma pessoa sem vocabulário técnico, vira uma ferramenta mediana — e, muitas vezes, perigosa, porque produz resultados plausíveis e errados.

É isto que este sistema pretende: te tornar capaz de controlar a Jarvis de hoje — IAs como Anthropic Claude, OpenAI ChatGPT, Google Gemini, Grok da xAI, Meta Llama, DeepSeek, entre tantas outras que chegam a cada semana.

3. As quatro camadas da Engenharia de Prompt

Todo prompt profissional — do mais simples ao mais complexo agente autônomo — se organiza em quatro camadas. Dominá-las separa o amador do operador:

  1. Contexto — quem é o modelo, para quem ele fala, o que ele já sabe e o que precisa ignorar. É o system prompt, a persona, as regras de marca, os guardrails.
  2. Instrução — o verbo de ação explícito: classifique, extraia, reescreva, compare, refute. Nunca "faça alguma coisa sobre X".
  3. Dados — o material de entrada delimitado (XML tags, JSON, blocos de código). O modelo não precisa adivinhar onde o input começa e termina.
  4. Formato de saída — a estrutura que você exige: JSON schema, Markdown com H2s específicos, tabela com colunas fixas, lista enumerada. Saída livre é saída desperdiçada.

4. O vocabulário que separa o amador do operador

Um profissional de engenharia de prompt reconhece imediatamente termos como few-shot, chain-of-thought, temperature, top-p, tool use, RAG, embeddings, context window, prompt injection, hallucination, fine-tuning e system prompt. Cada um desses termos é uma alavanca concreta sobre o comportamento do modelo.

Quem não domina esse vocabulário fica preso na linguagem natural pura — e a linguagem natural, sozinha, é ambígua demais para engenharia séria. É como pedir a um piloto para "ir rápido" em vez de informar azimute, altitude e velocidade de cruzeiro.

5. Por que engenharia de prompt é a nova alfabetização digital

Entre 2010 e 2020, saber operar uma planilha foi a linha que separou analistas de assistentes. Entre 2015 e 2023, SQL e Python dividiram data-literate de data-illiterate. De 2023 em diante, engenharia de prompt é a nova linha. Quem não fala com IAs hoje produz menos, decide pior e perde o compounding de ter uma Jarvis ao lado durante cada tarefa do dia.

Não é exagero. É o mesmo deslocamento de produtividade que a internet causou nos anos 2000 — agora concentrado em 24 meses.

6. O que este glossário entrega

Este glossário foi desenhado como a sua ponte léxica. Ele reúne, em um só lugar, o vocabulário operacional de marketing digital, SEO, Google Ads, analytics, desenvolvimento web e engenharia de prompt — exatamente nesta ordem, porque é assim que o trabalho real acontece dentro de uma empresa que vende, mede, mede e mede de novo.

Use-o como referência quando estiver escrevendo um prompt para Claude, um brief para a ANA, uma campanha no Google Ads ou uma migration no Cloudflare D1. Quanto mais preciso for o termo, mais alinhada será a execução — humana ou artificial.

7. Convite

Se você chegou até aqui, está a um passo do controlador informado. O que falta é prática diária. Fale com a sua Jarvis usando os termos corretos, exija formato, delimite contexto, auxilie com exemplos. Em 90 dias você será, sem exagero, outra versão profissional de si mesmo.

— Anderson Belem Costa
CEO e fundador, Otimiza.pro · anderson@otimiza.pro

SEO (Search Engine Optimization)

SEO
Otimização para mecanismos de busca — conjunto de técnicas para melhorar o posicionamento orgânico no Google.
SERP
Search Engine Results Page — a página de resultados do Google.
Keyword (Palavra-chave)
Termo que o usuário digita no Google para buscar algo.
Long Tail
Palavras-chave longas e específicas (ex: "como comprar vale transporte empresa SP") — menor volume, maior conversão. Ex.: "tênis" é cabeça; "tênis nike air max masculino preto 42" é cauda longa.
Short Tail (Head Tail)
Palavras-chave curtas e genéricas (ex: "vale transporte") — alto volume, alta concorrência.
Search Intent
Intenção por trás da busca: informacional, navegacional, transacional ou comercial.
Backlink
Link de outro site apontando para o seu — sinal de autoridade para o Google.
Link Building
Estratégia de conseguir backlinks de qualidade.
Outreach
Contato ativo com jornalistas, blogueiros, criadores de conteúdo, podcasters e parceiros para obter menções, backlinks, guest posts, co-marketing e PR digital. Técnica-chave de link building e construção de autoridade de domínio.
Link Juice
"Autoridade" transmitida de uma página para outra através de links.
Domain Authority (DA)
Métrica da Moz (0-100) que estima a força de um domínio nos rankings. Ex.: g1.com.br ~93; site novo começa em 1-10.
Domain Rating (DR)
Métrica equivalente da Ahrefs.
Page Authority (PA)
Autoridade de uma página específica (não do domínio todo).
Crawling
Processo do Googlebot rastreando/lendo as páginas do seu site.
Crawl Budget
Quantidade de URLs que o Googlebot decide rastrear no seu site por dia. Depende da autoridade, velocidade e saúde técnica. Sites grandes precisam otimizar robots.txt, sitemap e remover duplicatas para não desperdiçar orçamento. Ex.: site com 500k URLs e Googlebot rastreando 5k/dia leva 100 dias para ser revisitado por inteiro.
Indexação
Quando o Google adiciona sua página ao índice dele (pré-requisito para aparecer nos resultados).
Sitemap
Arquivo XML que lista todas as URLs do site para facilitar o crawling.
Robots.txt
Arquivo que diz ao Google quais páginas pode ou não rastrear.
Canonical
Tag que indica qual é a URL "oficial" quando há conteúdo duplicado. Ex.: ?utm_source=email e a URL limpa apontam o mesmo <link rel="canonical"> para evitar duplicidade.
Redirect 301
Redirecionamento permanente — o servidor responde HTTP 301 + Location: nova-url dizendo que a URL antiga foi movida em definitivo. Transfere ~95% da autoridade de SEO da URL antiga para a nova e é cacheado agressivamente por navegadores e crawlers. Ex.: otimiza.pro (apex) faz 301 para otimizapro.com — usuário digita o antigo, cai no novo e o Google consolida o ranking no domínio canônico.
Redirect 302
Redirecionamento temporário — o servidor responde HTTP 302 dizendo "use essa outra URL por enquanto". Não transfere autoridade de SEO e não é cacheado como permanente. Ex.: página em manutenção redirecionando para /status por 2h; depois volta ao normal.
Redirect 308
Variante "moderna" do 301 que preserva o método HTTP (POST continua POST após o redirect). O 301 pode converter POST em GET, o que quebra APIs. Use 308 em contextos de API; 301 no HTML/browser.
Meta Title
Título da página que aparece na aba do navegador e nos resultados do Google.
Meta Description
Descrição que aparece abaixo do título nos resultados do Google.
OG Title
Open Graph Title — título que aparece no card de preview ao compartilhar link em redes sociais.
OG Description
Descrição que aparece no card de preview em redes sociais.
OG Image
Imagem que aparece no card de preview em redes sociais (tamanho ideal: 1200x630px).
H1, H2, H3...
Tags de cabeçalho hierárquico — H1 é o título principal (um por página), H2 subtítulos, etc.
Alt Text
Texto alternativo de imagens — acessibilidade + SEO de imagens.
Schema Markup
Dados estruturados (JSON-LD) que ajudam o Google a entender o conteúdo e exibir rich snippets.
Rich Snippet
Resultado do Google com informações extras (estrelas, FAQ, preço, etc.).
Featured Snippet
"Posição zero" — caixa de resposta direta no topo do Google. Ex.: pesquisa "o que é CTR" e o Google mostra a resposta em destaque acima do 1º resultado.
Core Web Vitals
Métricas de performance do Google: LCP, INP e CLS.
LCP
Largest Contentful Paint — tempo para carregar o maior elemento visível (ideal < 2.5s). Ex.: LCP bom é < 2,5s; acima de 4s o Google considera ruim.
INP
Interaction to Next Paint — mede responsividade a interações (ideal < 200ms). Substituiu o FID.
CLS
Cumulative Layout Shift — estabilidade visual; quanto o layout "pula" durante carregamento (ideal < 0.1).
FCP
First Contentful Paint — tempo até o primeiro conteúdo aparecer na tela.
TTFB
Time to First Byte — tempo até o servidor responder a primeira requisição.
SEO On-Page
Otimizações dentro da própria página (título, conteúdo, headers, imagens, URL).
SEO Off-Page
Otimizações fora do site (backlinks, menções, redes sociais).
SEO Técnico
Parte técnica: velocidade, mobile-friendly, sitemap, robots, schema, etc.
Keyword Density
Frequência de uma palavra-chave no texto (evitar keyword stuffing).
Keyword Stuffing
Excesso de palavras-chave — prática penalizada pelo Google.
Anchor Text
Texto clicável de um link — influencia o ranqueamento da página de destino.
Internal Linking
Links entre páginas do próprio site — distribui autoridade e ajuda na navegação.
Orphan Page
Página sem nenhum link interno apontando para ela — difícil de ser encontrada pelo Google.
Noindex
Tag que impede o Google de indexar uma página.
Nofollow
Atributo de link que diz ao Google para não seguir/passar autoridade.
Dofollow
Link normal que passa autoridade (é o padrão).
Black Hat SEO
Técnicas proibidas pelo Google (cloaking, keyword stuffing, link farms).
White Hat SEO
Técnicas legítimas e dentro das diretrizes do Google.
E-E-A-T
Experience, Expertise, Authoritativeness, Trustworthiness — critérios de qualidade do Google.
Google Search Console (GSC)
Ferramenta gratuita do Google para monitorar desempenho de busca, indexação e erros.
Impressões (SEO)
Quantas vezes sua página apareceu nos resultados do Google.
Cliques (SEO)
Quantas vezes clicaram no seu resultado no Google.
CTR (orgânico)
Click-Through Rate — % de cliques em relação às impressões nos resultados do Google. Ex.: 30 cliques em 1.000 impressões = CTR de 3%; média do Google Ads search é 3-5%.
Posição Média
Posição média do seu resultado no ranking do Google para determinada query.

Google Ads / Mídia Paga

ADS (Ads)
Abreviação de advertisements — anúncios pagos. Termo guarda-chuva para mídia paga em geral (Google Ads, Meta Ads, LinkedIn Ads, TikTok Ads etc.), em oposição a mídia orgânica.
Produto vazando em SERP
Quando páginas de produto aparecem em resultados de busca para termos indesejados — por correspondência ampla em Google Ads disparando em queries irrelevantes, excesso de indexação orgânica (canibalização) ou concorrentes dando lance na sua marca. Sinal de desperdício de verba e necessidade de ajuste de match type, negative keywords e estrutura de campanha.
Google Ads
Plataforma de anúncios do Google (antigo AdWords).
Campanha
Nível mais alto de organização no Google Ads — define orçamento, local, idioma.
Grupo de Anúncios
Subdivisão da campanha — agrupa anúncios e palavras-chave relacionadas.
Ad (Anúncio)
A peça publicitária em si (texto, imagem ou vídeo).
CPC
Custo por Clique — quanto você paga cada vez que alguém clica no anúncio. Ex.: gastar R$ 200 e receber 100 cliques = CPC médio de R$ 2,00.
CPM
Custo por Mil impressões — modelo de cobrança por visualizações. Ex.: R$ 30 de CPM = pagar R$ 30 a cada 1.000 pessoas que veem o anúncio.
CPA
Custo por Aquisição — quanto custa cada conversão. Ex.: R$ 1.000 em ads geram 5 vendas → CPA de R$ 200; só vale se o ticket for maior que isso.
ROAS
Return on Ad Spend — receita gerada para cada R$1 gasto em ads. Ex.: investiu R$ 1.000 e faturou R$ 4.000 → ROAS 4x (cada R$ 1 virou R$ 4 em receita).
ROI
Return on Investment — retorno sobre o investimento total. Ex.: lucro R$ 3.000 sobre R$ 1.000 investido → ROI 300% (diferente de ROAS, que olha receita).
CTR (ads)
Click-Through Rate — % de cliques em relação às impressões do anúncio.
Quality Score
Nota de 1-10 do Google Ads que avalia relevância do anúncio + landing page + CTR esperado. Ex.: QS 8/10 paga ~30% menos por clique que QS 4/10 na mesma palavra-chave.
Ad Rank
Posição do anúncio = lance x Quality Score.
Lance (Bid)
Quanto você está disposto a pagar por clique/conversão.
Smart Bidding
Estratégias de lance automáticas do Google (Maximize Conversions, Target CPA, etc.). Ex.: definir tROAS 400% e o Google ajusta lances automaticamente buscando R$ 4 por R$ 1 gasto.
Budget Cap (Teto de Orçamento)
Limite máximo de gasto que você define para uma campanha — pode ser diário (daily budget) ou de período (campaign total budget do Performance Max/Shopping). Quando atingido, o Google para de exibir anúncios até o próximo ciclo. O budget cap é o gargalo mais comum de campanhas que performam bem — ao atingir o teto cedo no dia, você deixa impressões e cliques qualificados na mesa.

Como o Google gasta o Budget Cap:
  • Pode gastar até 2x o budget diário em dias de alta demanda (compensa em dias fracos no mesmo mês).
  • Nunca ultrapassa 30,4 × budget diário no mês (média mensal protegida).
  • Em Performance Max com budget de campanha, gasta proporcionalmente até o fim da janela definida.
Sinais de Budget Cap insuficiente:
  • Search Lost IS (Budget) > 10% → orçamento está limitando impressões
  • Conversões concentradas nas primeiras horas do dia (acabou orçamento cedo)
  • ROAS alto + volume baixo → sinal clássico de que o cap trava escala
Ex.: campanha com R$ 100/dia, ROAS 600%, Lost IS (Budget) = 42% → elevar para R$ 200/dia deve capturar mais volume mantendo retorno.
Impression Share (IS)
Parcela de impressões que seus anúncios efetivamente receberam dividida pelo total de impressões elegíveis que você poderia ter recebido. É a métrica-mãe de cobertura de mercado no Google Ads: responde "de todas as vezes que alguém buscou algo relevante para minha campanha, em quantas eu apareci?".

Fórmula:
IS = Impressões recebidas ÷ Impressões elegíveis
Variações diagnósticas:
  • Search IS — parcela nos resultados de busca (ideal: 80%+ em marca, 40-60% em genéricos).
  • Search Lost IS (Budget) — % de impressões perdidas por orçamento insuficiente. Solução: aumentar Budget Cap.
  • Search Lost IS (Rank) — % perdidas por Ad Rank baixo (lance, Quality Score, extensões). Solução: lance mais alto, melhorar relevância ou landing page.
  • Search Top IS / Abs. Top IS — parcela em que você aparece no topo / absoluto topo da SERP. Crítico em keywords de marca: abs. top < 80% significa concorrente está roubando tráfego da sua marca.
  • Click Share — mesma lógica aplicada a cliques em vez de impressões (disponível em Shopping e Performance Max).
Leitura estratégica:
  • Lost IS (Budget) > Lost IS (Rank) → você perde por dinheiro, escalar orçamento é alavanca #1.
  • Lost IS (Rank) > Lost IS (Budget) → você perde por leilão, trabalhar Quality Score, copy e landing é prioridade.
  • Em campanhas de marca, Abs. Top IS < 90% é bandeira vermelha — concorrente faz bidding no seu nome.
Ex.: keyword "otimiza vt pro" com Abs. Top IS = 62% + Lost IS (Rank) = 28% → concorrente está aparecendo acima do nosso anúncio de marca. Ação: elevar lance de marca e adicionar extensões de sitelink.
Conversão
Ação desejada completada (cadastro, compra, ligação, download).
Pixel de Conversão
Código que rastreia quando uma conversão acontece.
Remarketing / Retargeting
Exibir anúncios para pessoas que já visitaram seu site. Ex.: visitante abandonou o checkout e nas próximas 48h vê banners do mesmo produto no YouTube e Display.
Display Network
Rede de sites parceiros do Google onde seus anúncios de banner aparecem.
Search Network
Anúncios que aparecem nos resultados de busca do Google.
Performance Max (PMax)
Tipo de campanha que roda em todos os canais Google automaticamente.
RSA
Responsive Search Ad — anúncio de texto que testa combinações de títulos e descrições.
Extensões de Anúncio (Assets)
Informações extras no anúncio: sitelinks, callouts, telefone, localização.
Sitelinks
Links adicionais abaixo do anúncio principal apontando para páginas específicas.
Palavra-chave Negativa
Termo que impede seu anúncio de aparecer (ex: "grátis" para quem vende).
Correspondência Ampla
Palavra-chave ativa para buscas relacionadas (mais alcance, menos controle).
Correspondência de Frase
Ativa para buscas que contêm a frase (meio termo).
Correspondência Exata
Ativa apenas para buscas muito próximas do termo exato.
Landing Page
Página de destino do anúncio — onde o usuário cai ao clicar.
Squeeze Page
Landing page focada exclusivamente em capturar e-mail/dados.
Blast Radius
O raio de explosão de uma ação — quantos sistemas, usuários, dados ou serviços são afetados se algo der errado. Conceito tomado de explosivos militares e adotado por SRE/DevOps para avaliar risco operacional antes de executar uma mudança. Toda decisão de engenharia tem um blast radius: a pergunta certa não é "vai dar certo?", é "se der errado, quem sangra?".

Escala de blast radius (do menor para o maior):
  1. Local / reversível — editar um arquivo, criar branch, rodar teste. Você quebra, você conserta, ninguém vê.
  2. Sessão atual — restart do dev server, drop de banco local, perda de stash. Custo: minutos do seu tempo.
  3. Repositório / time — push para branch compartilhada, edit em main de docs, merge de PR. Outros desenvolvedores são afetados.
  4. Staging / ambiente compartilhado — deploy em staging, seed em banco de QA. Afeta testers e QA até reverter.
  5. Produçãowrangler deploy, migration aplicada, secret rotacionado. Clientes reais são afetados em segundos.
  6. Produção + dadosDROP TABLE, git push --force em main, DELETE FROM ... WHERE errado. Perda permanente, recuperação via backup (se houver).
  7. Multi-sistema / cross-org — DNS de domínio raiz alterado, certificado SSL expirado, credencial de pagamento revogada. Cliente, parceiros, integrações — todos caem juntos.
Operadores de blast radius (perguntas-checklist):
  • Quem é afetado? — só eu, meu time, todo o time, clientes pagantes, todos os usuários?
  • Por quanto tempo? — segundos (rollback automático), minutos (rollback manual), horas (recuperar de backup), permanente (sem recuperação)?
  • É reversível? — rollback de 1 comando? Migration reversível? Backup recente disponível? Ou só "comprar passagem para Maceió"?
  • Existe blast shield? — feature flag, canary deploy, soft launch, rollout % gradual? Ou é all-or-nothing?
  • Qual o sinal de "deu errado"? — error rate, alarme em logs, ticket de suporte, queda de receita? Quanto tempo até detectar?
Reduzir blast radius (padrões):
  • Canary deploy — releasing para 1%, depois 10%, depois 100% — bug afeta 1% dos usuários, não todos.
  • Feature flag — código em produção mas desligado para 99%; liga gradualmente, kill switch instantâneo.
  • Migrations forward-compatible — schema novo coexiste com código antigo; rollback de código não exige rollback de schema.
  • Backups + ponto de restauração — Cloudflare D1 tem Time Travel (até 30 dias), Postgres tem PITR, S3 tem versionamento. Antes de DELETE grande, verificar.
  • Dry-run primeirowrangler deploy --dry-run, terraform plan, git push --dry-run. Vê o efeito sem causar o efeito.
  • Defense-in-depth — duas camadas (CF Rule + middleware) impedem que falha em uma derrube tudo.
Sinalizadores de alto blast radius (pause antes de executar):
  • Comando contém --force ou --no-verify.
  • rm -rf, DROP, DELETE sem WHERE, git reset --hard, git push --force.
  • Mudança em DNS raiz (apex), certificado SSL, credencial de pagamento, secret de produção.
  • Edit direto em produção sem passar por staging/PR/code review.
  • Sexta-feira 18h — alto blast radius temporal: equipe está saindo, recuperação acontece no fim de semana.
Princípio operacional:

Quanto maior o blast radius, mais alto o custo de errar e mais alta deve ser a barreira de execução: code review, dois aprovadores, janela de manutenção anunciada, rollback testado. Engenharia sênior se distingue de júnior pela consciência do blast radius antes de digitar Enter.

Ex.: na Otimiza.pro, deploy de Worker tem blast radius "produção total imediata" — por isso o pipeline exige npm run lint, smoke test pós-deploy e Version ID anotado para rollback em < 30s. Já edit em artigo isolado do blog tem blast radius "1 URL" — pode ir direto.
A/B Test
Teste comparando duas versões para ver qual performa melhor.
Frequency Cap
Limite de vezes que um usuário vê o mesmo anúncio.
Audience (Público)
Segmento de pessoas que você quer atingir com os anúncios.
Lookalike / Similar Audience
Público semelhante aos seus clientes existentes.
Custom Audience
Público personalizado baseado em interesses, URLs visitadas ou termos buscados.
UTM
Parâmetros adicionados à URL para rastrear a origem do tráfego no GA4.
utm_source
De onde veio (google, facebook, newsletter).
utm_medium
Tipo de mídia (cpc, organic, email, social).
utm_campaign
Nome da campanha.
utm_content
Diferencia variações do mesmo anúncio.
utm_term
Palavra-chave usada (geralmente auto-preenchido pelo Google Ads).

Analytics & Métricas

Tracking
Rastreamento de comportamento e conversões do usuário no site, em anúncios e em e-mails — via pixels, tags (GTM), cookies, UTMs, eventos (GA4) e webhooks. Base de toda atribuição, otimização de campanhas e remarketing.
GA4
Google Analytics 4 — plataforma de análise de tráfego e comportamento no site.
Sessão
Uma visita ao site (expira após 30min de inatividade).
Usuário
Pessoa única que acessou o site (identificada por cookie/device).
Pageview
Uma visualização de página.
Bounce Rate
Taxa de rejeição — % de sessões com apenas uma interação. Ex.: 70% de bounce em landing page de captação é ruim; em blog post pode ser normal.
Engagement Rate
Taxa de engajamento no GA4 — sessões com interação significativa (>10s, 2+ pageviews ou conversão).
Tempo Médio na Página
Quanto tempo o usuário fica em uma página.
Páginas por Sessão
Média de páginas visitadas por sessão.
Taxa de Conversão
% de visitantes que completaram a ação desejada. Ex.: 50 conversões em 2.000 visitas = 2,5% (média de e-commerce no Brasil).
CRO (Conversion Rate Optimization)
Disciplina que combina analytics, UX, copy e testes A/B para aumentar a taxa de conversão de um site sem precisar de mais tráfego. Geralmente gera ROI maior que investir em mais mídia paga. Ex.: trocar "Enviar" por "Quero meu diagnóstico grátis" sobe conversão de 1,2% para 1,8%.
Funil de Conversão
Etapas que o usuário percorre até converter. Ex.: 10.000 visitas → 500 leads → 50 reuniões → 10 vendas (fechamento 20% no fundo).
Drop-off
Ponto onde os usuários abandonam o funil.
Evento
Qualquer interação rastreada no GA4 (clique, scroll, download, etc.).
Tráfego Orgânico
Visitas vindas dos resultados gratuitos do Google.
Tráfego Pago
Visitas vindas de anúncios.
Tráfego Direto
Visitas de quem digitou a URL diretamente.
Tráfego de Referência
Visitas vindas de links em outros sites.
Tráfego Social
Visitas vindas de redes sociais.

Marketing Digital Geral

Lead
Pessoa que demonstrou interesse (deixou contato, preencheu formulário).
MQL
Marketing Qualified Lead — lead qualificado pelo marketing (engajou com conteúdo).
SQL
Sales Qualified Lead — lead qualificado para vendas (pronto para contato comercial).
Lead Scoring
Sistema de pontuação que classifica leads por probabilidade de conversão, combinando dados demográficos (cargo, empresa) e comportamentais (páginas visitadas, e-mails abertos). Leads acima de um limiar são entregues ao time de vendas. Ex.: cargo "Diretor" +30, abriu 3 e-mails +15, visitou /preços +25 → score 70 vai pro SDR.
CPL (Cost Per Lead)
Custo por Lead — quanto foi investido em mídia para gerar cada lead capturado (formulário, ligação, e-book). Diferente de CPA, que mede venda. CPL baixo com qualidade ruim é pior do que CPL alto com lead qualificado. Ex.: R$ 2.000 em ads geram 40 leads → CPL de R$ 50.
CAC
Custo de Aquisição de Cliente — quanto custa conquistar um novo cliente. Ex.: gastou R$ 10.000 em mkt+vendas e fechou 25 clientes → CAC de R$ 400.
LTV (CLV)
Lifetime Value — receita total que um cliente gera ao longo do relacionamento. Ex.: cliente que paga R$ 200/mês por 18 meses tem LTV de R$ 3.600.
LTV / CAC
Razão entre LTV e CAC que mede saúde da aquisição. Acima de 3:1 é saudável; abaixo de 1:1 significa que cada cliente dá prejuízo. Ex.: LTV R$ 3.600 e CAC R$ 400 → razão 9:1 (muito saudável).
Churn
Taxa de cancelamento — % de clientes que cancelam por período.
MRR
Monthly Recurring Revenue — receita recorrente mensal.
ARR
Annual Recurring Revenue — receita recorrente anual.
NPS
Net Promoter Score — métrica de satisfação/lealdade do cliente (-100 a 100).
CRM
Customer Relationship Management — sistema de gestão de relacionamento com clientes.
CTA
Call to Action — elemento que convida o usuário a agir ("Fale conosco", "Saiba mais").
Copy
Texto persuasivo voltado para conversão.
Copywriting
A arte de escrever textos persuasivos para marketing e vendas.
Headline
Título principal de uma página, anúncio ou e-mail.
Above the Fold
Conteúdo visível sem rolar a página — área mais nobre.
Below the Fold
Conteúdo que só aparece ao rolar para baixo.
Hero Section
Seção principal no topo de uma landing page (título + CTA + imagem).
Social Proof
Prova social — depoimentos, logos de clientes, números, selos de confiança.
FOMO
Fear of Missing Out — urgência/escassez usada em marketing.
Inbound Marketing
Estratégia de atrair clientes com conteúdo relevante (blog, SEO, redes sociais).
Outbound Marketing
Estratégia de ir atrás do cliente (cold call, ads, e-mail frio).
Content Marketing
Marketing de conteúdo — criar e distribuir conteúdo para atrair e engajar.
Funil de Vendas
Topo (TOFU), Meio (MOFU) e Fundo (BOFU) — jornada do desconhecido ao cliente.
TOFU
Top of Funnel — conteúdo de descoberta e awareness.
MOFU
Middle of Funnel — conteúdo de consideração e comparação.
BOFU
Bottom of Funnel — conteúdo de decisão e conversão.
Persona
Representação semi-fictícia do cliente ideal.
ICP
Ideal Customer Profile — perfil de empresa ideal (B2B).
B2B
Business to Business — empresa vendendo para empresa.
B2C
Business to Consumer — empresa vendendo para consumidor final.
SaaS
Software as a Service — software vendido como assinatura.
Freemium
Modelo com versão gratuita + planos pagos.
Trial
Período de teste gratuito.
Onboarding
Processo de integração/ativação de um novo cliente ou usuário.
Upsell
Oferecer um plano/produto superior ao cliente atual.
Cross-sell
Oferecer produtos complementares ao cliente.
Retention Rate
Taxa de retenção — % de clientes que permanecem.
Cohort
Grupo de usuários agrupados por período de aquisição.

Quer aplicar esses conceitos no seu negócio?

A Otimiza.pro ajuda empresas a transformar termos em resultado: SEO técnico, campanhas de ADS, automação de CRM, funis de conversão e desenvolvimento web sob medida. Diagnóstico gratuito em 48h.

E-mail Marketing

Open Rate
Taxa de abertura — % de e-mails abertos. Ex.: 25% de open rate em B2B é bom; abaixo de 15% revisar assunto e remetente.
Click Rate
Taxa de cliques — % de cliques nos links do e-mail.
Unsubscribe Rate
Taxa de descadastro.
Bounce (e-mail)
E-mail que não foi entregue (hard bounce = endereço inválido; soft bounce = caixa cheia).
Deliverability
Capacidade de o e-mail chegar na caixa de entrada (e não no spam).
SPF (Sender Policy Framework)
Registro DNS que lista quais servidores estão autorizados a enviar e-mail em nome do domínio. Ajuda provedores a rejeitar mensagens forjadas.
DKIM (DomainKeys Identified Mail)
Assinatura criptográfica no cabeçalho do e-mail que comprova autoria do domínio e integridade da mensagem (não foi alterada no trânsito).
DMARC (Domain-based Message Authentication, Reporting & Conformance)
Política publicada via DNS que instrui provedores sobre o que fazer com e-mails que falham em SPF/DKIM (none, quarantine, reject) e habilita relatórios de abuso. Essencial para deliverability em bases corporativas e proteção da marca contra phishing.
Nurturing
Sequência de e-mails para educar e aquecer um lead até a conversão.
Drip Campaign
Série de e-mails automáticos disparados por gatilhos/tempo.
Segmentação
Dividir a lista de contatos em grupos para enviar mensagens relevantes.

Redes Sociais

Alcance (Reach)
Número de pessoas únicas que viram seu conteúdo.
Impressões
Número total de vezes que o conteúdo foi exibido (inclui repetições).
Engajamento
Interações com o conteúdo (curtidas, comentários, compartilhamentos, salvamentos).
Taxa de Engajamento
Engajamento / Alcance (ou seguidores) x 100. Ex.: post com 1.000 curtidas + 50 comentários em conta de 20k seguidores → ER de 5,25%.
Algoritmo
Sistema que decide qual conteúdo mostrar para cada usuário.
Hashtag
Marcação com # para categorizar conteúdo e aumentar descoberta.
Stories
Conteúdo temporário (24h) no Instagram, Facebook, LinkedIn.
Reels / Shorts
Vídeos curtos verticais (Instagram Reels, YouTube Shorts, TikTok).
UGC
User Generated Content — conteúdo criado pelo próprio usuário/cliente.
Influencer Marketing
Marketing usando pessoas com audiência e influência em nichos.
Community Management
Gestão de comunidade — responder comentários, moderar, engajar.

Técnico / Web

DNS
Domain Name System — traduz domínios (otimiza.pro) em IPs.
Apex (Root Domain)
Apex no contexto de DNS/domínios é o domínio raiz — sem subdomínio. Ou seja, otimiza.pro (sem www., sem plataforma., sem crm.). Também chamado de root domain, naked domain ou zone apex.

No nosso caso:
  • Apex: otimiza.pro e otimizapro.com
  • Subdomínios: plataforma.otimiza.pro, nr1.otimizapro.com, crm.otimizapro.com, etc.
É relevante porque DNS tem regras diferentes no apex (ex.: não aceita CNAME tradicional — precisa A/AAAA ou CNAME flattening da Cloudflare).
HTTP 410 Gone
Status HTTP que sinaliza remoção permanente de um recurso — diferente de 404 ("não achei, mas pode voltar"), o 410 diz "morreu e não volta". Google deindexa URLs com 410 mais rápido que 404, por isso é o status correto para produtos descontinuados, URLs legadas e páginas encerradas sem substituto.

Headers corretos:
HTTP/1.1 410 Gone
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=86400
Content-Length: <n>
Regras essenciais:
  • Cache-Control obrigatório — 410 deve ser cacheável (economiza hits e acelera deindex no Google).
  • Content-Type: text/html com corpo amigável explicando a remoção ao usuário humano.
  • Não enviar Location: (isso é redirect 301/302/308).
  • Não enviar Retry-After: (só faz sentido em 429/503).
  • X-Robots-Tag: noindex é redundante — Google já interpreta 410 como sinal de deindex.
Erros comuns:
  • Retornar 200 OK com página "conteúdo removido" → soft 404 (Google ignora e mantém indexada).
  • Usar 301 para home quando o conteúdo realmente morreu → dilui autoridade e confunde Search Console.
  • Esquecer Cache-Control → edge/CDN revalida a cada hit e você paga por tráfego que deveria estar em cache.
Quando usar 410 vs 404:
  • Produto descontinuado permanentemente → 410
  • Blog post deletado e não será republicado → 410
  • URL digitada errada / rota inexistente → 404
  • Página que voltará em breve → 503 com Retry-After
SSL/TLS
Certificado de segurança — o cadeado HTTPS.
CDN
Content Delivery Network — rede que distribui conteúdo globalmente para carregar mais rápido.
Fix Estrito na CF Rule (Cloudflare)
Ajuste de uma regra do Cloudflare (WAF Custom Rule, Cache Rule, Transform Rule, Redirect Rule ou Page Rule legada) em modo estrito — ou seja, com expressão casando o caminho exato em vez de um padrão amplo que pode disparar em rotas indesejadas. É o padrão de correção quando uma regra começou a bloquear, cachear ou redirecionar mais do que deveria.

Sintomas que pedem fix estrito:
  • Regra de bloqueio de bot aplicando challenge em usuários legítimos → expression muito genérica.
  • Cache Rule entregando HTML antigo de /admin/* → padrão de path englobando rotas dinâmicas.
  • Redirect Rule 301 disparando em query strings ou subrotas não previstas (bug clássico de migração de URL).
  • Transform Rule de cabeçalho afetando /api/* quando só deveria afetar assets.
Antes (amplo) vs Depois (estrito):
# Amplo (errado — casa /admin, /admin-old, /administrador)
(http.request.uri.path contains "/admin")

# Estrito (correto — casa exatamente /admin e /admin/*)
(http.request.uri.path eq "/admin"
 or starts_with(http.request.uri.path, "/admin/"))

# Ainda mais estrito (só método GET, só em produção)
(http.request.uri.path eq "/admin"
 and http.request.method eq "GET"
 and http.host eq "otimizapro.com")
Operadores de estrito (Cloudflare Rules language):
  • eq — igualdade exata (use em vez de contains sempre que possível).
  • starts_with(path, "/x/") — prefixo com barra final força subrota, evita colisão com /xy.
  • matches "^/produto/[0-9]+$" — regex PCRE para validar formato (só números após /produto/).
  • in {"GET" "HEAD"} — restringir por método HTTP.
  • and http.host eq "dominio.com" — escopar ao host exato, evita vazamento entre subdomínios.
Checklist do fix estrito:
  • Trocar contains por eq ou starts_with.
  • Escopar ao http.host para não vazar entre zones.
  • Restringir http.request.method se a regra só faz sentido em GET/POST.
  • Testar em modo Log antes de promover para Block/Challenge (WAF tem modo simulação).
  • Versionar a expressão em commit — regra sem histórico é bug futuro garantido.
Ex.: regra cache everything em otimizapro.com/* estava cacheando respostas do Worker com Set-Cookie. Fix estrito: trocar por starts_with(path, "/assets/") e adicionar and not http.request.headers["cookie"] in {""} para não cachear sessões.
Simetria perfeita entre Cloudflare Rule e Middleware
Princípio arquitetural em que a regra na edge (Cloudflare Rule: WAF, Cache, Transform, Redirect) e a regra no runtime (middleware do Worker/Next.js/Hono) usam exatamente o mesmo predicado — mesmos paths, mesmos hosts, mesmos métodos, mesma lógica de exclusão. Quebrar a simetria é a fonte #1 de bugs silenciosos em stacks serverless: requisição passa pela edge mas é rejeitada pelo middleware (ou vice-versa), gerando 403/404 inconsistentes, loops de redirect e assets cacheados com HTML dinâmico.

O problema em 1 imagem:
Cliente → Cloudflare Rule → Worker/Middleware → Handler
            ↑                    ↑
         regra A              regra B
         (path contém /admin) (path === /admin/)

→ /admin/users bloqueia em A, passa em B   ❌ assimetria
→ /admin     passa em A, bloqueia em B   ❌ assimetria
→ matcher idêntico em A e B              ✅ simetria perfeita
Sinais de assimetria em produção:
  • Rota funciona em localhost (só middleware roda) mas dá 403 em produção (CF bloqueia antes).
  • Cache Hit retornando 200 enquanto a rota deveria exigir login — CF cacheou antes do middleware validar sessão.
  • Log do Worker mostra 500 mas usuário vê página do Cloudflare Challenge (WAF interceptou).
  • Redirect funciona só em alguns hits: Page Rule 301 + middleware 308 em conflito, ordem não determinística.
Checklist da simetria perfeita:
  • Path matcher idêntico em CF Rule expression e no matcher do middleware. Se a CF usa starts_with(path, "/admin/"), o middleware deve usar /admin/.* — não /admin sem barra.
  • Exclusões espelhadas — assets estáticos excluídos em ambas as camadas (/_next/static, /assets/*, favicon.ico).
  • Host scopadohttp.host eq "otimizapro.com" na CF == request.headers.host === "otimizapro.com" no middleware.
  • Um dono por responsabilidade — redirect de marketing na CF (mais rápido, sem cold start); auth no middleware (precisa de contexto de sessão); cache na CF (default); bot-block na CF quando genérico, no middleware quando baseado em payload.
  • Testes de espelhamento — script que bate N URLs críticas e compara response status com e sem CF na frente (usando *.workers.dev bypass vs zone).
  • Versionar em repositório únicowrangler.toml + CF Rules exportadas via API + middleware no mesmo repo. Regra fora do git é bug esperando para acontecer.
Divisão de responsabilidades (quem faz o quê):
  • Só CF — block de ASN/país, rate-limit genérico, cache de assets, SSL enforcement, HSTS, redirect www → apex.
  • Só Middleware — auth com JWT, feature flags por usuário, A/B test com cookie, logging estruturado de requisições.
  • Simétrica em ambos — path matching de rotas protegidas (defense-in-depth), host scoping, exclusão de assets, User-Agent blocking de bots conhecidos.
Padrão Otimiza.pro:
  • CF Rule e middleware usam a mesma lista de paths legíveis definida em worker/router.js — middleware importa, CF Rule é gerada por script a partir do mesmo array.
  • /admin/* → CF bloqueia sem ADMIN_API_KEY cookie + middleware valida o mesmo cookie no handler. Defense-in-depth, zero divergência.
  • Bot-block User-Agent ~ /bot|crawler/i idêntico em CF expression e em request.headers.get("user-agent").
Ex.: incidente real — Cache Rule cacheava /admin/dashboard porque path matcher era /admin* (amplo), enquanto middleware excluía /admin/ (estrito). Fix: alinhar ambos em starts_with(path, "/admin/") + Cache-Control: private, no-store no handler.
Cache
Cópia temporária de dados para acesso mais rápido.
Minificação
Remover espaços e comentários de CSS/JS para reduzir tamanho.
Lazy Loading
Carregar imagens/conteúdo apenas quando visíveis na tela.
Responsive Design
Layout que se adapta a diferentes tamanhos de tela.
Mobile-First
Projetar primeiro para mobile, depois adaptar para desktop.
AMP
Accelerated Mobile Pages — framework do Google para páginas ultra-rápidas (em desuso).
PWA
Progressive Web App — site que funciona como app nativo.
API
Interface que permite comunicação entre sistemas.
Webhook
Notificação automática enviada quando um evento acontece.
Cookie
Pequeno arquivo armazenado no navegador do usuário para rastreamento/preferências.
LGPD
Lei Geral de Proteção de Dados — legislação brasileira de privacidade.
Consent Banner
Banner de consentimento de cookies exigido pela LGPD.
Heatmap
Mapa de calor que mostra onde os usuários clicam/rolam na página.
Session Recording
Gravação da sessão do usuário para análise de comportamento.
Tag Manager (GTM)
Google Tag Manager — gerenciador de tags/scripts sem mexer no código.
Datalayer
Camada de dados que o GTM usa para capturar informações da página.

Precisa de SEO técnico ou desenvolvimento sob medida?

Sites, SPAs, APIs, Workers, integrações — a Otimiza.pro desenvolve e otimiza a presença digital da sua empresa do código ao primeiro lugar do Google.

Engenharia de Prompt & IA

LLM (Large Language Model)
Modelo de linguagem de grande escala treinado com bilhões de parâmetros em enormes volumes de texto, capaz de gerar, resumir, classificar e raciocinar sobre linguagem natural. Ex.: Claude, GPT, Gemini, Llama.
Token
Unidade mínima que o modelo processa — pode ser palavra, subpalavra ou caractere. O custo de API, o limite de contexto e a latência são todos medidos em tokens. Ex.: "Engenharia de Prompt" ocupa ~6 tokens; regra prática: 1 token ≈ 4 caracteres em PT.
Tokenização
Processo de quebrar texto em tokens antes de enviar ao modelo. Cada família (BPE, SentencePiece, Tiktoken) gera contagens diferentes para o mesmo texto — por isso 1k tokens em Claude ≠ 1k tokens em GPT.
Context Window
Janela máxima de tokens que o modelo consegue ler em uma única chamada (input + output). Exceder o limite corta o conteúdo mais antigo. Ex.: Claude Sonnet 200k tokens ≈ 500 páginas de livro em um único prompt.
Embedding
Representação vetorial de um texto (array de ~1.500 números) que captura seu significado semântico. Textos com sentido próximo ficam próximos no espaço vetorial, viabilizando busca semântica e RAG.
Temperature
Controla aleatoriedade da saída. 0 = determinístico (sempre o mesmo output); 1 = criativo/imprevisível. Para extração de dados use ~0; para copy criativa, 0.7–0.9. Ex.: temperature 0 → determinístico para extração; 0.8 → criatividade para copy de anúncio.
Top-p (Nucleus Sampling)
Limita a geração aos tokens cuja probabilidade cumulativa atinge p. Com top-p=0.9, o modelo só sorteia entre os tokens mais prováveis que somam 90% da massa. Use com temperature (não em conjunto com top-k).
Top-k
Restringe a amostragem aos k tokens mais prováveis a cada passo. Mais restritivo que top-p em contextos de alta entropia. Geralmente você usa ou top-p ou top-k, não os dois.
Max Tokens
Limite superior de tokens que o modelo pode gerar na resposta. Serve para controlar custo e evitar respostas infinitas. Se o modelo atinge o limite antes de encerrar, a resposta é truncada no meio.
Stop Sequence
Lista de strings que, se aparecerem no output, encerram a geração imediatamente. Útil para delimitar formatos estruturados (ex.: parar no "}" final de um JSON).
Zero-shot
Pedir ao modelo para executar uma tarefa sem fornecer exemplos — só a instrução. Bom quando a tarefa é simples e o modelo já entende pelo nome ("traduza para inglês", "resuma em 3 linhas").
Few-shot
Fornecer 2–10 exemplos resolvidos dentro do prompt antes da tarefa real. Ensina formato, tom e critérios sem fine-tuning. Técnica padrão para classificação, extração e formatação consistente.
Chain-of-Thought (CoT)
Instruir o modelo a "pensar passo a passo" antes de responder, explicitando o raciocínio. Aumenta precisão em tarefas de lógica, matemática e decisões complexas. Frase-gatilho clássica: "Let's think step by step."
ReAct (Reasoning + Acting)
Padrão em que o modelo intercala Thought → Action → Observation → Thought… chamando ferramentas externas entre passos de raciocínio. Base de agentes autônomos que executam tarefas multi-etapa (buscar, calcular, decidir).
Self-Consistency
Gerar a mesma resposta várias vezes com temperatura > 0 e escolher a mais frequente (voto majoritário). Reduz alucinação em tarefas de raciocínio ao custo de N× o preço.
Prompt Chaining
Quebrar uma tarefa complexa em uma sequência de prompts menores, onde o output de um alimenta o próximo. Mais controlável e debuggável que um único mega-prompt; permite caching e reuso parcial.
System Prompt
Instrução de alto nível, enviada antes do primeiro turno do usuário, que define papel, tom, regras e restrições do assistente durante toda a conversa. É o "DNA" do comportamento da IA naquela sessão.
Prompt Template
Prompt parametrizado com placeholders ({{cliente}}, {{contexto}}) preenchidos programaticamente. Base de sistemas em produção: versione, teste A/B e meça desempenho como código.
Role Prompting
Atribuir papel explícito ao modelo ("Você é um SDR sênior especialista em SaaS B2B…") para enviesar tom, vocabulário e profundidade. Efeito maior em modelos menores; em frontier models tende a ser redundante com instruções claras.
RAG (Retrieval-Augmented Generation)
Arquitetura que, antes de chamar o LLM, busca documentos relevantes em uma base vetorial e injeta os trechos no prompt. Reduz alucinação, atualiza conhecimento sem retreinar e permite citar fontes.
Vector Database
Banco otimizado para armazenar embeddings e fazer busca por similaridade (cosseno, dot product). Ex.: Pinecone, Weaviate, Qdrant, pgvector, Cloudflare Vectorize.
Chunking
Dividir documentos longos em pedaços menores (500–2000 tokens) antes de gerar embeddings. Tamanho do chunk impacta qualidade do retrieval: muito pequeno perde contexto; muito grande dilui similaridade.
Grounding
Ancorar as respostas do modelo em fontes verificáveis (documentos recuperados, resultados de tool calls, dados estruturados). É o principal antídoto contra alucinação em contextos corporativos.
AI Agent
Sistema em que o LLM decide quais ações tomar, em que ordem, e chama ferramentas externas para executá-las até atingir um objetivo. Vai além do chat: é um loop de raciocínio com autonomia delimitada por guardrails.
Tool Use (Function Calling)
Capacidade do modelo de retornar uma chamada de função estruturada (nome + JSON de args) em vez de texto livre. Sua aplicação executa a função e devolve o resultado ao modelo, que continua o raciocínio.
MCP (Model Context Protocol)
Protocolo aberto (Anthropic, 2024) que padroniza como agentes de IA descobrem e consomem ferramentas, recursos e prompts expostos por servidores externos. "USB-C para IA": conecta um modelo a qualquer serviço sem integração custom.
Computer Use
Capacidade do modelo de controlar diretamente um computador — mover cursor, clicar, digitar, ler a tela — como se fosse humano. Habilita automação de fluxos em aplicações sem API.
Hallucination
Resposta confiante do modelo que é factualmente falsa ou inventada. Ocorre mais quando o prompt pede dados específicos fora do treinamento. Mitigação principal: RAG + grounding + citações.
Prompt Injection
Ataque em que conteúdo controlado por usuário (ou terceiro) é lido pelo modelo contendo instruções maliciosas ("ignore as regras anteriores e faça X"). Principal vetor de risco em agentes que leem e-mail, web e arquivos externos.
Jailbreak
Técnica de prompt que engana o modelo para violar suas próprias políticas de segurança (roleplay elaborado, tradução, prefixos). Distinto de prompt injection — jailbreak é feito pelo próprio usuário, injection vem via dados externos.
Guardrails
Camadas de controle (filtros de input, validadores de output, moderação, schemas obrigatórios) que garantem que o agente opere dentro de limites aceitáveis de segurança, escopo e formato.
Eval (LLM Evaluation)
Processo de medir qualidade do modelo/prompt com dataset de referência (golden set) e métricas automáticas ou LLM-as-judge. Sem eval, não há como iterar prompt em produção com confiança.
Fine-tuning
Treinar adicionalmente um modelo base em dados do seu domínio para ensinar estilo, vocabulário ou tarefa específica. Custoso e inflexível — na maioria dos casos RAG + few-shot atendem melhor.
LoRA (Low-Rank Adaptation)
Técnica de fine-tuning que atualiza apenas matrizes de baixa dimensionalidade em vez dos pesos originais. ~1% do custo de um fine-tune completo, resultados comparáveis em tarefas específicas.
RLHF (Reinforcement Learning from Human Feedback)
Etapa pós-treino em que humanos comparam respostas do modelo e o sistema aprende a preferir as melhores. É o que transforma um modelo "que só prevê tokens" em um assistente útil e alinhado.
Structured Output (JSON Mode)
Modo em que o modelo garante retorno em JSON válido conforme um schema definido. Elimina parsing frágil com regex e viabiliza integração direta com APIs e bancos.
Schema-Guided Generation
Forçar o modelo a respeitar um schema (JSON Schema, Pydantic, Zod) durante a geração token a token. Mais robusto que "pedir JSON" em linguagem natural — o próprio decoder bloqueia tokens inválidos.
Prompt Caching
Mecanismo que reaproveita a computação de prefixos idênticos entre chamadas — reduz custo (~90%) e latência em prompts longos com trechos fixos (system prompt, documentação, few-shot examples).
Streaming
Receber os tokens da resposta conforme são gerados, em vez de esperar o output completo. Melhora TTFT (time to first token) e UX percebida. Exige parser incremental no cliente.
Batch Inference
Enviar muitas requisições de uma vez para processamento assíncrono (janela de horas) em troca de ~50% de desconto. Indicado para enriquecimento, rotulagem, classificação em massa — não para tempo real.
Prompt Engineering
Disciplina de projetar instruções para LLMs que produzem resultados confiáveis em escala. Envolve clareza de objetivo, definição de persona, fornecimento de contexto, exemplos (few-shot), restrições de formato e iteração baseada em evals. É o que separa "perguntar ao ChatGPT" de construir um sistema de IA em produção. Ex.: o system prompt do A.N.A. Vendas tem ~3.000 tokens estruturados em 8 blocos versionados — mudou um bloco, roda eval, mede regressão, só então sobe.
Context Engineering
Termo emergente (2025): engenharia de tudo o que entra no context window — system prompt, RAG retrievals, histórico, ferramentas, exemplos, dados estruturados. Vai além do prompt: decide o que injetar, em que ordem, com que orçamento de tokens. Para agentes longos, é o trabalho real — o prompt em si é a menor parte. Ex.: Andrej Karpathy popularizou o termo em 2025 contrapondo "prompt engineering" (texto) a "context engineering" (arquitetura).
In-Context Learning (ICL)
Habilidade emergente dos LLMs de aprender uma tarefa a partir de exemplos no próprio prompt, sem atualizar pesos. É a base teórica do few-shot: o modelo "pega o padrão" de 2-10 exemplos e generaliza. Não é aprendizado real (nada persiste entre chamadas) — é reconhecimento de padrão dentro do contexto. Ex.: dar 5 pares "lead bom / lead ruim" antes do 6º para classificar — o modelo replica o critério sem nunca ter sido treinado nele.
Extended Thinking (Reasoning Tokens)
Modo em que o modelo gera tokens internos de raciocínio antes da resposta final, e esses tokens são contados e cobrados separadamente (Claude Opus 4.7, o-series da OpenAI). Diferente de Chain-of-Thought clássico (visível no output): aqui o pensamento pode ser opaco, com orçamento configurável (thinking_budget). Melhora drasticamente lógica, matemática e código ao custo de latência e tokens. Ex.: thinking: { type: "enabled", budget_tokens: 16000 } no SDK Anthropic permite ao Claude "raciocinar" antes de responder problemas complexos.
Knowledge Cutoff
Data até a qual o modelo viu dados de treinamento. Tudo posterior é desconhecido — o modelo pode inventar (alucinar) ou admitir que não sabe. Diferente de currentDate injetada em runtime via prompt: cutoff é fixo do modelo, currentDate é variável do contexto. Ex.: Claude Opus 4.7 cutoff ≈ janeiro/2026; perguntar sobre eleições de novembro/2026 vai retornar erro educado ou invenção.
Prefill
Técnica da Anthropic em que você começa o turno do assistente com texto fixo que o modelo deve continuar. Força formato, idioma ou pula preâmbulos indesejados. O modelo trata o prefill como se fosse a continuação dele mesmo e nunca o reescreve. Ex.: prefill assistant: {"score": força saída JSON direto, sem o preâmbulo "Aqui está o JSON solicitado:".
XML Tags em prompts
Convenção documentada pela Anthropic para estruturar prompts com tags <context>, <instructions>, <example>, <rules>. Modelos Claude foram treinados explicitamente para respeitar esses delimitadores — performance sobe vs. usar markdown ou texto corrido para a mesma estrutura. Ex.: <context>{{docs}}</context><task>Resuma em 3 bullets</task> é mais robusto do que "Contexto: ... Tarefa: ...".
Reranker
Segundo estágio de um pipeline RAG: depois que o retrieval traz N candidatos (50-100) por similaridade vetorial, o reranker (modelo cross-encoder mais caro) reordena com qualidade muito superior e devolve top-k (5-10) ao LLM. Trade-off clássico: recall barato no retrieval, precisão cara no rerank. Ex.: Cohere Rerank ou bge-reranker — reduz alucinação porque os trechos que entram no contexto são realmente os mais relevantes, não só os mais "parecidos".
Hybrid Search
Combinação de busca lexical (BM25 — match de palavras-chave) com busca semântica (embeddings — similaridade de significado). BM25 acerta nomes próprios, números e jargão raro; semântica acerta paráfrases e sinônimos. Juntas, recall sobe sem perder precisão. Padrão atual em RAG sério. Ex.: "tarifa SPTrans janeiro 2026" — BM25 pega pelos números/siglas; vetorial pegaria "preço transporte público SP início ano" mas perderia o número exato; híbrido captura ambos.
LLM-as-Judge
Padrão de avaliação em que um LLM (geralmente mais forte) pontua respostas de outro LLM contra critérios definidos. Substitui avaliador humano em larga escala — barato e rápido —, mas tem vieses (gosta de respostas longas, do próprio estilo). Melhor para rubricas claras e comparações pareadas que para julgamento absoluto. Ex.: usar Claude Opus como juiz das saídas do Claude Haiku em testes A/B de prompt — 1.000 amostras avaliadas em minutos por menos de R$ 5.
Constitutional AI
Método de alinhamento da Anthropic em que o modelo é treinado contra um conjunto explícito de princípios ("constituição"), gerando feedback sobre si mesmo em vez de depender só de humanos rotulando. Reduz dependência de RLHF puro e torna os valores do modelo auditáveis. É a base do comportamento alinhado da família Claude. Ex.: princípios cobrem "evite respostas tóxicas", "priorize honestidade sobre concordar com o usuário", "não ajude em dano concreto".
TTFT (Time to First Token)
Latência entre enviar a requisição e receber o primeiro token de resposta. Em apps com streaming, é a métrica de UX que mais importa — usuário percebe "está respondendo". TTFT cresce com tamanho do prompt (input tokens) e cai drasticamente com prompt caching. Ex.: TTFT alvo para chat em produção < 1s; sem caching, prompt de 50k tokens dá TTFT ≈ 3-5s — inaceitável sem otimização.
Cache Hit / Cache Miss (Prompt Caching)
Quando uma porção do prompt (system, ferramentas, few-shot) já está em cache do provider, a chamada conta como cache hit e custa ~10% do preço normal nesses tokens. Cache miss = primeira chamada, custa preço cheio mas semeia o cache. A response da API expõe cache_creation_input_tokens e cache_read_input_tokens — meça para validar economia real. Ex.: agente da Otimiza com system prompt de 4k tokens fixos roda 50× por dia — cache hit derruba custo de R$ 12 → R$ 1,50 por dia.

Desenvolvimento

Frontend
Camada do software que roda no navegador do usuário — interface, interação e experiência visual.
Backend
Camada do servidor — regras de negócio, banco de dados, autenticação e APIs.
Full-Stack
Desenvolvedor/solução que atua tanto no frontend quanto no backend.
SPA
Single Page Application — aplicação que carrega uma única página HTML e troca conteúdo via JS (ex: React).
MPA
Multi Page Application — cada rota é uma página HTML separada entregue pelo servidor.
SSR
Server-Side Rendering — HTML é gerado no servidor a cada requisição (melhor para SEO e first paint).
CSR
Client-Side Rendering — HTML é montado no navegador via JavaScript após o download do bundle.
SSG
Static Site Generation — páginas HTML geradas em build time, servidas como arquivos estáticos.
ISR
Incremental Static Regeneration — páginas estáticas revalidadas periodicamente sem rebuild completo.
Hydration
Processo em que o JavaScript "ativa" o HTML renderizado pelo servidor, tornando-o interativo.
React
Biblioteca JavaScript da Meta para construir interfaces via componentes reutilizáveis.
React Helmet
Biblioteca para gerenciar dinamicamente as tags do <head> em apps React (título, meta, OG, canonical) — essencial para SEO em SPAs.
Next.js
Framework React full-stack com SSR, SSG, ISR, rotas por arquivo e otimizações automáticas.
Vue.js
Framework JavaScript progressivo para construção de interfaces reativas.
Svelte
Compilador que gera código JavaScript otimizado em build time, sem runtime de framework no bundle.
Astro
Framework focado em conteúdo que envia zero JS por padrão — ideal para blogs e sites institucionais.
Node.js
Runtime JavaScript do lado do servidor construído sobre o V8 do Chrome.
Deno
Runtime JavaScript/TypeScript seguro criado pelo autor original do Node.js.
Bun
Runtime JavaScript ultrarrápido que também funciona como gerenciador de pacotes e bundler.
TypeScript
Superset do JavaScript com tipagem estática — reduz bugs e melhora autocomplete.
npm
Node Package Manager — gerenciador de pacotes padrão do Node.js e maior registry do mundo.
pnpm / Yarn
Gerenciadores de pacote alternativos ao npm — mais rápidos e eficientes em espaço em disco.
Webpack
Bundler que empacota JS, CSS e assets em arquivos otimizados para produção.
Vite
Build tool moderno com dev server instantâneo baseado em ES modules nativos — substituto do Webpack.
Tree Shaking
Eliminação de código morto no bundle — remove exports nunca usados para reduzir tamanho final.
Code Splitting
Divisão do bundle em pedaços menores carregados sob demanda, acelerando o first load.
Polyfill
Código que replica APIs modernas em navegadores antigos que não as implementam nativamente.
Transpilação
Conversão de código moderno (ES2023, TypeScript) em versões compatíveis com navegadores antigos.
REST
Representational State Transfer — padrão de APIs HTTP baseado em recursos (GET, POST, PUT, DELETE).
GraphQL
Linguagem de query para APIs — cliente pede exatamente os campos que precisa, numa única requisição.
JSON
JavaScript Object Notation — formato leve de troca de dados, padrão de APIs web modernas.
JWT
JSON Web Token — formato de token auto-contido usado para autenticação entre cliente e servidor.
OAuth 2.0
Protocolo aberto de autorização que permite acesso delegado (ex: "Entrar com Google").
CORS
Cross-Origin Resource Sharing — mecanismo que controla requisições entre domínios diferentes no navegador.
CSP
Content Security Policy — header HTTP que protege contra XSS definindo fontes permitidas de scripts e recursos.
XSS
Cross-Site Scripting — vulnerabilidade que permite injetar scripts maliciosos em páginas legítimas.
CSRF
Cross-Site Request Forgery — ataque que força um usuário autenticado a executar ações sem querer.
SQL Injection
Vulnerabilidade que permite injetar comandos SQL maliciosos via campos não sanitizados.
Git
Sistema de controle de versão distribuído — padrão da indústria para rastrear mudanças em código.
GitHub / GitLab
Plataformas de hospedagem Git com PRs, CI/CD, issues, wikis e gestão colaborativa de código.
Pull Request
Proposta de mudança de código submetida para revisão antes de merge na branch principal.
CI/CD
Continuous Integration / Continuous Deployment — automação de build, teste e deploy a cada commit.
Docker
Plataforma de containers que empacota aplicação + dependências em imagem portável e reprodutível.
Kubernetes
Orquestrador de containers que gerencia deploy, escala e resiliência de aplicações distribuídas.
Serverless
Modelo em que o provedor gerencia servidores — você paga só pelo tempo de execução da função.
Edge Computing
Execução de código em servidores distribuídos próximos ao usuário final, reduzindo latência.
wrangler deploy
Comando da CLI oficial da Cloudflare (wrangler) que empacota o código do Worker, os bindings (D1, KV, R2, Queues, Durable Objects), os assets estáticos e sobe tudo para a rede edge global da Cloudflare em uma única operação atômica. É o equivalente a git push no mundo do Workers: um comando, publicação mundial em segundos, rollback via Version ID.

O que acontece quando você roda:
  1. wrangler.toml (ou wrangler.jsonc) — pega name, entry point, routes, bindings, vars, compatibility_date.
  2. Executa o build se houver [build] section (ex.: esbuild, vite build, npm run build).
  3. Faz diff dos assets estáticos (pasta assets.directory) contra o que já está no edge — só envia arquivos novos ou modificados.
  4. Valida sintaticamente o código (esbuild interno), checa limites (1 MiB no Free / 10 MiB no Paid após compressão).
  5. Registra a nova versão no Cloudflare, gera Version ID (UUID) e promove para produção imediatamente (a menos que use --dry-run ou wrangler versions upload).
  6. Rede edge propaga em todos os 300+ datacenters — tipicamente < 30 segundos globalmente.
Flags essenciais:
  • --env production — usa o bloco [env.production] do wrangler.toml (routes, vars e bindings específicos do ambiente).
  • --dry-run — valida e faz bundle sem publicar; útil em CI para PR checks.
  • --outdir dist/ — salva o bundle final em disco (útil para debug de tamanho / source map).
  • --keep-vars — preserva vars existentes que foram definidas via dashboard/API (importante em contas com secrets gerenciados fora do wrangler.toml).
  • --minify — minifica o bundle (default em produção).
  • --compatibility-date 2026-04-17 — força uma data de compatibilidade específica (senão lê do toml).
wrangler.toml mínimo (Worker + Assets + D1):
name = "otimizapro"
main = "worker/index.js"
compatibility_date = "2026-04-17"

[assets]
directory = "."
binding = "ASSETS"

[[d1_databases]]
binding = "DB"
database_name = "otimizapro-crm"
database_id = "0a4a1840-31e5-4845-9684-b65e3da8c0c4"

[[routes]]
pattern = "otimizapro.com/*"
zone_name = "otimizapro.com"

[triggers]
crons = ["*/1 * * * *"]
Pre-checks antes de wrangler deploy em produção:
  • npm run lint — ESLint limpo. Bug trivial capturado no linter não derruba produção.
  • npm run format — Prettier aplicado. Evita diff de formatação que polui PRs.
  • wrangler d1 migrations list otimizapro-crm — checar se há migration nova não aplicada. Deploy com schema dessincronizado quebra em runtime.
  • wrangler deploy --dry-run — validação sem publicar.
  • git status limpo e branch == master. Deploy de branch errado acontece mais do que se admite.
Pós-deploy (obrigatórios):
  • Smoke testcurl -I nas 5 URLs críticas (home, admin, API principal, um artigo, um formulário) esperando 200/302.
  • Purge de cache se você alterou HTML/CSS/JS que estava no edge cache (wrangler não purga automaticamente — é responsabilidade sua).
  • Verificar wrangler tail por 2-3 minutos procurando exceptions.
  • Anotar o Version ID retornado. Rollback rápido: wrangler rollback <version-id>.
Rollback (quando deu ruim):
# listar versões recentes
wrangler deployments list

# voltar para versão anterior (propagação < 30s)
wrangler rollback <version-id>
Armadilhas frequentes:
  • Bundle > 1 MiB (Free) / 10 MiB (Paid) → deploy falha. Use --outdir para inspecionar e remover deps pesadas (moment.js, lodash completo etc.).
  • Secrets commitados em wrangler.tomlnunca. Use wrangler secret put KEY. Secrets no toml vazam em build logs, screenshots, git.
  • compatibility_date desatualizada → APIs antigas do runtime; novas features ignoradas. Atualize a cada trimestre.
  • Deploy sem d1 migrations apply prévio → no such column em produção, 500 em loop.
  • Routes conflitando entre dois Workers no mesmo host (ex.: otimizapro.com/* em dois workers) → comportamento não determinístico, depende da ordem de deploy. Cloudflare rejeita atualmente, mas zonas antigas podem ter esse fantasma.
  • Esquecer --env production em ambiente multi-env → deploy de dev vai para produção por acidente.
Ex.: deploy típico da Otimiza.pro — npm run lint && wrangler deploy sobe Worker + 80k arquivos estáticos + D1 bindings em ~20 segundos. Output confirma Version ID e as 9 rotas cobertas (otimiza.pro/*, otimizapro.com/*, crm.otimizapro.com/*, etc.).
Cloudflare Workers
Plataforma serverless edge da Cloudflare — executa JavaScript/WASM em 300+ datacenters globais.
Cloudflare D1
Banco de dados SQL serverless (SQLite) integrado aos Workers da Cloudflare.
KV Store
Banco key-value distribuído, ideal para cache, configurações e sessões (ex: Cloudflare KV, Redis).
R2
Object Storage da Cloudflare compatível com S3 — sem taxa de egress (saída de dados).
Webhook
Callback HTTP disparado automaticamente por um sistema quando um evento ocorre (oposto do polling).
Cron Job
Tarefa agendada que executa automaticamente em intervalos definidos (ex: todo dia às 3h).
Schema (banco de dados)
A planta baixa do banco: a descrição formal de quais tabelas existem, quais colunas cada tabela tem, quais tipos de dados elas aceitam, quais relações se conectam e quais restrições (constraints) protegem a integridade. Schema é a diferença entre um banco que você consulta com confiança e uma pasta de arquivos JSON desorganizados.

Elementos de um schema:
  • Tabelas — as entidades (leads, deals, campaigns, contacts).
  • Colunas + tiposINTEGER, TEXT, REAL, BLOB, BOOLEAN, TIMESTAMP, JSON. Tipo errado é bug esperando o bug ficar caro.
  • Primary Key — identificador único da linha, quase sempre id INTEGER PRIMARY KEY AUTOINCREMENT.
  • Foreign Keyslead_id REFERENCES leads(id). Garantem que relação existe; ON DELETE CASCADE / ON DELETE SET NULL definem o que acontece quando o pai some.
  • Índices — não são parte do shape dos dados, mas do schema operacional. Índice em coluna buscada = query 100x mais rápida.
  • ConstraintsNOT NULL, UNIQUE, CHECK. Regras que o banco impõe antes de aceitar a linha.
  • Views / Triggers — schema dinâmico; views são queries nomeadas, triggers reagem a mudanças.
Exemplo (schema real Cloudflare D1):
CREATE TABLE leads (
  id          INTEGER PRIMARY KEY AUTOINCREMENT,
  email       TEXT    NOT NULL UNIQUE,
  name        TEXT,
  score       INTEGER DEFAULT 0 CHECK (score BETWEEN 0 AND 100),
  segment_id  INTEGER REFERENCES segments(id) ON DELETE SET NULL,
  created_at  INTEGER NOT NULL DEFAULT (unixepoch()),
  updated_at  INTEGER NOT NULL DEFAULT (unixepoch())
);

CREATE INDEX idx_leads_email      ON leads(email);
CREATE INDEX idx_leads_score_desc ON leads(score DESC);
CREATE INDEX idx_leads_segment    ON leads(segment_id) WHERE segment_id IS NOT NULL;
Schema vs Schemaless:
  • Schema-first (SQL: Postgres, MySQL, SQLite, D1) — estrutura validada no insert; bugs aparecem cedo, queries são rápidas e previsíveis.
  • Schemaless (Mongo, DynamoDB em modo flexível) — aceita qualquer forma; bugs aparecem em produção quando a aplicação lê dados inesperados.
  • Schema-on-read (Data Lakes, S3 + parquet) — dado bruto fica salvo, schema aplicado só na hora da leitura. Flexível para analytics, ruim para OLTP.
Evolução de schema (migrations):

Schema de produção nunca é alterado com ALTER TABLE direto — sempre via migration versionada (ver termo Migration). Schema-as-code: o estado atual do schema é derivado da soma das migrations aplicadas.

Schema TypeScript-first (Drizzle):

Ferramentas modernas como Drizzle ORM invertem o fluxo: você define o schema em TypeScript, a ferramenta gera o SQL + tipagem end-to-end. Mudou o schema? Autocomplete quebra no VS Code antes do bug chegar em produção.

Ex.: o CRM da Otimiza.pro tem schema distribuído em 97 migrations SQL (functions/db/001-097) cobrindo leads, contacts, pipeline, deals, accounts, automations, drip campaigns, NPS e analytics. A soma dessas migrations define o shape completo do banco em produção.
Query
Uma pergunta formal ao banco de dados. Em SQL, é uma instrução estruturada que especifica o quê você quer (colunas), de onde (tabelas + joins), filtrado por (WHERE), agrupado (GROUP BY), ordenado (ORDER BY) e limitado (LIMIT). Query bem escrita é rápida, previsível e fácil de ler; query ruim derruba produção.

Os 6 tipos essenciais (CRUD + agregação):
  • SELECT — lê dados. 80% das queries em apps de leitura intensiva.
  • INSERT — cria linha.
  • UPDATE — altera linha(s) existentes. Sempre com WHERE — esquecer é como rm -rf da tabela.
  • DELETE — remove linha(s). Mesmo conselho: WHERE é obrigatório.
  • UPSERT — "insere se não existe, atualiza se existe" (INSERT ... ON CONFLICT ... DO UPDATE). Operação atômica favorita de sistemas de sincronização.
  • AGGREGATECOUNT, SUM, AVG, MAX, MIN com GROUP BY. Coração de dashboards e relatórios.
Anatomia de uma query SELECT:
SELECT
  s.name          AS segmento,
  COUNT(*)        AS total_leads,
  AVG(l.score)    AS score_medio,
  MAX(l.created_at) AS ultimo_lead
FROM leads l
JOIN segments s ON s.id = l.segment_id
WHERE l.created_at > unixepoch() - 30*86400
  AND l.score >= 50
GROUP BY s.id, s.name
HAVING COUNT(*) > 10
ORDER BY total_leads DESC
LIMIT 20;
Ordem lógica de execução (não é a ordem escrita):
  1. FROM + JOIN — monta o conjunto de trabalho.
  2. WHERE — filtra linhas individuais.
  3. GROUP BY — agrupa em buckets.
  4. HAVING — filtra os buckets (diferente de WHERE: opera pós-agregação).
  5. SELECT — projeta as colunas finais.
  6. ORDER BY — ordena.
  7. LIMIT / OFFSET — recorta a janela.

Saber dessa ordem resolve 70% dos "por que essa query retorna o que retorna?".

Tipos de query além de SQL:
  • GraphQL query — cliente descreve o shape do retorno; servidor resolve campo a campo.
  • Query string de URL?q=vt&cidade=sp; params depois do ?.
  • Search query (Google) — a string que o usuário digita na busca. Termos keyword research, search intent e long-tail são todos sobre isso.
  • Media query (CSS) — regras condicionais por tamanho de tela (@media (max-width: 640px)).
Performance de query (o que importa):
  • EXPLAIN QUERY PLAN — comando que revela se sua query usa índice ou faz full-table-scan. Primeira ferramenta de debug.
  • Índices corretosWHERE score >= 50 sem índice em score = varredura linear.
  • N+1 query problem — loop em código que faz 1 query por item. Troca por 1 join ou 1 WHERE IN (...).
  • SELECT * é inimigo — transfere colunas grandes (blobs, JSON) que você não usa; quebra cache; vaza dados.
  • Parâmetros boundWHERE email = ? com parâmetro, nunca concatenação de string. Segurança (anti-SQL-injection) e performance (plan cache).
Query em código (Workers + D1):
// Cloudflare D1 — bind de parâmetros, anti-injection
const { results } = await env.DB
  .prepare('SELECT id, email, score FROM leads WHERE score >= ? LIMIT ?')
  .bind(75, 20)
  .all();
Ex.: dashboard executivo da Otimiza.pro roda uma SELECT agregada a cada 60s sobre a tabela leads (≈ 1.8M linhas). Com índices em score e created_at, a query responde em < 15ms. Sem eles, 2.4s — inviável como refresh.
Migration
Script versionado que altera o schema do banco de dados de forma reproduzível, ordenada e idealmente reversível. Cada migration é um passo histórico — aplicadas em sequência, levam o banco do estado inicial ao estado atual em qualquer ambiente (dev, staging, produção). Sem migrations, schema vira "funciona no meu Postgres" — o equivalente de código sem git.

Anatomia de uma migration:
  • Nome numerado (097_add_pending_enrollment.sql) — ordem lexicográfica = ordem de execução, sem ambiguidade.
  • Up — o que a migration aplica (CREATE TABLE, ALTER, INSERT de seed).
  • Down — o rollback correspondente (DROP, ALTER reverso). Nem toda ferramenta exige, mas é boa prática.
  • Transacional — executada em BEGIN...COMMIT para que falha no meio não deixe o banco em estado parcial.
Exemplo (Cloudflare D1 / SQLite):
-- functions/db/097_add_pending_enrollment.sql
ALTER TABLE drip_enrollments
  ADD COLUMN pending_enrollment_at INTEGER;

CREATE INDEX IF NOT EXISTS idx_drip_pending
  ON drip_enrollments(pending_enrollment_at)
  WHERE pending_enrollment_at IS NOT NULL;
Regras de ouro (migrations em produção):
  • Nunca editar migration já aplicada em produção — crie uma nova que corrige. A migration aplicada é história, imutável.
  • Forward-compatible primeiro — deploy adiciona coluna/tabela nova antes do código que a usa; remove só depois de todo código parar de referenciar.
  • Backfill assíncrono para colunas NOT NULL em tabelas grandes: 1) adiciona coluna nullable; 2) backfill em lotes via cron; 3) migration final adiciona NOT NULL.
  • Índices com CONCURRENTLY (Postgres) ou offline (SQLite/D1) — índice bloqueante em tabela de 50M linhas derruba produção.
  • Testar em dump de produção, não em banco vazio — migration que demora 3s em 1.000 linhas pode demorar 40 min em 10M.
  • Sem DROP COLUMN irrecuperável sem backup explícito. Renomeie para _deprecated_colname antes.
Ferramentas por stack:
  • Cloudflare D1 — migrations SQL em pastas numeradas, aplicadas via wrangler d1 migrations apply.
  • Drizzledrizzle-kit generate deriva SQL do schema TypeScript.
  • Prismaprisma migrate gera migration.sql + mantém histórico em _prisma_migrations.
  • Postgres purosqitch, flyway, goose ou dbmate.
  • Djangopython manage.py makemigrations + migrate (autogerada a partir dos models).
Armadilhas frequentes:
  • Gaps na numeração (095, 097, pulou 096) → dois devs fizeram merge paralelo. Renumere antes de commitar.
  • Migration idempotente (IF NOT EXISTS) é amiga de ambiente de dev, mas esconde bugs em produção onde deveria falhar se já aplicada.
  • ALTER TABLE ... DROP COLUMN em SQLite antigo (< 3.35) não existe — precisa recriar a tabela. D1 atual suporta.
  • Seeds dentro de migration: não. Seeds vão em script separado, porque são dados, não schema.
Ex.: CRM da Otimiza.pro tem 97 migrations sequenciais em functions/db/, numeradas 001-097 sem gaps. Cada deploy roda wrangler d1 migrations apply otimizapro-crm — quem criar a 098 tem que garantir forward-compat com o código em produção durante a janela de deploy.
ORM
Object-Relational Mapping — camada que traduz objetos de código em queries SQL (ex: Prisma, Sequelize).
Middleware (regex)
Camada de código que intercepta requisições entre o cliente e o handler final — roda antes (ou depois) de cada rota para executar lógica transversal: autenticação, logging, rate-limit, CORS, A/B test, redirect, rewrite. Em Next.js, Cloudflare Workers, Express e Hono, o middleware é o ponto onde regex aparece: você define o matcher do middleware com uma expressão regular que decide em quais URLs ele executa — evitando processar assets estáticos e rotas que não precisam da lógica.

Anatomia (Next.js):
export const config = {
  matcher: [
    // regex negativo: rodar em TUDO exceto assets e API
    '/((?!_next/static|_next/image|favicon.ico|api/).*)',
  ],
};
Por que regex importa:
  • Middleware roda em cada requisição — matcher mal escrito vira gargalo de performance (ex.: processar .png, .css, .js à toa).
  • Regex lookahead negativo (?!...) é padrão para excluir rotas: "tudo que não começa com X".
  • Em Cloudflare Workers, o matcher equivalente é o routes no wrangler.toml usando padrões glob — mas dentro do Worker você ainda usa regex no URL.pathname.
Padrões regex frequentes em middleware:
  • ^/admin(/.*)?$/admin e qualquer subrota (protege área logada).
  • \\.(jpe?g|png|gif|webp|avif|css|js|woff2?|svg)$ — assets estáticos (geralmente excluir).
  • ^/api/(?!public/) — APIs privadas (/api/* exceto /api/public/*).
  • ^/(pt|en|es)(/|$) — captura locale para i18n antes de rotear.
Armadilhas:
  • Esquecer de escapar . em regex de extensão → casa com qualquer caractere.
  • Matcher amplo (/.*) sem exclusões → middleware roda em 100% das assets, consome CPU time da edge (custo real no Cloudflare Workers).
  • Ordem de middlewares importa: auth antes de rate-limit antes de logging.
Ex.: Otimiza.pro usa middleware no Worker para 1) bloquear bots via regex de User-Agent, 2) redirecionar www → apex, 3) proteger /admin/* com ADMIN_API_KEY. Matcher: ^/(?!assets|_static).*.
Drizzle ORM
ORM TypeScript-first focado em type-safety, SQL-like syntax e edge compatibility. Ao contrário do Prisma (que gera client pesado e usa engine binário), o Drizzle é uma biblioteca leve que compila para SQL bruto previsível e roda em runtimes serverless/edge como Cloudflare Workers, Vercel Edge, Bun e Deno — sem cold start causado por engine externo.

Posicionamento no ecossistema:
  • vs Prisma — Drizzle é mais próximo de SQL cru, sem runtime pesado; ideal para edge. Prisma é mais abstrato e DX-friendly, mas com engine binário que não roda em todos runtimes.
  • vs Kysely — Kysely é puro query builder; Drizzle adiciona schema declarativo, migrations versionadas e relational queries.
  • vs SQL cru — Drizzle mantém SQL legível, mas ganha tipagem automática a partir do schema (autocomplete + erro em compile-time para colunas inexistentes).
Stacks suportadas:
  • PostgreSQL (node-postgres, Neon, Supabase, Vercel Postgres)
  • MySQL / PlanetScale
  • SQLite (better-sqlite3, Cloudflare D1, Turso, Bun SQLite)
Exemplo (schema + query):
// schema.ts
export const leads = sqliteTable('leads', {
  id: integer('id').primaryKey(),
  email: text('email').notNull().unique(),
  score: integer('score').default(0),
  createdAt: integer('created_at', { mode: 'timestamp' }),
});

// query
const hotLeads = await db.select()
  .from(leads)
  .where(gt(leads.score, 75))
  .orderBy(desc(leads.createdAt))
  .limit(20);
Por que importa na stack Otimiza.pro:
  • Roda nativo em Cloudflare Workers + D1 (nossa stack) — zero cold start de engine.
  • drizzle-kit gera migrations SQL reversíveis a partir do schema TypeScript.
  • Tipagem end-to-end: o retorno de .select() é tipado pelo schema — pega bug em CI antes de chegar ao usuário.
  • Bundle pequeno (~10kb gzipped) — importante em Workers com limite de 1MB no plano Paid.
Ex.: migrar de db.prepare(...).bind(...) (D1 cru) para Drizzle reduz boilerplate, elimina SQL injection por design e ganha autocomplete de colunas no VS Code.
Linter
Ferramenta que analisa código estaticamente em busca de erros, bugs e violações de estilo (ex: ESLint).
Prettier
Formatador de código opinativo que padroniza espaços, quebras e aspas automaticamente.
Unit Test
Teste automatizado que valida uma função/componente isolado do resto do sistema.
E2E Test
End-to-End Test — teste que simula o fluxo completo do usuário no navegador (ex: Playwright, Cypress).
Mock
Objeto simulado que substitui dependências reais (API, banco) durante testes automatizados.
Regex
Expressão regular — padrão para busca e manipulação de strings (ex: validar e-mail, CEP, CPF).
Promise
Objeto JavaScript que representa uma operação assíncrona que pode ser resolvida ou rejeitada no futuro.
Async/Await
Sintaxe moderna para trabalhar com Promises de forma mais legível, parecida com código síncrono.
WebSocket
Protocolo de comunicação bidirecional persistente entre cliente e servidor, usado em chats e real-time.
Feature Flag
Interruptor que liga/desliga funcionalidades em produção sem precisar fazer novo deploy.
A/B Test
Experimento que mostra duas versões (A e B) para públicos diferentes e mede qual performa melhor.
Monorepo
Estratégia de armazenar múltiplos projetos/pacotes relacionados num único repositório Git.
Semver
Semantic Versioning — padrão MAJOR.MINOR.PATCH (ex: 2.4.1) para versionar releases de software.
Tailwind CSS
Framework CSS utility-first — estiliza componentes com classes utilitárias direto no HTML, sem CSS customizado.
Playwright
Framework de testes E2E da Microsoft que automatiza Chrome, Firefox e Safari num único script.
WCAG / a11y
Web Content Accessibility Guidelines — diretrizes de acessibilidade web. a11y é abreviação de "accessibility" (a + 11 letras + y).
i18n / l10n
Internationalization (i18n) e Localization (l10n) — preparar e adaptar software para múltiplos idiomas e regiões.
Microservices
Arquitetura onde a aplicação é dividida em serviços pequenos e independentes que se comunicam via API.
Event-Driven
Arquitetura onde componentes reagem a eventos assíncronos (pub/sub), desacoplando produtores de consumidores.
Message Queue
Sistema de fila (ex: RabbitMQ, SQS) que enfileira mensagens entre serviços para processamento assíncrono.
Redis
Banco in-memory ultrarrápido usado para cache, sessões, filas e pub/sub em tempo real.
PostgreSQL
Banco de dados relacional open-source robusto, com suporte a JSON, full-text search e extensões.
MongoDB
Banco NoSQL orientado a documentos JSON — flexível para dados sem schema fixo.
Supabase
Alternativa open-source ao Firebase: PostgreSQL + auth + storage + realtime + edge functions.
Vercel
Plataforma de deploy para frontends e full-stack (Next.js, Svelte, Astro) com CDN global e serverless functions.
Netlify
Plataforma de deploy para sites estáticos e Jamstack com CI/CD, forms, identity e edge functions.
Jamstack
Arquitetura web baseada em JavaScript, APIs e Markup pré-renderizado — sites rápidos, seguros e escaláveis.
Headless CMS
CMS que fornece conteúdo via API sem frontend acoplado (ex: Strapi, Sanity, Contentful).
Composable Architecture
Abordagem onde a stack é montada com serviços best-of-breed independentes via APIs, em vez de um monolito.
WASM
WebAssembly — formato binário de baixo nível que roda código C/Rust/Go no navegador ou edge com performance quase nativa.
Logging (estruturado)
Registro de eventos da aplicação em formato parseável (JSON) com campos padronizados (level, timestamp, trace_id, user_id). Muito mais útil para busca/alertas do que logs em texto corrido.
Tracing (Distributed Tracing)
Rastreamento de uma única requisição conforme ela atravessa múltiplos serviços, mostrando onde o tempo é gasto. Cada passo é um span; juntos formam um trace. Padrões: OpenTelemetry, W3C Trace Context.
Metrics
Séries temporais numéricas (latência p50/p95/p99, throughput, taxa de erro) agregadas em janelas de tempo. Base para dashboards e alertas. Ferramentas: Prometheus, Grafana, Datadog.
Observability
Capacidade de entender o que está acontecendo dentro de um sistema a partir das saídas externas. Os "três pilares": logs, metrics e traces.
SLO / SLA / SLI
SLI (Service Level Indicator): métrica medida (ex.: 99,92% de disponibilidade). SLO (Objective): meta interna (99,9%). SLA (Agreement): contrato externo com cliente, geralmente mais folgado que o SLO e com penalidade se descumprido.
HMAC
Hash-based Message Authentication Code — assinatura criptográfica combinando hash (SHA-256) + chave secreta compartilhada. Usada para verificar autenticidade e integridade de webhooks e tokens sem precisar de TLS mútuo.
Rate Limiting
Limitar o número de requisições que um cliente pode fazer em uma janela de tempo. Protege contra abuso e loops bugados. Quando o limite é atingido, servidor responde HTTP 429. Ex.: API permite 100 req/min por IP; a 101ª recebe HTTP 429 Too Many Requests.
DDoS (Distributed Denial of Service)
Ataque coordenado de milhares de máquinas para saturar o alvo com tráfego e tirar o serviço do ar. Mitigação depende de CDN com detecção (Cloudflare, AWS Shield), rate limiting e anycast para dissipar a carga.
TLS / SSL
Protocolo que criptografa a comunicação entre cliente e servidor (HTTPS). SSL é o nome antigo; TLS 1.2/1.3 são as versões modernas. Certificados emitidos por CAs (Let's Encrypt, DigiCert) comprovam identidade do servidor.
mTLS (Mutual TLS)
TLS em que ambos os lados apresentam certificado — não só o servidor, mas também o cliente. Padrão para comunicação service-to-service em arquiteturas Zero Trust.
Zero Trust
Modelo de segurança em que nenhuma requisição é confiável por padrão, mesmo vinda de dentro da rede corporativa. Autenticação e autorização forte em cada chamada. Oposto do modelo "perímetro confiável" clássico.
OWASP Top 10
Lista atualizada a cada ~3 anos pela OWASP com as 10 vulnerabilidades mais críticas em aplicações web (Broken Access Control, Injection, Cryptographic Failures, etc.). Referência-padrão para checklist de segurança.
gRPC
Protocolo RPC binário sobre HTTP/2 criado pelo Google, usando Protocol Buffers para serializar mensagens. Muito mais rápido que REST/JSON em comunicação interna service-to-service; não é navegador-friendly sem gateway.
OpenAPI / Swagger
Especificação YAML/JSON que descreve endpoints, parâmetros e schemas de uma API REST de forma machine-readable. Gera docs interativas (Swagger UI) e SDKs clientes automaticamente.
Webhook Signature
Assinatura HMAC enviada em header (X-Signature) pelo emissor do webhook para o receptor verificar que a requisição é autêntica. Sem ela, qualquer um pode falsificar eventos no seu endpoint.
Idempotency Key
Chave única enviada pelo cliente (header Idempotency-Key) que garante que operações repetidas (retries, double-click) produzam o mesmo resultado sem duplicação. Ex.: usuário clica "Pagar" 3x; o servidor processa só a 1ª e devolve a mesma resposta nas outras 2.
SOLID
Cinco princípios de design OO: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion. Base de código manutenível e testável em linguagens tipadas.
DRY / KISS / YAGNI
Princípios práticos: DRY (Don't Repeat Yourself) — não duplique lógica. KISS (Keep It Simple) — prefira solução simples. YAGNI (You Aren't Gonna Need It) — não antecipe features que "talvez" sejam necessárias.
Design Patterns (Gang of Four)
23 padrões clássicos catalogados pelos "GoF" em 1994, divididos em criacionais (Singleton, Factory), estruturais (Adapter, Decorator) e comportamentais (Observer, Strategy). Vocabulário universal de arquitetura OO.
Circuit Breaker
Padrão que detecta falhas repetidas em uma dependência (ex.: serviço externo fora do ar) e para de chamar por um tempo, devolvendo erro imediato. Evita cascata de timeouts e acelera recuperação.
Retry & Exponential Backoff
Estratégia de tentar novamente uma operação falha com intervalos crescentes (1s, 2s, 4s, 8s…) + jitter aleatório. Cobre falhas transitórias sem sobrecarregar o serviço que já está sofrendo.
Race Condition / Deadlock / Mutex
Race condition: resultado depende da ordem de execução de threads concorrentes (bug intermitente). Deadlock: dois processos esperando um ao outro eternamente. Mutex: primitiva de lock que garante exclusão mútua em acesso a recurso compartilhado.
CDN (Content Delivery Network)
Rede de servidores distribuídos geograficamente que armazenam cópias de assets estáticos (HTML, CSS, JS, imagens, vídeo) próximas ao usuário final. Reduz latência (origem fica longe; edge fica perto), descarrega o servidor original e absorve picos de tráfego. Cloudflare, Akamai, Fastly e CloudFront são os principais. Sem CDN, sites globais ficam lentos para metade do mundo. Ex.: otimizapro.com serve 80k assets via Cloudflare CDN em 300+ datacenters — TTFB médio < 50ms em qualquer país.
HTTP Cache (Cache-Control, ETag, TTL)
Mecanismo do protocolo HTTP em que servidor e navegador acordam por quanto tempo um recurso pode ser reaproveitado sem refetch. Cache-Control: max-age=86400 diz "guarda 1 dia"; ETag é hash do conteúdo para revalidação condicional (If-None-Match). CDNs também respeitam esses headers para decidir o que pôr no edge. Header mal configurado = ou cache demais (versão antiga grudada) ou cache de menos (origem sobrecarregada). Ex.: Cache-Control: public, max-age=31536000, immutable em /assets/app-a8b2c.js (com hash no nome) — cacheado para sempre, novo hash quando muda.
Purge de cache
Ação de invalidar o conteúdo armazenado em CDN/edge para forçar nova busca da origem. Granularidade: por URL específica (cirúrgico), por tag/hostname (grupo), ou purge everything (toda a zona — caro e raro). Necessário após deploys que alteram HTML/CSS/JS já cacheado, ou quando uma versão errada vazou. Workers e Pages não purgam automaticamente: é responsabilidade sua. Ex.: depois de wrangler deploy que alterou index.html, rodar powershell -File "#Capacidades/Cloudflare/cloudflare.ps1" -Action cache:purge para que visitantes vejam a nova versão imediatamente.
Cloudflare Queues
Serviço de filas gerenciado da Cloudflare integrado nativamente aos Workers — producer escreve mensagem, consumer (outro Worker) processa em batch com retry automático e dead-letter queue. Resolve cargas assíncronas (envio de email em massa, enriquecimento, jobs pesados) sem depender de infra externa tipo SQS ou RabbitMQ. Ex.: A.N.A. enfileira leads para enriquecimento em Queue; consumer processa 50 por vez, retry exponencial em falha, DLQ após 5 tentativas.
Durable Objects
Primitiva da Cloudflare para Workers stateful — cada instância tem armazenamento próprio (storage transacional) e roda em um único datacenter por vez, garantindo consistência forte. Bom para chats, contadores globais, locks distribuídos e coordenação em tempo real. É o que falta no modelo serverless puro (que é stateless). Ex.: presença em tempo real no CRM (quem está editando qual deal) cabe em 1 Durable Object por workspace — broadcasts WebSocket via hibernation API, sem servidor sempre ligado.
Cloudflare Vectorize
Banco vetorial gerenciado da Cloudflare integrado aos Workers — armazena embeddings (até 1536 dimensões), indexa em HNSW e responde queries de similaridade em latência de edge. Alternativa nativa a Pinecone/Qdrant quando o stack todo já é Cloudflare. Cobra por dimensão × vetor armazenado + queries. Ex.: RAG do A.N.A. pode migrar embeddings dos 322 artigos do blog para Vectorize — query em < 30ms direto do Worker, sem hop para serviço externo.
Service Binding (Workers)
Mecanismo de Cloudflare Workers para que um Worker chame outro sem passar pela internet: invocação direta via runtime, sub-millisecond, sem custo de egress, sem CORS. Configurado em wrangler.toml. Útil para arquiteturas multi-worker que compartilham infra, mas cria acoplamento — projetos standalone podem proibir por design. Ex.: o Worker aprenda poderia consumir leads do CRM via service binding para otimizapro, mas a regra arquitetural do Glossary System veta isso justamente para mantê-lo independente.
Cold Start / Warm Start
Cold start: primeira requisição após inatividade, quando o runtime precisa subir o processo (carregar bundle, instanciar conexões). Warm start: requisições subsequentes, com tudo pré-aquecido. Cold start crônico mata UX em serverless mal projetado. Cloudflare Workers minimizam isso com V8 isolates (~5ms); Lambda Node.js pode demorar 200-2000ms. Ex.: ORMs com engine binário (Prisma legacy) sofrem cold start em Workers; Drizzle (TS puro) é praticamente zero — razão técnica por trás da escolha do ecossistema.
DNS Records (A, AAAA, CNAME, MX, TXT)
Tipos de registro do DNS: A aponta nome → IPv4; AAAA → IPv6; CNAME aponta nome → outro nome (alias); MX define servidor de e-mail; TXT carrega texto livre (SPF, DKIM, verificações de domínio). TTL controla quanto tempo resolvers cacheiam — TTL alto = propagação lenta de mudanças. Ex.: nr1.otimizapro.com CNAME → otimiza-nr1.workers.dev (proxiado pela Cloudflare); _dmarc.otimiza.pro TXT → "v=DMARC1; p=reject; ...".
TLS Certificate (Let's Encrypt, SAN, Wildcard)
Certificado digital que comprova identidade do servidor e habilita HTTPS. Let's Encrypt é a CA gratuita dominante (renovação automática a cada 90 dias via protocolo ACME). SAN (Subject Alternative Name) permite múltiplos domínios no mesmo cert; wildcard (*.otimiza.pro) cobre todos os subdomínios de um nível. Cert expirado = erro de browser + perda total de tráfego HTTPS. Ex.: Cloudflare gerencia cert wildcard automaticamente para zonas proxied — você nunca toca, mas se desabilitar proxy laranja, precisa cuidar do cert no origin.
SSE (Server-Sent Events)
Protocolo HTTP de streaming unidirecional servidor → cliente, mais simples que WebSocket. Mantém conexão aberta com Content-Type: text/event-stream; cliente lê chunks via EventSource API do browser. Suportado nativamente em todos os browsers. Padrão para streaming de tokens de LLM em chat (Claude/OpenAI usam SSE), notificações server-push e progresso de jobs longos. Ex.: o chat A.N.A. consome SSE do Worker — a cada token recebido do Claude, faz append no DOM. UX de "digitando" sem polling nem WebSocket.
N+1 Query Problem
Anti-pattern em que código faz 1 query para buscar N itens e depois 1 query adicional por item para popular relações — total N+1 queries em vez de 1 join (ou 1 WHERE IN). Killer silencioso de performance: roda em 50ms com 10 itens, em 5s com 1.000. Ex.: listar 100 leads e pegar nome do segmento de cada um via leads.find().forEach(l => segments.findById(l.segment_id)) → 101 queries; substituir por JOIN segments ON segments.id = leads.segment_id → 1 query.
Database Index (B-tree, partial, covering)
Estrutura auxiliar que acelera buscas em colunas — o trade-off é escrita mais lenta + espaço em disco. B-tree é o default (ordenado, range queries). Partial index indexa só linhas que satisfazem WHERE (WHERE deleted_at IS NULL — economia massiva). Covering index inclui todas as colunas que a query lê, evitando salto para a tabela. Saber qual usar = diferença entre 2ms e 2s. Ex.: CREATE INDEX idx_leads_score_active ON leads(score DESC) WHERE deleted_at IS NULL — partial + ordenado, perfeito para "top leads ativos por score".
Transaction (ACID)
Unidade lógica de trabalho no banco que ou aplica todas as mudanças ou nenhuma (rollback). ACID = Atomicidade (tudo ou nada), Consistência (regras preservadas), Isolamento (queries concorrentes não interferem), Durabilidade (commit sobrevive a crash). Sem transação, débito de uma conta sem crédito na outra é bug à espera de acontecer. Ex.: BEGIN; UPDATE accounts SET balance = balance - 100 WHERE id = 1; UPDATE accounts SET balance = balance + 100 WHERE id = 2; COMMIT; — se a segunda UPDATE falha, a primeira faz rollback.
OpenTelemetry (OTel)
Padrão open-source unificado para coletar logs, metrics e traces de aplicações — vendor-neutral (você instrumenta uma vez, exporta para Datadog, Honeycomb, Grafana, Jaeger). Substitui agentes proprietários (New Relic, AppDynamics) e fragmentação por linguagem. SDK em Node, Python, Go, Java; protocolo de transporte OTLP. Ex.: instrumentar Worker com @opentelemetry/sdk-node + exportar OTLP para Honeycomb — vê trace de "request → handler → DB → LLM call" com tempo em cada span.
Source Map
Arquivo .map gerado pelo bundler que mapeia código minificado em produção → código original (TS, JSX) para debug. Sem source map, stack trace em prod aponta para linha 1 coluna 47.000 de um bundle ilegível. Sentry, Datadog e DevTools do browser usam para mostrar erro no código real. Ex.: wrangler deploy --outdir dist gera dist/worker.js + dist/worker.js.map — subir o .map para Sentry permite stack trace humano em erros de prod.
HMR (Hot Module Replacement)
Recurso de dev servers (Vite, Webpack Dev Server, Next.js dev) que substitui módulos individuais em runtime sem recarregar a página inteira nem perder estado da aplicação. Diferente de "hot reload" simples (que recarrega): HMR preserva estado React/Vue, scroll, formulários. Tornou dev em SPA tolerável. Ex.: alterar uma cor no Tailwind em app.tsx durante npm run dev no Vite — visual atualiza em < 100ms sem perder o login que você estava testando.
OIDC (OpenID Connect)
Camada de autenticação construída sobre OAuth 2.0 (que é autorização). OAuth diz "este token pode acessar X"; OIDC diz "este usuário é a pessoa Y" via ID Token JWT padronizado com claims sub, email, name. É o padrão moderno do "Entrar com Google/Microsoft/GitHub". Ex.: integrar Microsoft Entra ao Otimizapro Admin — Entra emite ID Token (OIDC) + Access Token (OAuth); a app valida o ID Token para saber quem é o usuário.
Refresh Token vs Access Token
Access Token: curta duração (15-60 min), enviado em cada requisição autenticada — se vazar, estrago dura pouco. Refresh Token: longa duração (dias/meses), usado para obter novo Access Token quando o atual expira. Refresh fica em armazenamento mais protegido (HttpOnly cookie), Access em memória. Ex.: A.N.A. no browser: Access em memória (15 min) → expirou? envia Refresh (HttpOnly cookie) ao /auth/refresh → recebe novo Access; usuário nunca vê tela de login.
Cookie Attributes (SameSite, HttpOnly, Secure)
Atributos que controlam quando e como cookies são enviados — defesa primária contra CSRF e roubo de sessão via XSS. HttpOnly: JS não enxerga (defesa XSS). Secure: só envia via HTTPS. SameSite: Strict (nunca cross-site), Lax (default moderno, navegação top-level ok), None (cross-site explícito, exige Secure). Cookie de auth sem HttpOnly + Secure + SameSite=Lax é vulnerabilidade na cara. Ex.: Set-Cookie: session=abc...; HttpOnly; Secure; SameSite=Lax; Path=/; Max-Age=3600 — defesa básica em qualquer auth com cookie.

Soluções Otimiza.pro para o seu negócio

Do conceito à execução — plataforma completa de marketing, vendas e tecnologia.

Pronto para transformar termos em resultado?

Mais de 500 empresas já usam a Otimiza.pro para gerar mais leads, reduzir custos e escalar marketing com tecnologia. Fale com um especialista agora.

Perguntas Frequentes

O que é SEO e por que é importante?

SEO (Search Engine Optimization) é o conjunto de técnicas para melhorar o posicionamento de um site nos resultados orgânicos do Google. É importante porque mais de 90% dos cliques acontecem na primeira página — sem SEO, seu site fica invisível para potenciais clientes.

Qual a diferença entre SPA, SSR e SSG?

SPA (Single Page Application) carrega tudo no navegador via JavaScript. SSR (Server-Side Rendering) gera HTML no servidor a cada requisição, melhor para SEO. SSG (Static Site Generation) gera HTML em build time, ideal para conteúdo que não muda com frequência. A escolha depende do seu caso de uso.

O que é React Helmet e para que serve?

React Helmet é uma biblioteca que permite gerenciar dinamicamente as tags do <head> em aplicações React — título, meta description, Open Graph, canonical URL. É essencial para SEO em SPAs, onde cada rota precisa de meta tags diferentes.

Qual a diferença entre CPC, CPM e CPA?

CPC (Custo por Clique) cobra por cada clique no anúncio. CPM (Custo por Mil Impressões) cobra a cada 1.000 visualizações. CPA (Custo por Aquisição) cobra apenas quando o usuário converte (compra, lead). CPA é o mais alinhado com resultado, mas geralmente exige mais dados.

O que são Cloudflare Workers?

Cloudflare Workers é uma plataforma serverless edge que executa JavaScript em mais de 300 datacenters pelo mundo. Isso significa que seu código roda próximo ao usuário final, reduzindo latência drasticamente. É a base da infraestrutura da Otimiza.pro.

O que é Engenharia de Prompt?

Engenharia de Prompt é a disciplina de projetar instruções (prompts) que produzem respostas consistentes, precisas e seguras de modelos de linguagem (LLMs) como Claude, GPT e Gemini. Vai muito além de "fazer a pergunta certa": envolve estruturar o system prompt, escolher técnicas (zero-shot, few-shot, Chain-of-Thought), parametrizar inferência (temperature, top-p, max tokens), ancorar respostas em fontes (RAG, grounding), expor ferramentas (tool use, MCP) e validar com evals. É a ponte entre linguagem humana e linguagem de máquina — quanto mais clara e disciplinada a comunicação, melhores os resultados.

O que é lead scoring e como funciona?

Lead scoring é um sistema que atribui pontos a cada lead com base em ações (abriu email, visitou página, preencheu formulário) e perfil (cargo, empresa, setor). Leads com pontuação alta são priorizados pela equipe de vendas. A Otimiza.pro usa scoring automatizado via CRM.

Qual a diferença entre REST e GraphQL?

REST usa endpoints separados por recurso (GET /users, POST /orders) e retorna dados fixos. GraphQL usa um único endpoint onde o cliente especifica exatamente os campos que precisa. GraphQL reduz over-fetching, mas REST é mais simples e amplamente adotado.

O que é CI/CD e por que usar?

CI (Continuous Integration) automatiza build e testes a cada commit. CD (Continuous Deployment) envia automaticamente para produção após os testes passarem. Juntos, eliminam deploy manual, reduzem erros e aceleram entregas — essencial para equipes que precisam iterar rápido.

Compartilhe este glossário