# architect Ferramentas bem criadas (well-architected-tools) - Full Documentation # ⚡️ Explorador antipadrões Armadilhas comuns que minam a Trust, a facilidade de uso e a adaptabilidade no Salesforce. ## Confiável Práticas que comprometem a segurança, a conformidade ou a confiabilidade e como evitá-las.
Confiável – Antipadrões
Seguro Conformidade Confiável
## Fácil Práticas que aumentam a complexidade, reduzem a automação ou afetam a experiência do usuário.
Fácil – Antipadrões
Intencional Automatizado Engajamento
## Adaptável Práticas que reduzem a resiliência, limitam a capacidade de composição ou dificultam a alteração.
Adaptable – Antipadrões
Resistente Composto
# ✅ Explorador de padrões Padrões comprovados para criar soluções confiáveis, fáceis e adaptáveis no Salesforce. ## Confiável Proteja sistemas e dados, cumpra padrões legais e éticos e ofereça soluções disponíveis e de alto desempenho.
Confiável – Padrões
Seguro Conformidade Confiável
## Fácil Projetado para clareza, automação e uma experiência de usuário envolvente.
Fácil – Padrões
Intencional Automatizado Engajamento
## Adaptável Crie para a mudança com operações resilientes e arquitetura composível.
Adaptable – Padrões
Resistente Composto
# Automatizado – Eficiência ### Padrão de KPIs Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatizado](/docs/architect/pt-br/well-architected/guide/automated) → [Eficiência](/docs/architect/pt-br/well-architected/guide/automated#eficiência) → [KPIs](/docs/architect/pt-br/well-architected/guide/automated#kpis) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Negócios | ✅ Os KPIs para seus casos de uso específicos são identificados antes de habilitar um recurso de IA gen para seus casos de uso específicos são identificados antes de habilitar um recurso de IA gen | | Plataforma \| Painéis | ✅ Todas as métricas relacionadas a KPIs estão incluídas em pelo menos um painel | | Plataforma \| Documentação | ✅ Saídas para cada automação são mensuráveis e temporizadas | | Plataforma \| Documentação | ✅ Partes interessadas responsáveis são listadas para cada KPI | ### Padrão de lógica operacional Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatizado](/docs/architect/pt-br/well-architected/guide/automated) → [Eficiência](/docs/architect/pt-br/well-architected/guide/automated#eficiência) → [Lógica Operacional](/docs/architect/pt-br/well-architected/guide/automated#lógica-operacional) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Negócios | ✅ As necessidades de atualização de segmentação são avaliadas antes de implementar a federação de dados Antes de federar dados de origens externas, garanta que a agenda de 12 ou 24 horas padrão para atualização e ativação de segmento do Data 360 para o Marketing Cloud Engagement atenda às necessidades de negócios. No momento, não há suporte para segmentação e ativação rápidas quando você usa a federação de dados Traga seu próprio lago (BYOL) | | Data 360 \| Documentação | ✅ Projeto para uma conexão 1:1 ou 1:muitas entre o Marketing Cloud e o Data 360 Muitas instâncias do CRM podem ser conectadas a muitas instâncias do Data 360, mas mais de uma instância do Marketing Cloud não pode ser conectada à mesma instância do Data 360.No entanto, uma única instância do Marketing Cloud pode ser conectada a diferentes instâncias do Data 360 | | Data 360 \| Organização | ✅ Otimize suas agendas de segmentação Definir agendas de publicação apenas para a duração necessária para o segmento. Campanhas ad hoc ou únicas devem usar a Agenda de publicação "Não atualizar". Campanhas Evergreen (aka "sempre ativas") devem usar uma Agenda de publicação a cada 12 horas. Para campanhas Evergreen, defina a Data de término apenas no futuro em que a campanha estará ativa | | Data 360 \| Organização | ✅ Otimize suas agendas de percepções calculadas Se o Insight calculado precisar ser executado apenas uma vez, use a opção "Não agendado" e publique manualmente apenas uma vez. Se necessário com menos frequência do que a cada 24 horas, considere outras opções de automação, como Fluxo | | Data 360 \| Organização | ✅ Usar ações de dados para criar eventos de plataforma para melhorar a lógica operacional Usar ações de dados para publicar um evento de plataforma significa que você pode desacoplar a ação de dados que vem do Data 360 (publicando um evento) das ações que você precisa que ocorram em sua organização (invocando fluxos e acionadores do Apex). Isso aumenta a escala de ações às quais sua organização pode reagir no Data 360 e aumenta o controle sobre sua lógica operacional. | | Einstein \| Agentes | ✅ Defina as instruções do agente como parte do processo de criação/teste iterativo Crie os campos de tópico do agente obrigatórios (nome, descrição, escopo) e adicione ações associadas e comece a testar o tópico. Adicione incrementalmente instruções para orientar seu agente a executar o tópico e selecionar ações da maneira desejada em um loop de compilação/teste iterativo | | Einstein \| Organização | ✅ Seus modelos de prompt especificam a persona e a meta da persona Seus modelos de prompt contêm informações contextuais, como a persona que o LLM deve assumir, bem como a meta desse caractere. Por exemplo, inclua linguagem como "Você é um executivo de marketing que quer convidar clientes importantes para um evento ativo". | | Einstein \| Índices de pesquisa | ✅ Omita campos com baixa entropia ao criar índices de pesquisa para DMOs estruturados Para melhorar a relevância, considere excluir pontos de dados com muito baixa cardinalidade (o número de elementos distintos em uma lista) ou baixa entropia (entradas de lista concentradas em torno de alguns valores). Em geral, esses campos fornecem pouca ou nenhuma informação útil para localizar dados relevantes com a pesquisa do vetor | | Plataforma \| Apex | ✅ As instruções SOQL são seletivas Operadores de comparação usam lógica positiva (ou seja, `INCLUDES`, `IN`) como lógica primária ou única em instruções SOQL | | Plataforma \| Apex | ✅ As declarações SOQL são seletivas Uso de `= NULL`, `!= NULL` é raro e/ou sempre segue um operador de comparação positivo em declarações SOQL | | Plataforma \| Apex | ✅ As instruções SOQL são seletivas Nenhuma instrução `LIMIT 1` aparece em SOQL | | Plataforma \| Apex | ✅ As instruções SOQL são seletivas Nenhum uso da palavra-chave `ALL ROWS` aparece nas instruções SOQL | | Plataforma \| Apex | ✅ Nenhum SOQL aparece em um loop | | Plataforma \| Apex | ✅ Todos os critérios curingas aparecem em SOSL | | Plataforma \| Apex | ✅ As instruções SOQL são seletivas Nenhuma instrução SOQL usa comparações de `LIKE` ou comparações de texto parcial | | Plataforma \| Apex | ✅ SOQL é encapsulado em `try-catch` | | Plataforma \| Apex | ✅ Nenhuma variável se refere a valores embutidos em código (para tipos de registro, usuários etc. | | Plataforma \| Padrões de design | ✅ Os casos de uso para operações síncronas e assíncronas em automações são descritos claramente como parte dos padrões de design | | Plataforma \| Documentação | ✅ Caminhos de execução planejados e em potencial para automações são descritos claramente | | Plataforma \| Fluxo | ✅ Nenhuma variável se refere a valores embutidos em código (para tipos de registro, usuários etc.) | | Plataforma \| Fluxo | ✅ Fluxos (incluindo processos) ligam a lógica ao Apex em contextos de grande volume de dados | | Plataforma \| Fluxo | ✅ Os subfluxos são usados para as seções de um processo que precisam ser reutilizados em todo o negócio | | Plataforma \| Fluxo | ✅ Todos os fluxos e processos iniciados automaticamente usam elementos de decisão e/ou pausa para avaliar critérios de entrada e evitar loops ou execuções infinitas em grandes volumes de dados | ### Padrão de design de processos Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatized](/docs/architect/pt-br/well-architected/guide/automated) → [Efficiency](/docs/architect/pt-br/well-architected/guide/automated#eficiência) → [Process Design](/docs/architect/pt-br/well-architected/guide/automated#design-de-processos) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Organização | ✅ Otimizar o total de linhas processadas em transformações em lote em transformações de dados, use uma atividade de filtro na tela para isolar apenas as linhas que precisam ser processadas para uma transformação bem-sucedida | | Data 360 \| Organização | ✅ Consolidar dimensões entre Insights calculados Em vez de escrever vários Insights calculados com uma dimensão cada, consolide ambas as dimensões em um Insight calculado quando possível | | Plataforma \| Apex | ✅ Cada classe atende a um único propósito específico | | Plataforma \| Apex | ✅ Cada método realiza uma tarefa granular específica | | Plataforma \| Apex | ✅ Todas as variáveis de entrada têm um propósito claro dentro da classe | | Plataforma \| Apex | ✅ A execução de código requer um número mínimo de recursos | | Plataforma \| Fluxo | ✅ Os usuários são solicitados a fornecer dados apenas quando os dados existentes do sistema não puderem ser usados | | Plataforma \| Fluxo | ✅ Os fluxos são organizados em uma estrutura hierárquica que consiste em um fluxo principal e subfluxos de suporte | | Plataforma \| Fluxo | ✅ Todas as entradas do usuário têm um propósito claro no fluxo | | Plataforma \| Fluxo | ✅ Cada fluxo atende a uma única finalidade específica | | Plataforma \| Fluxo | ✅ Cada etapa realiza uma tarefa granular específica | --- ### Antipadrão de KPIs Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatizado](/docs/architect/pt-br/well-architected/guide/automated) → [Eficiência](/docs/architect/pt-br/well-architected/guide/automated#eficiência) → [KPIs](/docs/architect/pt-br/well-architected/guide/automated#kpis) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------- | | Plataforma \| Painéis | ⚡️ O relatório de KPI não existe ou os painéis estão sem métricas relacionadas a alguns KPIs | | Plataforma \| Documentação | ⚡️ Há KPIs sem partes interessadas responsáveis | | Plataforma \| Documentação | ⚡️ Os KPIs não existem para automações ou têm períodos de tempo imprecisos para medidas | ### Antipadrão de lógica operacional Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatizado](/docs/architect/pt-br/well-architected/guide/automated) → [Eficiência](/docs/architect/pt-br/well-architected/guide/automated#eficiência) → [Lógica Operacional](/docs/architect/pt-br/well-architected/guide/automated#lógica-operacional) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Documentação | ⚡️ Projeto para uma conexão do tipo many:1 entre os Diagramas do Marketing e o Data 360 ou documentos de design de soluções especificam mais de uma instância do Marketing Cloud conectada a uma instância singular do Data 360 por meio do Conector do Marketing Cloud | | Data 360 \| Organização | A federação de dados é implementada sem avaliar as necessidades de atualização de segmentação A federação de dados é aproveitada para conjuntos de dados que exigem segmentação e ativação rápidas (1 hora ou 4 horas para enviar dados de ativação) versus 12 horas ou 24 horas padrão | | Data 360 \| Organização | A federação de dados é implementada sem avaliar as necessidades de transformação de dados Um DLO externo contém os dados necessários para transformações de dados de streaming | | Einstein \| Agentes | ⚡️ Defina as instruções do agente no início do processo de design Instruções são adicionadas antes de testar a capacidade do agente de executar o tópico e selecionar as ações adequadas | | Plataforma \| Apex | ⚡️ As instruções SOQL não são seletivas Comparações usando `NOT`, critérios de `NOT IN` são usados como o operador de comparação principal ou único em instruções SOQL | | Plataforma \| Apex | ⚡️ As instruções SOQL não são seletivas `ALL ROWS` é usada em instruções SOQL | | Plataforma \| Apex | ⚡️ As instruções SOQL são `= NULL` não seletivas, os critérios de `!= NULL` são usados como o operador principal ou único de comparação nas instruções SOQL | | Plataforma \| Apex | ⚡️ As variáveis têm valores embutidos em código | | Plataforma \| Apex | ⚡️ SOQL aparece dentro de loops | | Plataforma \| Apex | As instruções SOQL são `LIKE` não seletivas e os critérios de filtro curinga aparecem com frequência em instruções SOQL em instruções SOQL | | Plataforma \| Apex | ⚡️ SOQL não está encapsulado em `try-catch` | | Plataforma \| Apex | ⚡️ As instruções SOQL não são instruções `LIMIT 1` seletivas aparecem em SOQL | | Plataforma \| Apex | ⚡️ SOSL raramente é usado ou não é usado de modo consistente para critérios de seleção de curinga | | Plataforma \| Padrões de design | ⚡️ Os casos de uso para operações síncronas e assíncronas não são tratados | | Plataforma \| Documentação | A invocação de automação não está documentada | | Plataforma \| Fluxo | ⚡️ As variáveis têm valores embutidos em código | | Plataforma \| Fluxo | Fluxos (incluindo processos) devem ser desativados manualmente antes de carregamentos de dados em massa | | Plataforma \| Fluxo | ⚡️ Partes de um fluxo são repetidas entre fluxos em vez de usar subfluxos | | Plataforma \| Fluxo | Fluxos (incluindo processos) acionam avisos de "exceção não tratada" | | Plataforma \| Fluxo | ⚡️ Mesmo fluxos simples geralmente causam erros relacionados aos limites do regulador | ### Antipadrão do design de processos Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatized](/docs/architect/pt-br/well-architected/guide/automated) → [Efficiency](/docs/architect/pt-br/well-architected/guide/automated#eficiência) → [Process Design](/docs/architect/pt-br/well-architected/guide/automated#design-de-processos) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | ⚡️ As classes têm várias finalidades | | Plataforma \| Apex | Métodos realizam várias tarefas ou métodos realizam tarefas que não estão alinhadas à finalidade declarada da classe da qual fazem parte | | Plataforma \| Apex | As variáveis de entrada não são, na verdade, usadas em métodos | | Plataforma \| Apex | Métodos que recuperam dados desnecessariamente do banco de dados ou de sistemas externos | | Plataforma \| Fluxo | Fluxos exigem entradas adicionais para fornecer contexto | | Plataforma \| Fluxo | Fluxos atendem a várias finalidades | | Plataforma \| Fluxo | Grupos de etapas relacionadas contêm funcionalidade que se sobrepõe a grupos de etapas em outros fluxos | | Plataforma \| Fluxo | ⚡️ Os fluxos solicitam entradas do usuário quando os dados armazenados podem ser usados | | Plataforma \| Fluxo | Fluxos exigem entradas cujos dados não são usados | --- # Automatizado – Integridade de dados ### Padrão de processamento de dados Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatizado](/docs/architect/pt-br/well-architected/guide/automated) → [Integridade de dados](/docs/architect/pt-br/well-architected/guide/automated#integridade-de-dados) → [Manuseio de dados](/docs/architect/pt-br/well-architected/guide/automated#tratamento-de-dados) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Dicionário de dados | ✅ Há dados em nível de campo e lógica de priorização para todas as fontes de dados e objetos de data lake | | Data 360 \| Organização | ✅ Chaves compostas são usadas para criar uma chave primária exclusiva se não existir. Use um campo de fórmula para unir vários campos do seu conjunto de dados quando não houver um único campo no conjunto de dados que seja exclusivo | | Data 360 \| Organização | ✅ Fluxos de dados que usam o Conector do CRM aproveitam a atualização completa de duas semanas Ao usar o Conector do CRM para cargas incrementais, uma atualização completa é iniciada a cada duas semanas. Embora isso possa aumentar a ingestão de dados, ele protege a integridade dos metadados (como campos de fórmula), que não acionam uma transação DML e, como resultado, não são incluídos em cargas incrementais | | Data 360 \| Organização | ✅ O ID individual é usado para mapear dados do Data 360 para outros sistemas Mapear indivíduos no Data 360 para outros sistemas usando o ID individual. Por exemplo, a Chave de assinante do Marketing Cloud Engagement deve ser mapeada para o ID individual do Data 360 | | Data 360 \| Organização | ✅ Chaves totalmente qualificadas são usadas para interpretar dados com precisão Todos os DLOs que contêm um valor de chave têm um campo qualificador de chave e Chaves totalmente qualificadas (FQK) são habilitadas na organização para evitar conflitos que possam ocorrer quando vários fluxos de dados são harmonizados em um único objeto de modelo de dados (DMO) | | Data 360 \| Organização | ✅ Os métodos de correspondência normalizados são usados em regras de correspondência quando estão disponíveis. A correspondência normalizada exata transforma dados de origem para resolver problemas de correspondência comuns, como espaços no final, formatação inconsistente e caracteres especiais. Aproveite esse método em campos em que ele está disponível, em vez de usar correspondência parcial, a menos que você tenha configurado vários conjuntos de regras para teste e confirmado que a taxa de consolidação não atende às necessidades de negócios | | Einstein \| Documentação | ✅ A utilidade dos dados é documentada como parte do projeto de IA A definição de utilidade dos dados da sua empresa é documentada e operativa para melhorar as respostas de IA | | Plataforma \| Apex | ✅ Futuro Apex é usado com moderação, para chamadas ou DML de objeto do sistema | | Plataforma \| Apex | ✅ As invocações assíncronas do Apex usam DML complexo enfileirável para "corrente" em transações | | Plataforma \| Apex | ✅ O Apex em lote é usado exclusivamente para grandes volumes de dados O Apex em lote é o melhor para processar grandes quantidades de dados. O Apex assíncrono tem limites mais altos do que o Apex síncrono para que mais trabalho possa ser feito. Evite tamanhos de lote muito pequenos quando possível para evitar consequências de controle de fluxo (inundação de filas), sobrecarga e esgotamento do limite diário do Apex assíncrono | | Plataforma \| Apex | ✅ Todas as instruções DML síncronas ou métodos de classe de banco de dados são realizadas em contextos de execução de acionador antes | | Plataforma \| Apex | ✅ A API em massa é usada apenas quando grandes quantidades de dados precisam ser processadas. A API em massa é usada quando grandes quantidades de dados precisam ser processadas. APIs SOAP e REST nativas são aproveitadas para quantidades menores de processamento de dados | | Plataforma \| Dicionário de dados | ✅ O mapeamento de campo do objeto de data lake para o objeto de modelo de dados existe | | Plataforma \| Fluxo | ✅ Todos os fluxos iniciados no contexto do usuário resumem todas as transações de contexto do sistema para subfluxos, que são colocados de modo consistente após um elemento Pausar, para criar uma nova transação | | Plataforma \| Fluxo | ✅ Todos os fluxos acionados por registro têm valores de ordem do acionador preenchidos | | Plataforma \| Fluxo | ✅ Fluxos que envolvem chamadas do sistema externo ou processos de execução longa usam caminhos assíncronos | | Plataforma \| Fluxo | ✅ Sequências complexas de operações de dados relacionadas são criadas com o Orquestrador (em vez de invocar vários subfluxos em um fluxo monolítico) | | Plataforma \| Organização | ✅ Regras de reconciliação de resolução de identidade seguem a lógica de priorização em seu dicionário de dados | ### Padrão de tratamento de erros Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatizado](/docs/architect/pt-br/well-architected/guide/automated) → [Integridade de Dados](/docs/architect/pt-br/well-architected/guide/automated#integridade-de-dados) → Tratamento de [erros](/docs/architect/pt-br/well-architected/guide/automated#manipulação-de-erros) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Organização | ✅ Os avisos especificam a saída esperada Incluir instruções diretas para que o LLM gere apenas o tipo de conteúdo esperado. | | Plataforma \| Apex | ✅ Exceções personalizadas são usadas para criar mensagens de erro avançadas e lógica | | Plataforma \| Apex | ✅ O código engloba todas as etapas de DML, SOQL, chamadas e outros processos críticos em blocos de `try-catch` | | Plataforma \| Apex | ✅ Os métodos de classe de banco de dados podem ser usados exclusivamente para todas as operações de dados (em vez de DML) | | Plataforma \| Apex | ✅ Em contextos assíncronos e em massa, métodos de classe de banco de dados são usados em vez de DML | | Plataforma \| Aura | ✅ JavaScript engloba todas as operações de dados e etapas críticas do processo em blocos de `try-catch` | | Plataforma \| Aura | ✅ Dentro de blocos de `try-catch`, `Error` JavaScript nativo é usado em instruções de tiro (sem uso de `$A.error()`) | | Plataforma \| Aura | ✅ Todas as lógicas de erro recuperáveis aparecem nas instruções de `catch` e fornecem mensagens claras do usuário | | Plataforma \| Fluxo | ✅ Fluxos com operações de dados, chamadas e outra lógica de processamento crítica têm caminhos de falha para todas as ações-chave | | Plataforma \| Fluxo | ✅ Fluxos de tela usam consistentemente conectores de falha para mostrar erros aos usuários | | Plataforma \| Fluxo | ✅ Mensagens de erro personalizadas são configuradas para erros que aparecerão na tela | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ JavaScript engloba todas as operações de dados e etapas críticas do processo em blocos `if ()`/`else if ()` | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ Todas as funções de `@wire` usam propriedades de `data` e `error` fornecidas pela API | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ Todas as instruções `if (error)`/`else if (error)` contêm lógica para processar erros e fornecer mensagens informativas | --- ### Antipadrão de processamento de dados Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatizado](/docs/architect/pt-br/well-architected/guide/automated) → [Integridade de dados](/docs/architect/pt-br/well-architected/guide/automated#integridade-de-dados) → [Manuseio de dados](/docs/architect/pt-br/well-architected/guide/automated#tratamento-de-dados) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Data 360 \| Organização | Campos com métodos de correspondência normalizada com suporte usam correspondência parcial Correspondência parcial é aplicada a campos que oferecem métodos de correspondência normalizada exatos | | Data 360 \| Organização | Supõe-se que o ID de indivíduo unificado seja imutável. O ID de indivíduo unificado é usado como um ID mestre ou um ID global para ser usado pelo restante da organização | | Data 360 \| Organização | ⚡️ A Data do evento é mapeada para um valor de DateTime mutável. A Data do evento é mapeada para um campo de DateTime mutável, como LastUpdated ou LastExtracted | | Data 360 \| Organização | ⚡️ A chave primária é mapeada para um campo que não é exclusivo Escolha qualquer campo como uma chave primária para seu fluxo de dados se não existir um no seu conjunto de dados sem validar primeiro se o campo selecionado é exclusivo | | Data 360 \| Organização | ⚡️ Carregando dados em lotes e tentando ativá-los em tempo real. Por exemplo, uma abordagem comum, mas com defeito, pode envolver carregar dados a cada hora de um bucket do Amazon S3 e então ativá-los por meio de ações de dados | | Plataforma \| Apex | As instruções DML aparecem regularmente no código que será chamado após os contextos de acionador | | Plataforma \| Apex | Os trabalhos do Apex em lote têm um tamanho de escopo muito pequeno. São usados tamanhos de lote muito pequenos (como tamanho de escopo = 1). | | Plataforma \| Apex | O Apex em lote é usado para chamadas externas Grandes volumes de dados do Salesforce são enviados do Salesforce para um sistema externo usando o Apex em lote | | Plataforma \| Apex | ⚡️ Os eventos de plataforma Publicar imediatamente são usados adhoc Os eventos Publicar imediatamente (em tempo real) são usados em vez de Publicar após confirmação (não em tempo real), independentemente dos requisitos de pedido de publicação ou dos riscos de bloqueio de registro. | | Plataforma \| Apex | Os recursos do Apex assíncrono são usados arbitrariamente Métodos futuros e o Apex enfileirável são usados de forma inconsistente ou intercambiável | | Plataforma \| Apex | Os recursos do Apex assíncronos são usados arbitrariamente; não está claro quando os desenvolvedores sabem usar futuro vs Apex enfileirável, quando entregar DML para trabalhos em lote | | Plataforma \| Apex | Apex assíncrono é raramente usado | | Plataforma \| Apex | Os recursos do Apex assíncronos são usados arbitrariamente As operações do banco de dados não têm lógica clara e consistente para passar a execução para o Apex em lote quando necessário | | Plataforma \| Dicionário de dados | ⚡️ O mapeamento de campo de objetos de data lake para objetos de modelo de dados não está incluído | | Plataforma \| Dicionário de dados | Dados em nível de campo e lógica de priorização para origens de dados e objetos de data lake não são incluídos | | Plataforma \| Fluxo | ⚡️ Executar DML usando uma coleção que é uma saída de um componente de tela Aproveitando a configuração "Usar os IDs e todos os valores de campo de um registro ou coleção de registros" em um elemento de criação, atualização ou exclusão, quando essa coleção é uma saída de um componente de tela | | Plataforma \| Fluxo | Fluxos acionados por registro não usam atributos de ordem do acionador nem usam valores de ordem do acionador de modo consistente | | Plataforma \| Fluxo | ⚡️ Caminhos assíncronos não são usados de modo consistente ou não são usados de modo algum | | Plataforma \| Fluxo | Fluxos grandes e monolíticos tentam coordenar sequências complexas de operações de dados relacionadas (com ou sem subfluxos) | | Plataforma \| Organização | ⚡️ Regras de reconciliação de resolução de identidade não seguem a lógica de priorização no dicionário de dados | ### Antipadrão de manipulação de erros Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Automatizado](/docs/architect/pt-br/well-architected/guide/automated) → [Integridade de Dados](/docs/architect/pt-br/well-architected/guide/automated#integridade-de-dados) → Tratamento de [erros](/docs/architect/pt-br/well-architected/guide/automated#manipulação-de-erros) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | DML, SOQL, chamadas ou outras etapas críticas do processo não são colocadas de modo consistente em blocos de captura de teste | | Plataforma \| Apex | ⚡️ Nenhum método de classe de banco de dados é usado | | Plataforma \| Apex | ⚡️ As operações de dados são feitas exclusivamente com DML | | Plataforma \| Apex | As declarações de `System.debug` aparecem no código de produção (e não são comentadas) | | Plataforma \| Aura | ⚡️ O JavaScript não engloba consistentemente operações de dados e etapas críticas do processo em blocos de `try-catch` | | Plataforma \| Aura | Componentes usam `$A.error()` | | Plataforma \| Aura | ⚡️ Lógica de erro recuperável não aparece consistentemente nas instruções de `catch`, e as mensagens de erro para os usuários não estão claras | | Plataforma \| Fluxo | ⚡️ Os fluxos não usam caminhos de falha de modo consistente ou de modo algum | | Plataforma \| Fluxo | Como as mensagens de erro personalizadas não são usadas, os usuários veem a mensagem padrão "Uma falha não tratada ocorreu nesse fluxo" | | Plataforma \| Componentes da Web Lightning (LWC) | Funções de `@wire` não usam propriedades de `data` e `error` fornecidas pela API (ou não as usam de forma consistente) | | Plataforma \| Componentes da Web Lightning (LWC) | ⚡️ Se usado, as instruções `if (error)`/`else if (error)` na verdade não contêm lógica para processar erros e fornecer mensagens úteis de erro | | Plataforma \| Componentes da Web Lightning (LWC) | O JavaScript não usa consistentemente blocos `if ()`/`else if ()` com operações de dados ou etapas críticas do processo | --- # Composável – Capacidade de empacotamento ### Padrão de gerenciamento de dependência Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Empacotabilidade](/docs/architect/pt-br/well-architected/guide/composable#capacidade-de-empacotamento) → [Gerenciamento de dependências](/docs/architect/pt-br/well-architected/guide/composable#gerenciamento-de-dependência) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ✅ Existem padrões para introduzir ou modificar dependências | | Plataforma \| Padrões de design | ✅ Existem padrões para declarar dependências | | Plataforma \| Pacotes | ✅ Nenhum metadado é duplicado entre pacotes | | Plataforma \| Pacotes | ✅ Para desenvolvimento de pacote, todo o trabalho de desenvolvimento de estágio inicial acontece em organizações teste | | Plataforma \| Controle de origem | ✅ Os desenvolvedores podem criar organizações teste e implementar metadados de pacote com sucesso a partir do controle de origem | | Plataforma \| Controle de origem | ✅ Versões de pacote para pacotes desbloqueados usam alias (`LATEST`) para declarar dependências em manifestos de `sfdx-project.json` | ### Padrão de acoplamento solto Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Empacotabilidade](/docs/architect/pt-br/well-architected/guide/composable#capacidade-de-empacotamento) → [Acoplamento solto](/docs/architect/pt-br/well-architected/guide/composable#acoplamento-solto) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | ✅ Métodos dependentes de informações dinâmicas de tempo de execução fazem referência a tipos de metadados personalizados apropriados | | Plataforma \| Apex | ✅ Serviços comuns e código de caldeira são definidos usando classes abstratas ou virtuais do Apex | | Plataforma \| Padrões de design | ✅ (Opcional) Todos os casos de uso aprovados para configurações personalizadas são listados claramente (se houver) | | Plataforma \| Padrões de design | ✅ Convenções de nomenclatura identificam como denotar unidades de pacote | | Plataforma \| Padrões de design | ✅ É possível pesquisar e localizar uma lista de todas as unidades de pacote definidas no momento (e convenções de nomenclatura relacionadas) | | Plataforma \| Padrões de design | ✅ Existem padrões para propor alterações ou adições de unidade do pacote | | Plataforma \| Organização | ✅ Tipos de metadados personalizados fornecem informações dinâmicas de tempo de execução para personalizações declarativas e de código | | Plataforma \| Organização | ✅ Não há objetos personalizados para fornecer informações dinâmicas de tempo de execução para personalizações declarativas ou de código | | Plataforma \| Organização | ✅ Não há configurações personalizadas ou há poucas configurações personalizadas e nenhuma está relacionada à funcionalidade do pacote | | Plataforma \| Pacotes | ✅ Nenhum pacote não gerenciado é definido em produção ou sandboxes | | Plataforma \| Pacotes | ✅ Pacotes desbloqueados dependentes da organização são usados apenas para experiências de estágio inicial ou de prova de conceito | | Plataforma \| Controle de origem | ✅ Arquivos de `package.xml` aparecem apenas em estágios iniciais ou manifestos de projeto de prova de conceito | --- ### Antipadrão de gerenciamento de dependência Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Empacotabilidade](/docs/architect/pt-br/well-architected/guide/composable#capacidade-de-empacotamento) → [Gerenciamento de dependências](/docs/architect/pt-br/well-architected/guide/composable#gerenciamento-de-dependência) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ⚡️ Os padrões de design não existem ou não tratam de como declarar dependências | | Plataforma \| Pacotes | Dependências são contornadas duplicando metadados em diferentes pacotes | | Plataforma \| Pacotes | ⚡️ O desenvolvimento de pacote antecipado acontece em sandboxes do desenvolvedor ou o desenvolvimento de pacote antecipado não pode acontecer em organizações teste | | Plataforma \| Controle de origem | ⚡️ Os desenvolvedores não podem trabalhar com sucesso com organizações teste usando o controle de origem | | Plataforma \| Controle de origem | Versões de pacote para pacotes desbloqueados são declaradas explicitamente (sem alias de `LATEST`) em manifestos de `sfdx-project.json` | ### Antipadrão de acoplamento solto Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Empacotabilidade](/docs/architect/pt-br/well-architected/guide/composable#capacidade-de-empacotamento) → [Acoplamento solto](/docs/architect/pt-br/well-architected/guide/composable#acoplamento-solto) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | ⚡️ Serviços comuns e código de caldeira não são facilmente distinguidos de outras classes | | Plataforma \| Apex | Os métodos não usam uma abordagem consistente para acessar informações dinâmicas de tempo de execução ou consultam objetos personalizados para informações de comportamento de tempo de execução ou fazem referência a configurações personalizadas de código | | Plataforma \| Apex | Referências internas entre classes e métodos são difíceis de seguir e são inconsistentes em toda a base de códigos | | Plataforma \| Padrões de design | ⚡️ Os padrões de design não existem ou não lidam com unidades de pacote e casos de uso | | Plataforma \| Organização | ⚡️ As configurações personalizadas são usadas | | Plataforma \| Organização | ⚡️ Existem objetos personalizados para fornecer informações dinâmicas de tempo de execução para personalizações declarativas ou de código | | Plataforma \| Organização | Tipos de metadados personalizados não são usados (ou não são usados de maneira consistente) para fornecer informações dinâmicas de tempo de execução para personalizações declarativas e de código | | Plataforma \| Pacotes | ⚡️ Pacotes não gerenciados são definidos em produção ou sandboxes | | Plataforma \| Pacotes | ⚡️ Todos os pacotes são pacotes desbloqueados dependentes da organização | | Plataforma \| Controle de origem | Os arquivos `package.xml` são usados para controlar implantações de metadados | --- # Composável – Interoperabilidade ### Padrão de gerenciamento de API Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Interoperability](/docs/architect/pt-br/well-architected/guide/composable#interoperabilidade) → [API Management](/docs/architect/pt-br/well-architected/guide/composable#gerenciamento-de-api) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ✅ Os aplicativos cliente usam a versão mais recente da API para chamar aplicativos do Salesforce Client que chamam APIs da Salesforce Platform atualizam regularmente a versão da API que estão usando | | Plataforma \| Padrões de design | ✅ Existem protocolos claros para comunicação entre componentes (ou seja, APIs) | | Plataforma \| Padrões de design | ✅ Os protocolos/APIs são descritos em grupos lógicos que os criadores podem pesquisar e localizar | | Plataforma \| Padrões de design | ✅ Os protocolos/APIs definem tipos de dados variáveis, nomes de variáveis, o que é obrigatório ou opcional e fornecem uma descrição clara de quando usar | | Plataforma \| Documentação | ✅ É possível pesquisar uma API ou protocolo específico e identificar componentes em que ele é implementado | | Plataforma \| Documentação | ✅ A documentação de cada componente lista claramente qual protocolo de API/comunicação foi implementado | | Plataforma \| Organização | ✅ Formatos de mensagem da API e variáveis para comunicação interna são definidos com tipos de metadados personalizados | | Plataforma \| Organização | ✅ Formatos de mensagem da API e variáveis para comunicação interna são definidos com eventos de plataforma | | Plataforma \| Organização | ✅ Personalizações declarativas e de código fazem referência ao tipo de metadados personalizados apropriado (ou evento de plataforma) para enviar ou receber informações | ### Padrão de mensagens e compromissos Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Interoperabilidade](/docs/architect/pt-br/well-architected/guide/composable#interoperabilidade) → [Mensagens e Eventos](/docs/architect/pt-br/well-architected/guide/composable#mensagens-e-eventos) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Organização | ✅ Usar ações de dados com eventos de plataforma para reutilizar padrões de integração existentes Aproveitar eventos de plataforma para disponibilizar ações de dados a sistemas externos aproveitar as integrações existentes de API Pub Sub e Retransmissão de evento | | Plataforma \| Apex | ✅ Definições de evento personalizadas têm escopo limitado (nenhum evento ou mensagem de todo o sistema é definido em código) | | Plataforma \| Apex | ✅ Serviços de mensagens ou eventos em todo o sistema no Apex são anotados de maneiras que os tornam disponíveis nas ferramentas do Salesforce Flow | | Plataforma \| Padrões de design | ✅ Existem padrões claros para quando usar padrões síncronos (messaging) e padrões assíncronos (eventing) | | Plataforma \| Padrões de design | ✅ Existem padrões claros para estruturas de eventos e mensagens | | Plataforma \| Fluxo | ✅ Ferramentas do Salesforce Flow fazem referência a serviços de mensagens ou compromissos de todo o sistema | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ Definições de evento personalizadas têm escopo limitado (nenhum evento ou mensagem de todo o sistema é definido em código) | | Plataforma \| Organização | ✅ Padrões consistentes de mensagens e compromissos aparecem em fluxos e códigos | | Plataforma \| Eventos de plataforma | ✅ Eventos de plataforma usados para mensagens internas do sistema são rotulados claramente | --- ### Antipadrão de gerenciamento de API Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Interoperability](/docs/architect/pt-br/well-architected/guide/composable#interoperabilidade) → [API Management](/docs/architect/pt-br/well-architected/guide/composable#gerenciamento-de-api) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Negócios | ⚡️ Os aplicativos cliente usam versões de API desatualizadas para chamar aplicativos Salesforce Client que chamam APIs da Salesforce Platform precisam atualizar regularmente a versão da API que estão usando para a versão mais recente | | Plataforma \| Padrões de design | ⚡️ Os padrões de design não existem ou não definem APIs e casos de uso | | Plataforma \| Documentação | ⚡️ A documentação do componente não existe | | Plataforma \| Documentação | A documentação do componente descreve a API implementada em um componente, mas esse é o único lugar em que a definição da API aparece | | Plataforma \| Documentação | ⚡️ Não é possível pesquisar uma API ou protocolo específico e/ou as pesquisas não ajudam a identificar componentes em que uma API ou protocolo foi implementado | | Plataforma \| Organização | As APIs são definidas exclusivamente para comunicação entre o Salesforce e sistemas externos | | Plataforma \| Organização | A comunicação entre componentes do sistema (código e personalizações declarativas) é ad hoc | ### Antipadrão de mensagens e eventos Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Interoperabilidade](/docs/architect/pt-br/well-architected/guide/composable#interoperabilidade) → [Mensagens e Eventos](/docs/architect/pt-br/well-architected/guide/composable#mensagens-e-eventos) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | Estruturas de eventos e/ou mensagens de todo o sistema são definidas em código | | Plataforma \| Apex | Estruturas de mensagens ou eventos de todo o sistema definidas no Apex não estão disponíveis em ferramentas como fluxo | | Plataforma \| Padrões de design | ⚡️ Não existem padrões de design ou eles não têm padrões claros para padrões de sincronização vs. assíncronos e padrões claros para estruturas de mensagem ou evento | | Plataforma \| Componentes da Web Lightning (LWC) | Estruturas de eventos e/ou mensagens de todo o sistema são definidas em código | | Plataforma \| Organização | Diferentes estratégias para mensagens e padrões de ocorrência aparecem em fluxo e código | | Plataforma \| Eventos de plataforma | Eventos de plataforma usados para mensagens internas do sistema não são rotulados claramente ou não existem | --- # Composável – Separação de preocupações ### Padrão de unidades funcionais Saiba mais sobre bem-construído [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Separation of Concerns](/docs/architect/pt-br/well-architected/guide/composable#separação-de-preocupações) → [Functional Units](/docs/architect/pt-br/well-architected/guide/composable#unidades-funcionais) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Organização | ✅ Iterar em modelos de prompts para entender quais entradas afetam a resposta Iterar em modelos de prompts para entender como as partes afetam a resposta do modelo | | Plataforma \| Padrões de design | ✅ Existe uma lista de todas as unidades funcionais definidas no momento (e convenções de nomenclatura relacionadas) | | Plataforma \| Padrões de design | ✅ Existem padrões para propor adições ou alterações de unidades funcionais | | Plataforma \| Padrões de design | ✅ Convenções de nomenclatura abordam como denotar uma unidade funcional | | Plataforma \| Documentação | ✅ Todos os diagramas de implementação e documentação mostram claramente as unidades funcionais para componentes | | Plataforma \| Documentação | ✅ Todos os componentes em uma unidade funcional são pesquisáveis e fáceis de localizar | | Plataforma \| Documentação | ✅ Os diagramas de paisagem do sistema mostram claramente as unidades funcionais em uma organização | | Plataforma \| Documentação | ✅ A documentação para componentes individuais inclui mapeamento de unidade funcional para o componente | | Plataforma \| Organização | ✅ É possível identificar rapidamente o alinhamento da unidade funcional para uma determinada parte dos metadados (por exemplo, um fluxo, classe do Apex ou página do Lightning) | | Plataforma \| Organização | ✅ As unidades funcionais são rotuladas em termos adequados aos negócios | ### Padrão de gerenciamento de estado Saiba mais sobre Bem-Arquiteto [Adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composável](/docs/architect/pt-br/well-architected/guide/composable) → [Separação de preocupações](/docs/architect/pt-br/well-architected/guide/composable#separação-de-preocupações) → [Gestão do Estado](/docs/architect/pt-br/well-architected/guide/composable#gerenciamento-de-estado) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | ✅ Os pontos de salvamento e os comportamentos de reversão são usados em todas as operações de dados | | Plataforma \| Padrões de design | ✅ Casos de uso para designs stateful vs. stateless estão claros | | Plataforma \| Padrões de design | ✅ Existem padrões aprovados para comunicação com estado | | Plataforma \| Padrões de design | ✅ Existem padrões aprovados para comunicação sem estado | | Plataforma \| Padrões de design | ✅ Limpar categorias para estado existente | | Plataforma \| Documentação | ✅ Cada componente que lida com comunicação de estado e/ou sem estado indica qual padrão foi implementado | | Plataforma \| Documentação | ✅ Os diagramas de processo e interação fornecem detalhes sobre categorias de estado e transferências | | Plataforma \| Documentação | ✅ É possível pesquisar e localizar todos os componentes que implementaram um padrão stateful/sem estado específico | | Plataforma \| Fluxo | ✅ Caminhos de falha e o elemento Reverter registros são usados | --- ### Antipadrão de unidades funcionais Saiba mais sobre bem-construído [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composable](/docs/architect/pt-br/well-architected/guide/composable) → [Separation of Concerns](/docs/architect/pt-br/well-architected/guide/composable#separação-de-preocupações) → [Functional Units](/docs/architect/pt-br/well-architected/guide/composable#unidades-funcionais) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ⚡️ Os padrões de design não existem ou não lidam com unidades funcionais e casos de uso | | Plataforma \| Documentação | ⚡️ Você não pode pesquisar uma unidade funcional específica e/ou as pesquisas não ajudam a identificar todos os componentes em uma unidade funcional | | Plataforma \| Documentação | A documentação do componente descreve a unidade funcional à qual um componente pertence, mas esse é o único lugar em que a definição dessa unidade funcional aparece | | Plataforma \| Documentação | ⚡️ A documentação do componente não existe | | Plataforma \| Organização | ⚡️ Não é possível identificar o alinhamento da unidade funcional para nenhum metadado | | Plataforma \| Organização | ⚡️ As informações da unidade funcional são inconsistentes ou imprecisas | | Plataforma \| Organização | ⚡️ As informações da unidade funcional são rotuladas em termos focados em engenharia que são sem significado para usuários de negócios | ### Antipadrão de gerenciamento de estado Saiba mais sobre Bem-Arquiteto [Adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Composável](/docs/architect/pt-br/well-architected/guide/composable) → [Separação de preocupações](/docs/architect/pt-br/well-architected/guide/composable#separação-de-preocupações) → [Gestão do Estado](/docs/architect/pt-br/well-architected/guide/composable#gerenciamento-de-estado) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Apex | ⚡️ Os pontos de salvamento e os comportamentos de reversão não são usados | | Plataforma \| Padrões de design | ⚡️ Os padrões de design não existem ou não lidam com padrões e casos de uso de estado/sem estado | | Plataforma \| Documentação | ⚡️ A documentação do componente não existe | | Plataforma \| Documentação | A documentação do componente descreve o padrão stateful/sem estado implementado, mas esse é o único lugar em que a definição aparece | | Plataforma \| Documentação | ⚡️ Não é possível pesquisar um padrão específico e/ou as pesquisas não ajudam a identificar todos os componentes usando esse padrão | | Plataforma \| Fluxo | ⚡️ O elemento Reverter registros não é usado | --- # Confiável – Desempenho ### Padrão de latência Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/pt-br/well-architected/guide/reliable) → [Performance](/docs/architect/pt-br/well-architected/guide/reliable#desempenho) → [Latency](/docs/architect/pt-br/well-architected/guide/reliable#latência) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Organização | ✅ Fluxos de dados aproveitam a inserção e atualização, em vez de atualização completa, quando possível, A atualização completa limpa totalmente a tabela e então a preenche novamente com dados. A menos que você realmente precise da atualização completa, opte por inserir e atualizar para obter apenas registros novos e/ou atualizados. Isso irá melhorar os tempos de processamento e reduzir o uso de crédito | | Einstein \| Agentes | ✅ Os agentes não têm mais de 15 ações atribuídas a um determinado tópico Quinze ações ou menos são listadas na guia "Ações deste tópico" no Agent Builder | | Einstein \| Índices de pesquisa | ✅ Omite campos com baixa cardinalidade dos índices de pesquisa para reduzir a latência do agente Ingerir campos com muito baixa cardinalidade (o número de elementos distintos em uma lista) ou baixa entropia (entradas de lista concentradas em torno de alguns valores) pode afetar a relevância e latência Use a configuração avançada no Criador de índice de pesquisa para selecionar apenas campos relevantes para agrupamento. Isso reduzirá o tamanho do seu índice de pesquisa, reduzindo a latência dos seus agentes | | Plataforma \| Fluxo | ✅ Especifique campos em Obter registros para melhorar o desempenho Quando você especifica quais campos armazenar em um elemento Obter registros, você reduz a quantidade de dados retornados do servidor e passados para o cliente. Se uma Tabela de dados consumir a saída desse elemento, você poderá ver uma melhoria significativa de desempenho no seu componente | | Plataforma \| Organização | ✅ Os relatórios atendem a uma única finalidade específica | | Plataforma \| Organização | ✅ Os relatórios contêm o número mínimo de linhas e colunas necessárias para tomar decisões | | Plataforma \| Organização | ✅ Filtros usam igual/não igual | | Plataforma \| Organização | ✅ Os filtros não contêm campos de fórmula | | Plataforma \| Organização | ✅ Os modelos de compartilhamento são simplificados o máximo possível | | Plataforma \| Organização | ✅ Componentes personalizados da IU usam Componentes da Web Lightning | | Plataforma \| Organização | ✅ O LWC usa o Lightning Data Service para operações de dados | | Plataforma \| Organização | ✅ A classificação e filtragem de dados de lista é processada no lado do cliente em JavaScript | | Plataforma \| Organização | ✅ Exibições de lista, relatórios e painéis são auditados quanto ao desempenho Revisões regulares identificam problemas de desempenho (consumo de CPU de tempo de execução alto/DB) e exibições de lista, relatórios e painéis com menos desempenho são atualizados ou removidos | | Plataforma \| Organização | ✅ O Salesforce Edge está habilitado | ### Padrão de transmissão Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/pt-br/well-architected/guide/reliable) → [Performance](/docs/architect/pt-br/well-architected/guide/reliable#desempenho) → [Throughput](/docs/architect/pt-br/well-architected/guide/reliable#transmissão) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | ✅ Os tamanhos de lote da API em massa são ajustados com cuidado O tamanho do lote provavelmente variará entre os trabalhos com base na natureza dos objetos, na operação e na automação subjacente ao objeto. Um pouco de arte, em vez de uma ciência, é importante ajustar o tamanho do lote para que ele realize o máximo de trabalho possível, mas não exceda 10 minutos do tempo de execução | | Plataforma \| Padrões de design | ✅ A orientação sobre como usar o Cache da plataforma cumpre as Melhores práticas de cache da plataforma | | Plataforma \| Organização | ✅ Métodos DML ou Database sempre operam em relação a coleções no Apex | | Plataforma \| Organização | ✅ As declarações SOQL são seletivas Sem uso de comparações de `LIKE` ou comparações de texto parcial em SOQL | | Plataforma \| Organização | ✅ As instruções SOQL são seletivas Operadores de comparação usam lógica positiva (ou seja, `INCLUDES`, `IN`) como lógica primária ou única em instruções SOQL | | Plataforma \| Organização | ✅ As declarações SOQL são seletivas Uso de `= NULL`, `!= NULL` é raro e/ou sempre segue um operador de comparação positivo em declarações SOQL | | Plataforma \| Organização | ✅ As instruções SOQL são seletivas Nenhuma instrução `LIMIT 1` aparece em SOQL | | Plataforma \| Organização | ✅ Nenhum SOQL aparece em um loop | | Plataforma \| Organização | ✅ Todos os critérios curingas aparecem em SOSL | | Plataforma \| Organização | ✅ A massificação é usada para operações de dados e do sistema | | Plataforma \| Organização | ✅ O processamento assíncrono é favorecido quando possível | | Plataforma \| Organização | ✅ Partições de cache da plataforma são configuradas | | Plataforma \| Organização | ✅ As instruções SOQL são seletivas | | Plataforma \| Organização | ✅ As instruções SOQL são seletivas Nenhum uso da palavra-chave `ALL ROWS` aparece nas instruções SOQL | --- ### Antipadrão de latência Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/pt-br/well-architected/guide/reliable) → [Performance](/docs/architect/pt-br/well-architected/guide/reliable#desempenho) → [Latency](/docs/architect/pt-br/well-architected/guide/reliable#latência) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Organização | ⚡️ O modo de atualização de Fluxos de dados é definido como Atualização total por padrão Todos ou a maioria dos fluxos de dados tem um modo de atualização de Atualização total | | Einstein \| Agentes | ⚡️ Os agentes têm mais de 15 ações atribuídas a um determinado tópico Mais de 15 ações são listadas na guia "Ações deste tópico" no Agent Builder | | Plataforma \| Componentes da Web Lightning (LWC) | Suponha que os eventos do aplicativo sejam executados apenas quando um componente está sendo usado No Console do Lightning, os componentes contidos em guias que não estão focadas podem ainda estar escutando eventos do aplicativo mesmo que não estejam visíveis | | Plataforma \| Organização | ⚡️ Os modelos de compartilhamento são complexos | | Plataforma \| Organização | Componentes personalizados da IU usam Aura ou Visualforce | | Plataforma \| Organização | ⚡️ O LWC usa Apex para operações de dados | | Plataforma \| Organização | ⚡️ A classificação e filtragem de dados de lista é tratada no lado do servidor usando o Apex | | Plataforma \| Organização | ⚡️ Filtros usados contêm/não contêm | | Plataforma \| Organização | Filtros contêm campos de fórmula | | Plataforma \| Organização | ⚡️ O Salesforce Edge não está habilitado | | Plataforma \| Organização | ⚡️ Os relatórios têm várias finalidades | | Plataforma \| Organização | Relatórios contêm linhas e colunas extras que não são necessárias para tomar decisões | ### Antipadrão de taxa de transferência Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/pt-br/well-architected/guide/reliable) → [Performance](/docs/architect/pt-br/well-architected/guide/reliable#desempenho) → [Throughput](/docs/architect/pt-br/well-architected/guide/reliable#transmissão) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | ⚡️ Enfileirando vários métodos Futuros ou Enfileiráveis de uma única ação síncrona Vários métodos assíncronos são enfileirados de uma única ação síncrona | | Plataforma \| Apex | ⚡️ Os pares pai/filho são divididos entre lotes da API em massa Vários lotes contêm registros filho relacionados ao mesmo pai | | Plataforma \| Padrões de design | ⚡️ Se houver orientação para o uso do Cache da plataforma, ela não ficará clara ou não estará alinhada às práticas recomendadas | | Plataforma \| Organização | ⚡️ As instruções SOQL são `= NULL` não seletivas, os critérios de `!= NULL` são usados como o operador principal ou único de comparação nas instruções SOQL | | Plataforma \| Organização | ⚡️ As instruções SOQL não são instruções `LIMIT 1` seletivas aparecem em SOQL | | Plataforma \| Organização | ⚡️ As instruções SOQL não são seletivas `ALL ROWS` é usada em instruções SOQL | | Plataforma \| Organização | As instruções DML não são massificadas | | Plataforma \| Organização | ⚡️ Processos síncronos são favorecidos | | Plataforma \| Organização | ⚡️ SOQL aparece dentro de loops | | Plataforma \| Organização | ⚡️ Planejar operações assíncronas que terminem em um horário específico Projetar processos ou soluções que presumem uma operação assíncrona que terminam em um horário específico ou dentro de um determinado SLA. | | Plataforma \| Organização | ⚡️ Encolhe trabalhos em lote de operações síncronas Os trabalhos em lote do Apex são iniciados a partir de chamadas de API de integração ou atividade síncrona do usuário final | | Plataforma \| Organização | Métodos DML ou Database operam em registros únicos no Apex | | Plataforma \| Organização | ⚡️ As instruções SOQL são `LIKE` não seletivas e os critérios de filtro curinga aparecem em instruções SOQL | | Plataforma \| Organização | ⚡️ As instruções SOQL não são seletivas Comparações usando `NOT`, critérios de `NOT IN` são usados como o operador de comparação principal ou único em instruções SOQL | | Plataforma \| Organização | ⚡️ O estado de visualização do Visualforce é usado para armazenamento em cache do aplicativo | | Plataforma \| Organização | ⚡️ SOSL raramente é usado ou não é usado de modo consistente para critérios de seleção de curinga | | Plataforma \| Visualforce | ⚡️ Pesquisa excessiva durante remoção do Visualforce Alto tráfego Páginas do Visualforce pesquisam o banco de dados com mais frequência do que a cada cinco minutos | --- # Confiável – Disponibilidade ### Padrão de mitigação de falha Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliável](/docs/architect/pt-br/well-architected/guide/reliable) → [Disponibilidade](/docs/architect/pt-br/well-architected/guide/reliable#disponibilidade) → [Simplificação de falhas](/docs/architect/pt-br/well-architected/guide/reliable#mitigação-de-falha) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ✅ Os planos de mitigação de falha são testados com frequência Os planos de mitigação de falha são testados periodicamente (a cada 1-2 anos), reativamente após incidentes importantes como parte do pós-morte e proativamente antes de eventos de negócios ou TI importantes | | Plataforma \| Organização | ✅ Os controles de mitigação são implementados imediatamente, amadurecem ao longo do tempo e incorporam automação assim que possível | | Plataforma \| Organização | ✅ Processos assíncronos são monitorados Processos assíncronos são monitorados usando Proactive Monitoring ou consultando AsyncApexJob executado por um trabalho agendado externo. Alertas estão em vigor para detectar problemas com antecedência, resultando em tempo para detecção (TTD) e tempo para engajamento (TTE) mais rápidos | | Plataforma \| Organização | ✅ Um subconjunto de usuários finais treinados cria modos de exibição de lista, relatórios e painéis Usuários finais treinados criam relatórios, modos de exibição de lista e painéis como parte de uma estratégia de relatórios para toda a organização que inclui diretrizes documentadas e revisões regulares | | Plataforma \| Organização | ✅ Os acionadores de ponto de falha e seus planos de mitigação correspondentes são categorizados por pessoas, processos e tecnologia | ### Padrão de gerenciamento de risco Saiba mais sobre bem-construído [confiável](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [confiável](/docs/architect/pt-br/well-architected/guide/reliable) → [Disponibilidade](/docs/architect/pt-br/well-architected/guide/reliable#disponibilidade) → [Gerenciamento de riscos](/docs/architect/pt-br/well-architected/guide/reliable#gerenciamento-de-risco) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ✅ Uma estrutura de avaliação de risco está em uso | | Plataforma \| Negócios | ✅ As avaliações de risco são canceladas por uma variedade de grupos de partes interessadas As avaliações de risco são revisadas e canceladas por uma variedade de partes interessadas de negócios e técnicos | | Plataforma \| Negócios | ✅ As estruturas de avaliação de risco seguem os padrões do setor e da empresa Sua estrutura de avaliação de risco segue os padrões da empresa e segue qualquer um dos seguintes padrões do setor e regulatórios: ISO/IEC 27001, NIST Cybersecurity Framework (CSF), COBIT (Objetivos de controle para informações e tecnologias relacionadas), ISO/IEC 27005, GDPR (Regulamento geral de proteção de dados), OWASP (Projeto de segurança de aplicativos da Web abertos), CSA Cloud Controls Matrix (CCM), PCI DSS (Padrão de segurança de dados do setor de cartões de pagamento) ou SOC 2 (Controles do sistema e da organização) | | Plataforma \| Negócios | ✅ O risco é avaliado antes de introduzir uma alteração importante O risco é avaliado proativamente antes de qualquer alteração importante em seu negócio ou implementação. Os clientes do Signature Success aproveitam o Gerenciamento de eventos-chave. | | Plataforma \| Negócios | ✅ Picos sazonais são planejados com antecedência Os eventos de uso de picos (como picos sazonais no tráfego) são planejados com antecedência. Os clientes do Signature Success aproveitam o Gerenciamento de eventos-chave. | | Plataforma \| Negócios | ✅ A avaliação de risco é revisada com frequência A avaliação de risco é revisada reativamente após um incidente importante ou chamada de fechamento, proativamente antes de um novo produto, distribuição de recurso ou integração de uma nova unidade de negócios, proativamente antes de grandes eventos de negócios (pescos sazonais, mudanças de negócios importantes) e periodicamente (a cada 1-2 anos) | | Plataforma \| Negócios | ✅ Os riscos são classificados em áreas de pessoas, processos e tecnologia | | Plataforma \| Documentação | ✅ A gravidade do risco é categorizada e avaliada com base no impacto do cliente | | Plataforma \| Documentação | ✅ Os planos de mitigação de risco e resposta são priorizados, focando os riscos de prioridade mais alta primeiro | --- ### Antipadrão de mitigação de falha Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliável](/docs/architect/pt-br/well-architected/guide/reliable) → [Disponibilidade](/docs/architect/pt-br/well-architected/guide/reliable#disponibilidade) → [Simplificação de falhas](/docs/architect/pt-br/well-architected/guide/reliable#mitigação-de-falha) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ⚡️ Os planos de mitigação de falha não são testados suficientemente As mitigações de falha nunca são testadas ou apenas são testadas após a fase inicial de design/construção | | Plataforma \| Negócios | ⚡️ Picos sazonais não são considerados antecipadamente Eventos de uso de pico (como picos sazonais no tráfego) não são planejados antecipadamente | | Plataforma \| Organização | ⚡️ A automação não é usada na mitigação | | Plataforma \| Organização | Acionadores de ponto de falha não são classificados; abordagens de mitigação são ad hoc ou não existem | | Plataforma \| Organização | ⚡️ Os controles de mitigação não são revisitados nem evoluídos | | Plataforma \| Organização | Processos assíncronos não são monitorados proativamente Processos assíncronos dependem de um mecanismo de registro de erro personalizado que faz parte do processo assíncrono em si ou não são monitorados de modo algum | | Plataforma \| Organização | ⚡️ Os usuários finais são os únicos responsáveis por exibições de lista, relatórios e painéis Os usuários finais são livres para criar relatórios públicos, exibições de lista e painéis, e análises periódicas de desempenho desses itens de metadados não existem | ### Antipadrão de gerenciamento de risco Saiba mais sobre bem-construído [confiável](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [confiável](/docs/architect/pt-br/well-architected/guide/reliable) → [Disponibilidade](/docs/architect/pt-br/well-architected/guide/reliable#disponibilidade) → [Gerenciamento de riscos](/docs/architect/pt-br/well-architected/guide/reliable#gerenciamento-de-risco) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ⚡️ O risco não é identificado claramente | | Plataforma \| Negócios | ⚡️ A estrutura de avaliação de risco para o Salesforce é ad hoc | | Plataforma \| Negócios | As estruturas de avaliação de risco são desenvolvidas em silos Sua estrutura de avaliação de risco é desenvolvida por uma equipe isoladamente e não está alinhada às diretrizes corporativas ou aos padrões do setor | | Plataforma \| Negócios | ⚡️ O gerenciamento de risco é considerado uma atividade única As avaliações de risco são realizadas uma vez e/ou sua estrutura de avaliação de risco não é atualizada regularmente | | Plataforma \| Documentação | ⚡️ A perspectiva do cliente não é considerada ao avaliar a gravidade do risco ou a categoria | | Plataforma \| Documentação | ⚡️ Os planos de mitigação e resposta de risco tentam capturar todos os riscos imagináveis | --- # Confiável – Escalabilidade ### Padrão de modelagem de dados Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/pt-br/well-architected/guide/reliable) → [Scalability](/docs/architect/pt-br/well-architected/guide/reliable#escalabilidade) → [Data Modeling](/docs/architect/pt-br/well-architected/guide/reliable#modelagem-de-dados) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Organização | ✅ As transformações de dados são usadas para desnormalizar dados antes do mapeamento Existem transformações de dados para transformar dados de origem, de modo que todos os pontos de contato podem ser ingeridos separadamente em objetos de ponto de contato padrão | | Plataforma \| Negócios | ✅ Criadores de código baixo entendem os diferentes tipos de campo compatíveis com o Salesforce e avaliam os requisitos de relatórios e criptografia antes de selecionar tipos de dados de campo | | Plataforma \| Negócios | ✅ As implicações de compartilhamento e desvio de dados são avaliadas antes de escolher estabelecer um relacionamento entre mestre e detalhes entre objetos | | Plataforma \| Modelo de dados | ✅ As tabelas foram desnormalizadas para escala | | Plataforma \| Modelo de dados | ✅ Objetos padrão são usados quando possível | | Plataforma \| Padrões de design | ✅ Padrões e diretrizes para as quais justificativas de negócios garantem a existência de um objeto personalizado | ### Padrão de volume de dados Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/pt-br/well-architected/guide/reliable) → [Scalability](/docs/architect/pt-br/well-architected/guide/reliable#escalabilidade) → [Data Volume](/docs/architect/pt-br/well-architected/guide/reliable#volume-de-dados) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Planos de teste | ✅ Cálculos de carregamento em massa contam para carregamentos de dados do dia 0 Você planejou os grandes volumes de dados que costumam precisar ser migrados antes da ativação da solução (também conhecido como Dia 0) e confirmou que não irá se aproximar do tamanho máximo de arquivo e do máximo de arquivos por execução agendada simultaneamente | | Plataforma \| Apex | ✅ Há lógica para distribuir o número de registros filho entre vários registros pai em cenários em que o desvio de dados é uma preocupação | | Plataforma \| Apex | ✅ Há lógica para atribuir todos os registros aos usuários humanos apropriados quando importados ou replicados por meio de uma integração | | Plataforma \| Negócios | ✅ Você documentou e implementou uma estratégia de depuração e arquivamento de dados | | Plataforma \| Negócios | ✅ A estratégia de carregamento de dados em massa é otimizada para otimizar o consumo do servidor Os tempos de carregamento, as sequências de dados, o bloqueio de registro, a automação e os processos de compartilhamento em massa são considerados em sua estratégia de carregamento em massa para um consumo eficiente do servidor | | Plataforma \| Dados | ✅ Nenhum registro pai tem mais de 10 mil registros filhos | | Plataforma \| Dados | ✅ Nenhum usuário é atribuído a mais de 10 mil registros do mesmo tipo de objeto | | Plataforma \| Dados | ✅ Não há instâncias em que mais de 10 mil registros tenham campos de pesquisa que apontam para o mesmo registro | | Plataforma \| Dados | ✅ Carregamentos de dados em massa em produção não ocorrem durante o horário comercial de pico | | Plataforma \| Dados | ✅ Cargas de dados em massa são classificadas em lotes de acordo com os valores de campo de `ParentId` | | Plataforma \| Dados | ✅ Cargas de dados em massa incluem apenas os dados mínimos necessários para decisões de negócios | | Plataforma \| Fluxo | ✅ Há lógica para distribuir o número de registros filho entre vários registros pai em cenários em que o desvio de dados é uma preocupação | | Plataforma \| Fluxo | ✅ Há lógica para atribuir todos os registros aos usuários humanos apropriados quando importados ou replicados por meio de uma integração | | Plataforma \| Organização | ✅ O pós-processamento de dados é adiado durante grandes cargas de dados As automações de pós-processamento são adiadas até depois que grandes cargas de dados terminam. | | Plataforma \| Planos de teste | ✅ A estratégia de carregamento da API em massa é testada em um sandbox de cópia completa ao planejar um carregamento de dados usando a API em massa em um sandbox de cópia completa para identificar o padrão, a sequência de carregamento e quaisquer problemas de bloqueio que possam surgir. | --- ### Antipadrão de modelagem de dados Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/pt-br/well-architected/guide/reliable) → [Scalability](/docs/architect/pt-br/well-architected/guide/reliable#escalabilidade) → [Data Modeling](/docs/architect/pt-br/well-architected/guide/reliable#modelagem-de-dados) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Negócios | Criadores de código baixo selecionam tipos de dados sem avaliar os requisitos de relatórios e criptografia a jusante | | Plataforma \| Negócios | ⚡️ O compartilhamento e o desvio de dados não são considerados antes de estabelecer relacionamentos entre mestre e detalhes entre objetos | | Plataforma \| Modelo de dados | As tabelas foram normalizadas para evitar redundância | | Plataforma \| Modelo de dados | ⚡️ Você tem objetos padrão replicados | | Plataforma \| Padrões de design | ⚡️ Não há padrões para criar objetos personalizados | ### Antipadrão do volume de dados Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Reliable](/docs/architect/pt-br/well-architected/guide/reliable) → [Scalability](/docs/architect/pt-br/well-architected/guide/reliable#escalabilidade) → [Data Volume](/docs/architect/pt-br/well-architected/guide/reliable#volume-de-dados) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Planos de teste | ⚡️ Seus cálculos de carregamento em massa não incluem carregamentos de dados do dia 0 Os cálculos de carregamento do dia 0 não são realizados ou, se documentados, estão perto do valor máximo para tamanho de arquivo e arquivos por execução simultaneamente | | Plataforma \| Apex | ⚡️ Os registros criados por meio de carregamentos de dados ou integrações são atribuídos a um "usuário de integração" genérico | | Plataforma \| Apex | ⚡️ Registros filho são atribuídos arbitrariamente a registros pai, independentemente do número de registros filho existentes que já foram atribuídos | | Plataforma \| Negócios | ⚡️ Você não tem uma estratégia de depuração e arquivamento de dados ou sua estratégia foi documentada, mas não implementada | | Plataforma \| Negócios | ⚡️ Carregamentos de dados em massa são executados sem planejamento para tempos de carregamento de escala, sequências de dados, bloqueio de registro, automação e processos de compartilhamento em massa não são considerados antes de carregamentos de dados em massa serem realizados | | Plataforma \| Dados | ⚡️ Carregamentos de dados em massa em produção ocorrem durante o horário comercial de pico | | Plataforma \| Dados | ⚡️ Cargas de dados em massa não estão limitadas aos dados mínimos necessários para decisões de negócios | | Plataforma \| Dados | ⚡️ Existem registros com mais de 10 mil registros filhos | | Plataforma \| Dados | ⚡️ Os usuários são atribuídos a mais de 10 mil registros do mesmo tipo | | Plataforma \| Dados | Existem instâncias em que mais de 10 mil registros têm campos de pesquisa que apontam para o mesmo registro | | Plataforma \| Dados | Cargas de dados em massa não são classificadas em lotes de acordo com os valores de campo de `ParentId` | | Plataforma \| Fluxo | ⚡️ Os registros criados por meio de carregamentos de dados ou integrações são atribuídos a um "usuário de integração" genérico | | Plataforma \| Fluxo | ⚡️ Registros filho são atribuídos arbitrariamente a registros pai, independentemente do número de registros filho existentes que já foram atribuídos | | Plataforma \| Organização | ⚡️ A estratégia de carregamento da API em massa é testada em um sandbox de cópia parcial Testes de carregamento da API em massa para determinar que os tempos de carregamento em lote são realizados em um subconjunto de dados em um sandbox de cópia parcial. | | Plataforma \| Organização | Executar cargas de dados em massa em paralelo com outras operações que bloqueiam registros Executar Apex em lote em paralelo junto com cargas de dados | | Plataforma \| Organização | ⚡️ Escolher uma API sem considerar o tamanho do seu conjunto de dados A API SOAP é usada para carregamentos de dados superiores a 500 mil registros | | Plataforma \| Organização | ⚡️ Requisitos de relatórios impulsionam o design da hierarquia de papéis Usando requisitos de relatórios para determinar quais ou quantos níveis de hierarquia de papéis você precisa | | Plataforma \| Organização | A hierarquia de papéis tem papéis vazios Papéis de espaço reservado vazios são criados para o futuro | | Plataforma \| Organização | ⚡️ A hierarquia de papéis simula seu organograma Você replicou sua estrutura da organização na hierarquia de papéis, criando papéis individuais para cada cargo na sua empresa | --- # Conformidade – Acessibilidade ### Padrão de entrada de dados Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/pt-br/well-architected/guide/compliant) → [Accessibility](/docs/architect/pt-br/well-architected/guide/compliant#acessibilidade) → [Data Entry](/docs/architect/pt-br/well-architected/guide/compliant#entrada-de-dados) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ✅ Todos os dispositivos que podem ser usados para entrada de dados além de um teclado e um mouse padrão são listados | | Plataforma \| Padrões de design | ✅ Os valores de texto e suas traduções para todos os idiomas com suporte são listados | | Plataforma \| Organização | ✅ Traduções para idiomas com suporte são armazenadas no Workbench de tradução | | Plataforma \| Planos de teste | ✅ As etapas de teste incluem o uso de vários tipos de dispositivos de entrada para inserir dados | | Plataforma \| Planos de teste | ✅ As etapas de teste incluem entrada de dados em vários idiomas | ### Padrão de navegação Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Conformidade](/docs/architect/pt-br/well-architected/guide/compliant) → [Acessibilidade](/docs/architect/pt-br/well-architected/guide/compliant#acessibilidade) → [Navegação](/docs/architect/pt-br/well-architected/guide/compliant#navegação) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ✅ Todos os dispositivos que podem ser usados para navegação (não apenas teclado e mouse padrão) são listados claramente | | Plataforma \| Padrões de design | ✅ Os padrões de UI/UX especificam o tipo e o estilo de todos os controles de navegação | | Plataforma \| Padrões de design | ✅ Os tipos de dicas visuais aprovados para transmitir significado ou estado são listados claramente e a cor não é uma dica principal | | Plataforma \| Planos de teste | ✅ Os planos de teste incluem o uso de testes de UI/UX para garantir caminhos de navegação consistentes | | Plataforma \| Planos de teste | ✅ As etapas de teste incluem o uso de vários tipos de dispositivos de entrada para navegar | --- ### Antipadrão de entrada de dados Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/pt-br/well-architected/guide/compliant) → [Accessibility](/docs/architect/pt-br/well-architected/guide/compliant#acessibilidade) → [Data Entry](/docs/architect/pt-br/well-architected/guide/compliant#entrada-de-dados) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ⚡️ Somente alguns, ou nenhum, dos dispositivos que podem ser usados para entrada de dados além de um teclado e um mouse padrão são listados | | Plataforma \| Padrões de design | Idiomas com suporte são listados junto com os elementos da IU a serem traduzidos | | Plataforma \| Organização | ⚡️ As traduções são armazenadas em rótulos personalizados | | Plataforma \| Planos de teste | ⚡️ O teste de acessibilidade não está incluído ou o teste para entrada de dados acessível é feito ad hoc | ### Antipadrão de navegação Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Conformidade](/docs/architect/pt-br/well-architected/guide/compliant) → [Acessibilidade](/docs/architect/pt-br/well-architected/guide/compliant#acessibilidade) → [Navegação](/docs/architect/pt-br/well-architected/guide/compliant#navegação) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ⚡️ Os padrões de design não existem ou não consideram os requisitos de acessibilidade para controles de navegação | | Plataforma \| Padrões de design | ⚡️ Os padrões de UI/UX para navegação são inconsistentes | | Plataforma \| Padrões de design | ⚡️ Dicas visuais para significado ou estado dependem da cor ou não há listas claras de dicas visuais para criadores | | Plataforma \| Planos de teste | ⚡️ O teste de acessibilidade não está incluído ou o teste para navegação acessível é feito ad hoc | --- # Conformidade – adesão legal ### Padrão de privacidade de dados Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/pt-br/well-architected/guide/compliant) → [Legal Adherence](/docs/architect/pt-br/well-architected/guide/compliant#adesão-legal) → [Data Privacy](/docs/architect/pt-br/well-architected/guide/compliant#privacidade-de-dados) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Camada do Einstein Trust | ✅ Mascarar campos por categoria de conformidade A Camada do Einstein Trust foi personalizada para mascarar campos com base nas regras de negócios e na categoria de conformidade de um campo | | Einstein \| Camada do Einstein Trust | ✅ Mascarar campos por nível de confidencialidade A Camada do Einstein Trust foi personalizada para mascarar campos com base nas regras de negócios e no nível de confidencialidade de um campo | | Plataforma \| Documentação | ✅ Você tem um dicionário de dados atualizado contendo nomes, descrições e classificações no nível do campo | | Plataforma \| Documentação | ✅ Você tem uma matriz de segurança atualizada que identifica quais usuários têm acesso a quais dados | | Plataforma \| Documentação | ✅ Você tem a documentação de design atualizada, incluindo padrões e diagramas para qualquer automação criada para atender aos requisitos regulatórios | | Plataforma \| Organização | ✅ Todos os objetos e campos que contêm informações confidenciais ou estão sujeitos a normas de privacidade de dados têm Categorização de conformidade, Proprietário de dados, Nível de confidencialidade de dados e Uso de campo configurados | ### Padrão de localização Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/pt-br/well-architected/guide/compliant) → [Legal Adherence](/docs/architect/pt-br/well-architected/guide/compliant#adesão-legal) → [Localization](/docs/architect/pt-br/well-architected/guide/compliant#localização) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Documentação | ✅ Você tem uma estratégia da organização que descreve onde os dados serão armazenados e mantidos para cumprir todos os requisitos de residência de dados aplicáveis | | Plataforma \| Documentação | ✅ Você tem uma estratégia de integração que descreve cenários e processos aceitáveis para replicar dados entre fronteiras | | Plataforma \| Documentação | ✅ Você tem uma estratégia de análise que descreve o nível de granularidade que os relatórios e painéis podem conter em níveis regional, nacional e global | --- ### Antipadrão de privacidade de dados Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/pt-br/well-architected/guide/compliant) → [Legal Adherence](/docs/architect/pt-br/well-architected/guide/compliant#adesão-legal) → [Data Privacy](/docs/architect/pt-br/well-architected/guide/compliant#privacidade-de-dados) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Documentação | ⚡️ Um dicionário de dados não existe ou não foi mantido atualizado | | Plataforma \| Documentação | ⚡️ A documentação de compartilhamento e visibilidade não existe ou não foi mantida atualizada | | Plataforma \| Documentação | ⚡️ Os padrões de design, os diagramas e a documentação para automações que atendem aos requisitos regulatórios não existem ou não foram mantidos atualizados | | Plataforma \| Organização | Objetos e campos que contêm informações confidenciais ou estão sujeitos a normas de privacidade de dados estão sem configuração para Categorização de conformidade, Proprietário de dados, Nível de confidencialidade de dados ou Uso de campo | ### Antipadrão de localização Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Compliant](/docs/architect/pt-br/well-architected/guide/compliant) → [Legal Adherence](/docs/architect/pt-br/well-architected/guide/compliant#adesão-legal) → [Localization](/docs/architect/pt-br/well-architected/guide/compliant#localização) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Documentação | ⚡️ Você não tem uma estratégia de análise ou sua estratégia de análise não lida com localização de dados e requisitos de residência | | Plataforma \| Documentação | ⚡️ Você não tem uma estratégia da organização ou sua estratégia da organização não lida com requisitos de localização de dados e residência | | Plataforma \| Documentação | ⚡️ Você não tem uma estratégia de integração ou sua estratégia de integração não lida com localização de dados e requisitos de residência | --- # Conformidade – Padrões éticos ### Padrão de inteligência artificial Saiba mais sobre Bem-Arquiteto [Confiável](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Conformidade](/docs/architect/pt-br/well-architected/guide/compliant) → [Padrões Éticos](/docs/architect/pt-br/well-architected/guide/compliant#padrões-éticos) → [Inteligência Artificial](/docs/architect/pt-br/well-architected/guide/compliant#inteligência-artificial) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Padrões de design | ✅ Respostas generativas sempre identificam fontes de dados usadas por modelos de IA | | Einstein \| Padrões de design | ✅ Conjuntos de dados que podem/não podem ser usados para o aviso de engenharia foram documentados | | Einstein \| Padrões de design | ✅ Respostas de IA generativa e bots são claramente identificadas para os usuários | | Einstein \| Padrões de design | ✅ Os pontos em que a IA deve ser identificada para um usuário são definidos claramente | | Einstein \| Padrões de design | ✅ Os padrões para quando e como usar isenções de responsabilidade para IA generativa são definidos claramente | | Einstein \| Padrões de design | ✅ Existem requisitos claros para como documentar pontos de envolvimento humano em designs de soluções de IA | | Einstein \| Padrões de design | ✅ Nenhuma resposta generativa é enviada diretamente aos usuários finais sem pontos de engajamento humano | | Einstein \| Padrões de design | ✅ Existem padrões para documentar caminhos de feedback direto e indireto em designs de soluções de IA | | Einstein \| Padrões de design | ✅ Políticas e casos de uso aprovados para aplicativos de IA são claros e fáceis de encontrar | | Einstein \| Padrões de design | ✅ Os padrões para mensagens do chatbot e fluxo de conversa foram documentados | | Einstein \| Documentação | ✅ A documentação para configuração e personalizações envolvendo a funcionalidade de IA contém uma descrição completa de toda a lógica do processo e é armazenada em um local central acessível por equipes jurídicas ou auditores | | Einstein \| Documentação | ✅ Modelos que geram previsões e recomendações são claramente documentados, incluindo quaisquer segmentos de dados aplicáveis | | Einstein \| Documentação | ✅ A lógica da conversa e as mensagens do chatbot são cuidadosamente documentadas | | Einstein \| Documentação | ✅ Processos estão em vigor para monitorar os modelos de IA da sua organização quanto ao desvio de dados, alterações nas pontuações de fairness e viés, precisão e robustez | | Einstein \| Documentação | ✅ As descrições são mantidas para os dados de treinamento, avaliação e teste usados para todos os processos de IA | | Einstein \| Documentação | ✅ As descrições são mantidas para qualquer limpeza de dados relacionada à IA junto com testes de viés, resultados associados e pontuações de desempenho/precisão (por exemplo, pontuações F1) | | Einstein \| Organização | ✅ Os modelos de prompt são testados quanto à qualidade Os modelos de prompt são testados e os resultados desses testes documentam a relevância, a completude, o estilo/tone, a precisão factual, a consistência, a toxicidade e o viés das respostas do modelo de prompt | | Einstein \| Organização | ✅ A IA generativa é usada como um assistente para um humano Ao começar a usar a IA generativa, certifique-se de que haja um "humano no capacete" que possa revisar a precisão e a utilidade das respostas. | | Einstein \| Organização | ✅ Os modelos de IA usam dados em que você Trust O contexto é fornecido à IA de geração usando dados de parte zero (fornecidos diretamente pelo cliente) ou de primeira parte (coletados com base na interação do cliente com sua empresa) | ### Padrão de políticas da empresa Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Conformidade](/docs/architect/pt-br/well-architected/guide/compliant) → [Padrões Éticos](/docs/architect/pt-br/well-architected/guide/compliant#padrões-éticos) → [Políticas da Empresa](/docs/architect/pt-br/well-architected/guide/compliant#políticas-da-empresa) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ✅ Os padrões incluem diretrizes claras para áreas afetadas por políticas da empresa | | Plataforma \| Documentação | ✅ A documentação para configuração e personalizações inclui referências aos valores da empresa com suporte | | Plataforma \| Organização | ✅ Todos os objetos e campos que estão sujeitos à conformidade relacionada à política da empresa têm Categorização de conformidade, Proprietário de dados, Nível de confidencialidade de dados e Uso de campo configurados | --- ### Antipadrão de inteligência artificial Saiba mais sobre Bem-Arquiteto [Confiável](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Conformidade](/docs/architect/pt-br/well-architected/guide/compliant) → [Padrões Éticos](/docs/architect/pt-br/well-architected/guide/compliant#padrões-éticos) → [Inteligência Artificial](/docs/architect/pt-br/well-architected/guide/compliant#inteligência-artificial) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Padrões de design | As respostas generativas não identificam fontes de dados usadas por modelos de IA | | Einstein \| Padrões de design | ⚡️ Os bots e as respostas de IA generativa não são identificados para os usuários | | Einstein \| Padrões de design | As respostas generativas são enviadas diretamente aos usuários finais sem pontos de engajamento humano | | Einstein \| Padrões de design | ⚡️ Os conjuntos de dados usados para engenharia de prompts não são documentados | | Einstein \| Padrões de design | ⚡️ Não há requisitos para documentar pontos de envolvimento humano em designs de soluções de IA | | Einstein \| Padrões de design | ⚡️ Os padrões de design não indicam pontos em que a IA deve ser identificada aos usuários | | Einstein \| Padrões de design | ⚡️ Avisos de isenção de responsabilidade sobre respostas generativas estão ausentes | | Einstein \| Padrões de design | ⚡️ Não há padrões para documentar caminhos de feedback direto e indireto para designs de soluções de IA | | Einstein \| Padrões de design | ⚡️ Os padrões de design não existem ou não incluem políticas claras e casos de uso aprovados para aplicativos de IA | | Einstein \| Padrões de design | ⚡️ Não existem padrões claros para mensagens de chatbot e design de conversa (mas chatbots estão sendo usados) | | Einstein \| Documentação | ⚡️ Processos de monitoramento de IA não existem ou não são documentados | | Einstein \| Documentação | ⚡️ A documentação para ajustes e personalizações envolvendo a funcionalidade de IA está ausente, incompleta ou armazenada em um local inacessível | | Einstein \| Documentação | Previsões ou recomendações são implementadas em sua organização sem documentação de seus modelos | | Einstein \| Documentação | ⚡️ As informações sobre dados de treinamento, avaliação e teste usados para todos os processos de IA não estão claras ou estão indisponíveis | | Einstein \| Documentação | ⚡️ As informações sobre limpeza de dados, testes de viés e resultados relacionados a IA não estão claras ou estão indisponíveis | | Einstein \| Documentação | ⚡️ Os chatbots são implementados em sua organização sem documentação de mensagens e fluxo de conversa | | Einstein \| Modelos de prompts | A IA depende de dados de terceiros Seus modelos de prompts dependem apenas de dados de terceiros sem dados de zero ou de primeira parte | ### Antipadrão de políticas da empresa Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Conformidade](/docs/architect/pt-br/well-architected/guide/compliant) → [Padrões Éticos](/docs/architect/pt-br/well-architected/guide/compliant#padrões-éticos) → [Políticas da Empresa](/docs/architect/pt-br/well-architected/guide/compliant#políticas-da-empresa) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ⚡️ Os padrões de design não existem ou não fornecem orientação clara sobre as áreas que estão sujeitas às políticas da empresa | | Plataforma \| Documentação | A documentação para configuração e personalizações não faz referência a valores ou políticas da empresa | | Plataforma \| Organização | Objetos e que estão sujeitos à conformidade relacionada à política da empresa estão sem configuração para Categorização de conformidade, Proprietário de dados, Nível de confidencialidade de dados ou Uso de campo | --- # Engajador – útil ### Padrão de orientação no aplicativo Saiba mais sobre Well-Archived [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Util](/docs/architect/pt-br/well-architected/guide/engaging#útil) → [Orientação no aplicativo](/docs/architect/pt-br/well-architected/guide/engaging#orientação-no-aplicativo) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ✅ Padrões de design para avisos e guias passo a passo | | Plataforma \| Padrões de design | ✅ Casos de uso aprovados para orientação no aplicativo | | Plataforma \| Documentação | ✅ Uma matriz clara de usuários, aplicativos e orientação no aplicativo ativa | | Plataforma \| Organização | ✅ A configuração para "Atraso entre orientação no aplicativo" usa o valor padrão ou um valor personalizado maior que o período padrão (24 horas) fornecido pelo Salesforce | | Plataforma \| Organização | ✅ Nenhum aplicativo tem mais de um guia passo a passo ativo | | Plataforma \| Organização | ✅ Nenhum guia passo a passo tem uma configuração "Hora para mostrar" maior que 10 | | Plataforma \| Organização | ✅ Nenhum aviso é ativado para "Qualquer página, qualquer aplicativo" ou "Esta página, qualquer aplicativo" | ### Padrão de notificações e mensagens Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Util](/docs/architect/pt-br/well-architected/guide/engaging#útil) → [Notificações e Mensagens](/docs/architect/pt-br/well-architected/guide/engaging#notificações-e-mensagens) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Einstein \| Agentes | ✅ Sua mensagem de boas-vindas do agente apresenta o agente como um assistente de IA Sua mensagem de boas-vindas deve informar os usuários de que eles não estão conversando com um humano | | Einstein \| Negócios | ✅ Os funcionários são solicitados a dar feedback sobre a saída gerada Os funcionários são solicitados a dar feedback sobre a saída gerada | | Plataforma \| Aplicativos | ✅ Nenhuma resposta generativa é enviada diretamente aos usuários finais sem pontos de engajamento humano | | Plataforma \| Padrões de design | ✅ Casos de uso aprovados para notificações, toasts e avisos | | Plataforma \| Padrões de design | ✅ Padrões de design para notificações e variantes de toast | | Plataforma \| Padrões de design | ✅ Padrões de design para mensagens de erro | | Plataforma \| Organização | ✅ As isenções de IA estão em linguagem clara e compreensível para os usuários | | Plataforma \| Organização | ✅ Os bots identificam-se claramente antes da primeira interação com os usuários | | Plataforma \| Organização | ✅ Respostas generativas sempre identificam as fontes de dados usadas | | Plataforma \| Organização | ✅ Avisos de isenção de responsabilidade por riscos associados à IA generativa aparecem para os usuários antes da primeira interação | | Plataforma \| Organização | ✅ As notificações são o formato de mensagens predominante | | Plataforma \| Organização | ✅ Mensagens de toast usam variantes | | Plataforma \| Organização | ✅ Mensagens de toast com `mode` definido como `sticky` não existem | | Plataforma \| Organização | ✅ Os avisos são usados raramente, se houver | ### Padrão de reconhecimento e recompensas Saiba mais sobre Bem-construído [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engajando](/docs/architect/pt-br/well-architected/guide/engaging) → [Ajudando](/docs/architect/pt-br/well-architected/guide/engaging#útil) → [Reconhecimento e Recompensas](/docs/architect/pt-br/well-architected/guide/engaging#recognition-rewards) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Organização | ✅ Os aplicativos usam análise integrada para mostrar aos usuários estatísticas relevantes de progresso da meta e produtividade | | Plataforma \| Organização | ✅ Comemorações de caminho são habilitadas apenas com o consentimento do usuário | | Plataforma \| Organização | ✅ Notificações e mensagens incluem reconhecimento do usuário e refletem as preferências do usuário no design de quem é notificado e o que aciona as notificações | --- ### Antipadrão de orientação no aplicativo Saiba mais sobre Well-Archived [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Util](/docs/architect/pt-br/well-architected/guide/engaging#útil) → [Orientação no aplicativo](/docs/architect/pt-br/well-architected/guide/engaging#orientação-no-aplicativo) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | A documentação não inclui uma matriz clara mostrando usuários, aplicativos e orientação no aplicativo ativa | | Plataforma \| Padrões de design | ⚡️ Não lidar com a orientação no aplicativo | | Plataforma \| Organização | ⚡️ A configuração para "Atraso entre orientação no aplicativo" é definida para um período menor que o período padrão (24 horas) fornecido pelo Salesforce | | Plataforma \| Organização | ⚡️ Os aplicativos têm mais de um guia passo a passo ativo | | Plataforma \| Organização | ⚡️ Muitos guias passo a passo têm uma configuração de "Hora para mostrar" maior que 10 (e alguns têm o valor máximo de 30) | | Plataforma \| Organização | Os avisos são ativados ad hoc, muitos com a configuração "Qualquer página, qualquer aplicativo" ou "Esta página, qualquer aplicativo" | ### Antipadrão de notificações e mensagens Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Util](/docs/architect/pt-br/well-architected/guide/engaging#útil) → [Notificações e Mensagens](/docs/architect/pt-br/well-architected/guide/engaging#notificações-e-mensagens) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------ | | Plataforma \| Aplicativos | As respostas generativas são enviadas diretamente aos usuários finais sem pontos de engajamento humano | | Plataforma \| Padrões de design | Se padrões de design forem definidos, eles não abordarão erros e notificações | | Plataforma \| Organização | Mensagens de toast com `mode` definido como `sticky` existem | | Plataforma \| Organização | Mensagens de toast não usam variantes de modo consistente | | Plataforma \| Organização | As respostas generativas não identificam as fontes de dados usadas | | Plataforma \| Organização | ⚡️ Nenhum aviso de isenção de responsabilidade por riscos de IA generativa aparece para os usuários | | Plataforma \| Organização | ⚡️ As isenções de IA não estão em linguagem clara e compreensível para os usuários | | Plataforma \| Organização | ⚡️ Os bots não identificam-se claramente antes da primeira interação com os usuários | | Plataforma \| Organização | Emails são o formato de mensagens predominante | | Plataforma \| Organização | ⚡️ Não há abordagem consistente para tipos de mensagem | | Plataforma \| Organização | ⚡️ Os avisos são usados ad hoc | ### Antipadrão de reconhecimento e recompensas Saiba mais sobre Bem-construído [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engajando](/docs/architect/pt-br/well-architected/guide/engaging) → [Ajudando](/docs/architect/pt-br/well-architected/guide/engaging#útil) → [Reconhecimento e Recompensas](/docs/architect/pt-br/well-architected/guide/engaging#recognition-rewards) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Organização | ⚡️ O Analytics relacionado a estatísticas de progresso da meta e produtividade está disponível apenas em relatórios ou painéis do gerente | | Plataforma \| Organização | Comemorações de caminho são habilitadas sem verificar o consentimento do usuário | | Plataforma \| Organização | Notificações e mensagens não incluem nenhum tipo de reconhecimento de usuário ou não refletem as preferências dos usuários e parecem ruidosas ou irritantes | --- # Engajamento – Simplificado ### Padrão de complexidade do aplicativo Saiba mais sobre Well-Archived [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Simplificado](/docs/architect/pt-br/well-architected/guide/engaging#simplificado) → [Complexidade da aplicação](/docs/architect/pt-br/well-architected/guide/engaging#complexidade-do-aplicativo) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Organização | ✅ Os aplicativos têm menos de 10 guias na configuração padrão fornecida pelo administrador | | Plataforma \| Organização | ✅ Nenhum aplicativo tem "Desabilitar personalização do usuário final de itens de navegação neste aplicativo" definido como true | ### Padrão do formato Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Streamlined](/docs/architect/pt-br/well-architected/guide/engaging#simplificado) → [Form Factor](/docs/architect/pt-br/well-architected/guide/engaging#fator-de-forma) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Aura | ✅ Componentes do Aura personalizados disponíveis no Criador de aplicativo declaram formatos com suporte em seus respectivos arquivos de design | | Plataforma \| Aura | ✅ Componentes personalizados do Aura disponíveis no Criador de aplicativos implementam padrões de estilo sensíveis à largura | | Plataforma \| Aura | ✅ Modelos de página personalizados do Lightning usam `design:supportedFormFactors` e `design:supportedFormFactor` em arquivos de design de componente do Aura | | Plataforma \| Desktop | ✅ Campos de entrada de dados e controles de navegação se encaixam na tela e podem ser interagidos conforme o desejado | | Plataforma \| Desktop | ✅ As páginas de registro e aplicativo aparecem corretamente com base nas regras de atribuição de ativação de página | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ LWCs personalizados disponíveis no Criador de aplicativos implementam padrões de estilo sensíveis à largura | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ LWCs personalizados disponíveis no Criador de aplicativo declaram formatos com suporte em seus respectivos arquivos de design | | Plataforma \| Dispositivos móveis | ✅ Menus de navegação móveis, otimizados para formatos menores, aparecem | | Plataforma \| Dispositivos móveis | ✅ Entradas de dados e controles de navegação aparecem corretamente | | Plataforma \| Dispositivos móveis | ✅ Os usuários podem inserir dados facilmente | | Plataforma \| Dispositivos móveis | ✅ Layouts compactos aparecem no nível do registro | | Plataforma \| Organização | ✅ Modelos de página do Lightning fornecidos pelo Salesforce são usados para todas ou a maioria das páginas | ### Padrão de formulários Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Simplificado](/docs/architect/pt-br/well-architected/guide/engaging#simplificado) → [Formulários](/docs/architect/pt-br/well-architected/guide/engaging#formulários) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Aplicativos | ✅ Erros de entrada de dados aparecem antes de os usuários sairem ou enviarem dados | | Plataforma \| Aplicativos | ✅ Campos seguem agrupamentos lógicos | | Plataforma \| Aplicativos | ✅ O envio de dados acontece uma vez | | Plataforma \| Aplicativos | ✅ Rótulos para ações e navegação estão claros | | Plataforma \| Aplicativos | ✅ Feedback oportuno e visual é fornecido para confirmar ações do usuário, como cliques em botões | | Plataforma \| Aplicativos | ✅ Botões de navegação (por exemplo, "Ir", "Avançar" e "Voltar") são colocados de modo consistente em toda a IU | | Plataforma \| Aplicativos | ✅ Campos de entrada de dados aparecem em grupos de cinco ou menos | | Plataforma \| Aplicativos | ✅ Os erros de entrada de dados são claros e aparecem no nível do campo | | Plataforma \| Aplicativos | ✅ Controles de paginação permitem a movimentação entre etapas | | Plataforma \| Lógica de formulário | ✅ Os campos são preenchidos ou preenchidos automaticamente o máximo possível | | Plataforma \| Lógica de formulário | ✅ Os usuários não precisam esperar a conclusão de ações no lado do servidor de execução longa | | Plataforma \| Lógica de formulário | ✅ As operações de dados são realizadas uma vez | | Plataforma \| Lógica de formulário | ✅ Componentes personalizados usam `cacheable=true` para ações baseadas em servidor que não envolvem operações de dados | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ Os adaptadores de `@wire` do LWC lidam com todas as ações que não envolvem operações de dados | --- ### Antipadrão de complexidade do aplicativo Saiba mais sobre Well-Archived [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Simplificado](/docs/architect/pt-br/well-architected/guide/engaging#simplificado) → [Complexidade da aplicação](/docs/architect/pt-br/well-architected/guide/engaging#complexidade-do-aplicativo) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Organização | ⚡️ Muitos aplicativos têm "Desabilitar personalização do usuário final de itens de navegação neste aplicativo" definido como verdadeiro ou a permissão para personalizar itens de navegação está desabilitada em toda a organização | | Plataforma \| Organização | ⚡️ Os aplicativos normalmente têm mais de 10 guias na configuração padrão fornecida pelo administrador | ### Antipadrão do formato Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Streamlined](/docs/architect/pt-br/well-architected/guide/engaging#simplificado) → [Form Factor](/docs/architect/pt-br/well-architected/guide/engaging#fator-de-forma) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Aura | Modelos de página personalizados do Lightning não usam uniformemente `design:supportedFormFactors` e `design:supportedFormFactor` em arquivos de design de componente do Aura | | Plataforma \| Aura | Componentes do Aura personalizados disponíveis no Criador de aplicativo não declaram de modo consistente formatos com suporte em seus respectivos arquivos de design | | Plataforma \| Aura | ⚡️ Em componentes personalizados do Aura, o estilo para diferentes fatores de forma é conduzido puramente por valores de `px` ou `%` embutidos em código no CSS | | Plataforma \| Aura | ⚡️ Em componentes do Aura personalizados, o estilo sensível à largura não é implementado por interfaces fornecidas pelo Salesforce. | | Plataforma \| Desktop | Campos de entrada de dados e controles de navegação não aparecem nos locais desejados na tela | | Plataforma \| Desktop | Interações com campos de entrada de dados e controles de navegação não correspondem aos comportamentos obrigatórios | | Plataforma \| Desktop | ⚡️ A ausência de regras de atribuição de ativação de página significa que todos os usuários veem as mesmas páginas de registro e aplicativo | | Plataforma \| Componentes da Web Lightning (LWC) | ⚡️ Em LWCs personalizados, o estilo sensível à largura não é implementado por interfaces fornecidas pelo Salesforce | | Plataforma \| Componentes da Web Lightning (LWC) | ⚡️ Em LWCs personalizados, o estilo para diferentes fatores de forma é conduzido puramente por valores de `px` ou `%` embutidos em código no CSS | | Plataforma \| Componentes da Web Lightning (LWC) | ⚡️ LWCs personalizados disponíveis no Criador de aplicativo não declaram de modo consistente formatos com suporte em seus respectivos arquivos de design | | Plataforma \| Dispositivos móveis | ⚡️ Entradas de dados e controles de navegação não são renderizados de modo consistente ou correto | | Plataforma \| Dispositivos móveis | ⚡️ Os usuários não podem inserir dados facilmente | | Plataforma \| Dispositivos móveis | ⚡️ Layouts compactos não são configurados no nível do registro | | Plataforma \| Dispositivos móveis | ⚡️ Menus de navegação móveis não podem ser distinguidos da navegação em desktop | | Plataforma \| Organização | ⚡️ O Classic ainda está ativo | ### Antipadrão de formulários Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Engaging](/docs/architect/pt-br/well-architected/guide/engaging) → [Simplificado](/docs/architect/pt-br/well-architected/guide/engaging#simplificado) → [Formulários](/docs/architect/pt-br/well-architected/guide/engaging#formulários) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Aplicativos | Campos de entrada de dados aparecem em grupos maiores que cinco | | Plataforma \| Aplicativos | Os campos de entrada de dados não são agrupados de modo lógico, exigindo uma grande quantidade de alternância de contexto pelos usuários que preenchem formulários | | Plataforma \| Aplicativos | Etapas e agrupamentos não são definidos claramente, dificultando a navegação | | Plataforma \| Aplicativos | ⚡️ Erros de entrada de dados aparecem apenas quando o botão de envio de um formulário é clicado | | Plataforma \| Aplicativos | ⚡️ Rótulos para ações e navegação estão confusos para usuários que não estão familiarizados com a funcionalidade do sistema subjacente | | Plataforma \| Aplicativos | ⚡️ A confirmação visual de ações do usuário não é fornecida | | Plataforma \| Aplicativos | Botões de navegação aparecem em locais arbitrários em toda a IU | | Plataforma \| Aplicativos | ⚡️ Erros de entrada de dados contêm informações enigmáticas que só podem ser interpretadas por alguém que entende o funcionamento interno do sistema | | Plataforma \| Aplicativos | ⚡️ O envio de dados ocorre várias vezes ao longo do processo de entrada de dados | | Plataforma \| Lógica de formulário | Campos que podem ser pré-preenchidos ou preenchidos automaticamente exigem entrada manual | | Plataforma \| Lógica de formulário | ⚡️ Os usuários precisam parar de trabalhar durante o processo de envio para aguardar a conclusão das ações no lado do servidor | | Plataforma \| Lógica de formulário | ⚡️ Conjunto de componentes personalizados `cacheable=false` | --- # Explorador de padrões adaptáveis e antipadrões Crie para a mudança com operações resilientes e arquitetura composível.
✅ Adaptable – Padrões
Resistente Composto
Práticas que reduzem a resiliência, limitam a capacidade de composição ou dificultam a alteração.
⚡️ Adaptable – Antipadrões
Resistente Composto
# Explorador de padrões simples e antipadrões Projetado para clareza, automação e uma experiência de usuário envolvente.
✅ Fácil – Padrões
Intencional Automatizado Engajamento
Práticas que aumentam a complexidade, reduzem a automação ou afetam a experiência do usuário.
⚡️ Fácil – Antipadrões
Intencional Automatizado Engajamento
# Intencional – Capacidade de manutenção ### Padrão vs. Padrão de funcionalidade personalizada Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Manutenção](/docs/architect/pt-br/well-architected/guide/intentional#capacidade-de-manutenção) → [Padrão vs. Funcionalidade personalizada](/docs/architect/pt-br/well-architected/guide/intentional#standard-vs-custom-functionality) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Organização | ✅ Conectores padrão são aproveitados sempre que possível Se um conector padrão estiver disponível, considere cuidadosamente as implicações de implementar um fluxo de dados personalizado. Fluxos personalizados não poderão aproveitar aprimoramentos à funcionalidade padrão | | Einstein \| Organização | ✅ Comece com avisos existentes e personalize-os conforme suas necessidades. Use as práticas recomendadas da Exemplo de biblioteca de modelos de prompts em vez de criar um novo rascunho do zero | | Einstein \| Modelos de prompts | ✅ Os modelos de prompt usam o Einstein Search Retrievers para RAG Recuperadores de pesquisa de baixo código são usados em vez do Apex personalizado, ao usar a geração aumentada de recuperação em um modelo de prompt | | Plataforma \| Apex | ✅ Não existe código para substituir mecanismos de visualização de página padrão | | Plataforma \| Aura | ✅ Não existe código para substituir mecanismos de visualização de página padrão | | Plataforma \| Aura | ✅ Nenhuma tentativa de código para substituir ou contornar a ordem de execução da plataforma | | Plataforma \| Modelo de dados | ✅ Nenhum objeto tem nomes ou funcionalidade que duplique objetos padrão | | Plataforma \| Modelo de dados | ✅ Objetos padrão não são usados para fins que estejam longe de seu escopo pretendido | | Plataforma \| Registros de decisão | ✅ Os registros de decisão mostram o cálculo para custos de curto e longo prazo ao escolher criar ou comprar soluções | | Plataforma \| Padrões de design | ✅ O princípio de orientação para soluções usa a seguinte prioridade: 1\. Use os serviços de plataforma integrados 2. Considere os aplicativos AppExchange antes de criar uma solução personalizada 3. Usar personalizações com pouco código antes de escrever código | | Plataforma \| Padrões de design | ✅ Há um princípio diretor claro para evitar a personalização desnecessária das soluções | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ Não existe código para substituir mecanismos de visualização de página padrão | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ Nenhuma tentativa de código para substituir ou contornar a ordem de execução da plataforma | | Plataforma \| Visualforce | ✅ Nenhuma tentativa de código para substituir ou contornar a ordem de execução da plataforma | ### Padrão de débito técnico Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Maintenanceability](/docs/architect/pt-br/well-architected/guide/intentional#capacidade-de-manutenção) → [Technical Debt](/docs/architect/pt-br/well-architected/guide/intentional#dívido-técnico) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Registros de decisão | ✅ Os KPIs para remediação de débito pré/pós-tecnológico são claramente documentados | | Plataforma \| Registros de decisão | ✅ Discussões de compensação para ação e inatividade focam os custos ou os benefícios dos negócios | | Plataforma \| Organização | ✅ Nenhuma tecnologia sem suporte ou legada está ativa nas conexões da organização do Salesforce usando o adaptador entre organizações para Salesforce Connect | | Plataforma \| Organização | ✅ Nenhuma tecnologia não suportada ou legada está ativa Incluindo: - Todos os usuários trabalham no Lightning Experience - Nenhum ou muito poucos usos de `@future` no Apex (se usa o Queueable) - Todos os Apex de terceiros pertencem aos pacotes do AppExchange - Nenhuma regra de fluxo de trabalho ativa (se usa o Fluxo) - Nenhum processo do Criador de processos ativo (se usa o Fluxo) - Eventos PushTopic (se usa a captura de dados de alteração) - Eventos genéricos (se usam Eventos de plataforma) - Versões da API anteriores à 30.0 - Uso de conexões entre organizações do Salesforce -Adaptador de organizações para o Salesforce Connect | | Plataforma \| Organização | ✅ Nenhuma tecnologia sem suporte ou legada está ativa Nenhum ou muito poucos usos de `@future` no Apex (é usado Queueable) | | Plataforma \| Organização | ✅ Nenhuma tecnologia não suportada ou legada está ativa Todos os Apex de terceiros pertencem aos pacotes do AppExchange | | Plataforma \| Organização | ✅ Nenhuma tecnologia sem suporte ou legada está ativa Todos os usuários trabalham no Lightning Experience | | Plataforma \| Organização | ✅ Nenhuma tecnologia sem suporte ou legada está ativa Nenhuma regra de fluxo de trabalho ativa (Fluxo é usado) | | Plataforma \| Organização | ✅ Nenhuma tecnologia sem suporte ou legada está ativa Nenhum processo ativo do Criador de processos (Fluxo é usado) | | Plataforma \| Organização | ✅ Nenhuma tecnologia não suportada ou legada está ativa Eventos PushTopic (É usada a captura de dados de alteração) | | Plataforma \| Organização | ✅ Nenhuma tecnologia sem suporte ou legada tem versões da API ativas anteriores à 30.0 | | Plataforma \| Organização | ✅ Nenhuma tecnologia sem suporte ou legada está ativa Eventos genéricos (Eventos de plataforma são usados) | | Plataforma \| Roteiro | ✅ As datas de entrega e início/término estão claras | | Plataforma \| Roteiro | ✅ O trabalho para lidar com o débito técnico existe | --- ### Padrão vs. antipadrão de funcionalidade personalizada Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Manutenção](/docs/architect/pt-br/well-architected/guide/intentional#capacidade-de-manutenção) → [Padrão vs. Funcionalidade personalizada](/docs/architect/pt-br/well-architected/guide/intentional#standard-vs-custom-functionality) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Organização | ⚡️ Uso infrequente de conectores padrão Implementando um fluxo de dados personalizado com ingestão de streaming ou lote, quando um conector padrão fará isso | | Einstein \| Modelos de prompts | ⚡️ Os modelos de prompt são criados do zero Os modelos de prompt são criados do zero com estilos, frases e formatação variados | | Einstein \| Modelos de prompts | ⚡️ Modelos de prompt aproveitam o Apex personalizado para RAG Um recurso do Apex personalizado é usado em seus modelos de prompt para implementar o RAG | | Plataforma \| Apex | ⚡️ Tentativas de código para substituir ou contornar a ordem de execução da plataforma | | Plataforma \| Aura | ⚡️ O código existe para substituir mecanismos de visualização de página padrão, geralmente na forma de um aplicativo de página única | | Plataforma \| Aura | ⚡️ Tentativas de código para substituir ou contornar a ordem de execução da plataforma | | Plataforma \| Modelo de dados | Objetos duplicam os nomes e/ou a funcionalidade de objetos padrão | | Plataforma \| Modelo de dados | ⚡️ Objetos padrão são usados para fins muito fora do escopo desejado | | Plataforma \| Registros de decisão | Os registros de decisão não consideram custos de curto e longo prazo ao escolher criar ou comprar soluções | | Plataforma \| Padrões de design | ⚡️ Os padrões de design não existem ou não têm uma justificativa clara para evitar personalizações e códigos desnecessários | | Plataforma \| Componentes da Web Lightning (LWC) | ⚡️ O código existe para substituir mecanismos de visualização de página padrão, geralmente na forma de um aplicativo de página única | | Plataforma \| Componentes da Web Lightning (LWC) | ⚡️ Tentativas de código para substituir ou contornar a ordem de execução da plataforma | | Plataforma \| Visualforce | ⚡️ O código existe para substituir mecanismos de visualização de página padrão, geralmente na forma de um aplicativo de página única | ### Antipadrão de débito técnico Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Maintenanceability](/docs/architect/pt-br/well-architected/guide/intentional#capacidade-de-manutenção) → [Technical Debt](/docs/architect/pt-br/well-architected/guide/intentional#dívido-técnico) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Registros de decisão | ⚡️ A remediação de débito técnico não tem KPIs mensuráveis | | Plataforma \| Registros de decisão | ⚡️ O débito técnico é considerado em termos técnicos ou focados em TI, sem relevância para o negócio | | Plataforma \| Organização | ⚡️ Tecnologia sem suporte ou legada tem versões da API ativas anteriores à 30.0 | | Plataforma \| Organização | Tecnologia sem suporte ou legada está ativa Regras de fluxo de trabalho | | Plataforma \| Organização | Tecnologia sem suporte ou legada está ativa Eventos PushTopic | | Plataforma \| Organização | Tecnologia sem suporte ou legada está ativa nos processos do Criador de processos | | Plataforma \| Organização | Tecnologia sem suporte ou legada está ativa Eventos genéricos | | Plataforma \| Organização | Tecnologia não suportada ou legada está ativa Usuários que trabalham no Salesforce Classic | | Plataforma \| Organização | Tecnologia sem suporte ou legada está ativa nas conexões do Salesforce para o Salesforce | | Plataforma \| Organização | Incluindo: - Usuários que trabalham no Salesforce Classic - Uso de `@future` no Apex - Apex de terceiros de fontes não AppExchange - Regras de fluxo de trabalho - Process Builder - Eventos PushTopic - Eventos genéricos - Versões da API anteriores à 30.0 - Conexões do Salesforce com o Salesforce | | Plataforma \| Organização | Tecnologia não suportada ou legada é o uso ativo de `@future` no Apex | | Plataforma \| Organização | Tecnologia não suportada ou legada está ativa Apex de terceiros de fontes não AppExchange | | Plataforma \| Roteiro | ⚡️ Nenhum trabalho para lidar com o débito técnico está planejado | | Plataforma \| Roteiro | ⚡️ As entregas são vagas; as datas de início/término não são claras | --- # Intencional – Estratégia ### Padrão de governança Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Strategy](/docs/architect/pt-br/well-architected/guide/intentional#estratégia) → [Governance](/docs/architect/pt-br/well-architected/guide/intentional#governança) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ✅ Os membros da equipe sabem quem é responsável pelo que ao longo do ciclo de vida do aplicativo | | Plataforma \| Negócios | ✅ Equipes e projetos usam apenas modelos de IA aprovados para uso comercial | | Plataforma \| Negócios | ✅ Correções rápidas têm um caminho claro para produção | | Plataforma \| Negócios | ✅ Os usuários podem facilmente relatar bugs e recursos de solicitação | | Plataforma \| Negócios | ✅ O processo de priorização para itens de trabalho é documentado e transparente para todas as partes interessadas | | Plataforma \| Negócios | ✅ A estratégia de ambiente está claramente documentada e os ambientes de desenvolvimento correspondem à documentação | | Plataforma \| Negócios | ✅ Os processos de suporte de produção estão claros | | Plataforma \| Negócios | ✅ O planejamento da versão é previsível e transparente para todos os membros da equipe de entrega | | Plataforma \| Negócios | ✅ As versões estão claras para usuários e equipes de entrega/manutenção | ### Padrão de priorização Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intencional](/docs/architect/pt-br/well-architected/guide/intentional) → [Estratégia](/docs/architect/pt-br/well-architected/guide/intentional#estratégia) → [Priorização](/docs/architect/pt-br/well-architected/guide/intentional#priorização) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Empresa | ✅ Os custos de implementação e manutenção foram identificados para todos os KPIs | | Plataforma \| Empresa | ✅ As solicitações de recursos são priorizadas com base no impacto dos negócios, na quantidade de novo trabalho necessário para entregar e na quantidade de trabalho necessário para manter | | Plataforma \| Documentação | ✅ Os roteiros mostram que as automações são priorizadas com base no valor dos negócios | | Plataforma \| Documentação | ✅ Todos os novos itens de trabalho têm métricas de valor comercial claras (por exemplo, aumentos de receita, poupança de custos de otimizações de processos etc.) | ### Padrão de roteiro Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Strategy](/docs/architect/pt-br/well-architected/guide/intentional#estratégia) → [Roadmapping](/docs/architect/pt-br/well-architected/guide/intentional#roteiro) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ✅ As equipes de entrega sabem como avaliar itens pendentes em relação a prioridades de longo prazo | | Plataforma \| Negócios | ✅ As equipes sabem quem está fazendo o que e como gerenciar dependências | | Plataforma \| Negócios | ✅ As partes interessadas entendem o "por quê" dos itens de trabalho | | Plataforma \| Negócios | ✅ O trabalho é intencional, mesmo quando as prioridades precisam mudar rapidamente | | Plataforma \| Roteiro | ✅ Mostrar pré-requisitos e dependências | | Plataforma \| Roteiro | ✅ Comunicar informações personalizadas para seu público (negócios ou técnicos) | | Plataforma \| Roteiro | ✅ Comunicar informações no nível correto de detalhes | | Plataforma \| Roteiro | ✅ Mostrar datas de início e término | --- ### Antipadrão de governança Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Strategy](/docs/architect/pt-br/well-architected/guide/intentional#estratégia) → [Governance](/docs/architect/pt-br/well-architected/guide/intentional#governança) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ⚡️ As equipes não sabem quem é responsável por quê | | Plataforma \| Negócios | ⚡️ As equipes selecionam modelos de IA ad hoc | | Plataforma \| Negócios | ⚡️ Os itens de trabalho não têm uma priorização clara | | Plataforma \| Negócios | Os ambientes são provisionados ad hoc e podem não ser atualizados de modo previsível; os desenvolvedores geralmente não têm os ambientes e o acesso necessários | | Plataforma \| Negócios | A documentação não está facilmente acessível | | Plataforma \| Negócios | ⚡️ Sua pendência se tornou um "banco de ideias" obsoleto e estagnado | | Plataforma \| Negócios | ⚡️ As versões são imprevisíveis para usuários e equipes de entrega | | Plataforma \| Negócios | ⚡️ Os órgãos de governança atuam como um help desk que soluciona problemas de solicitações de suporte | | Plataforma \| Negócios | ⚡️ Correções rápidas são tratadas ad hoc | | Plataforma \| Negócios | ⚡️ Relatórios de bugs e solicitações de recursos são ad hoc | ### Antipadrão de priorização Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intencional](/docs/architect/pt-br/well-architected/guide/intentional) → [Estratégia](/docs/architect/pt-br/well-architected/guide/intentional#estratégia) → [Priorização](/docs/architect/pt-br/well-architected/guide/intentional#priorização) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------ | | Plataforma \| Empresa | ⚡️ Os custos associados à implementação e manutenção de automações não estão claros | | Plataforma \| Empresa | ⚡️ As solicitações são entregues ad hoc ou primeiro a entrar/primeiro a sair | | Plataforma \| Documentação | ⚡️ Os roteiros não existem | | Plataforma \| Documentação | ⚡️ O valor comercial associado ao trabalho não está claro ou não existe | ### Antipadrão de roteiro Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Strategy](/docs/architect/pt-br/well-architected/guide/intentional#estratégia) → [Roadmapping](/docs/architect/pt-br/well-architected/guide/intentional#roteiro) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ⚡️ As partes interessadas costumam se sentir frustradas e confusas sobre o que está sendo feito e ficam confiantes quando novos recursos serão entregues | | Plataforma \| Negócios | ⚡️ O trabalho é extraído do que estiver na pendência e não há "por quê" claro | | Plataforma \| Negócios | ⚡️ As equipes têm dificuldade para coordenar o trabalho interdependente e muitas vezes replicam o trabalho sem perceber | | Plataforma \| Negócios | ⚡️ O trabalho costuma ser reativo | | Plataforma \| Roteiro | ⚡️ São usados como materiais de início do projeto e não artefatos para entrega | | Plataforma \| Roteiro | ⚡️ Não ajude a alinhar partes interessadas e equipes de entrega | | Plataforma \| Roteiro | ⚡️ Contêm informações que não são personalizadas para o público (por exemplo, funcionalidades de negócios e sistemas no mesmo roteiro) | | Plataforma \| Roteiro | Misture níveis de detalhes (por exemplo, incluindo sistemas e componentes no mesmo roteiro) | --- # Intencional – Legibilidade ### Padrão de padrões de design Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intencional](/docs/architect/pt-br/well-architected/guide/intentional) → [Legibilidade](/docs/architect/pt-br/well-architected/guide/intentional#legibilidade) → [Padrões de Design](/docs/architect/pt-br/well-architected/guide/intentional#padrões-de-design) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Agentes | ✅ A configuração de idioma do seu agente corresponde ao tom da sua empresa Se o tom da sua empresa for formal, como uma instituição financeira, a configuração de tom do seu agente será "formal". Se a sua empresa for informal, a configuração de tom será "casual". Caso contrário, sua configuração de tom será "neutra" | | Einstein \| Organização | ✅ Modelos de prompt aproveitam a formatação para fornecer contexto ao LLM Um único hash é usado para marcar um bloco curto de texto como uma única unidade do contexto do modelo de prompt | | Einstein \| Organização | ✅ Modelos de prompt usam um estilo de escrita consistente Sua escolha de palavra, formatação, emojis e pontuação são consistentes entre os modelos | | Einstein \| Organização | ✅ Os modelos de prompts são concisos, fáceis de entender e usar linguagem natural. Os modelos evitam jargão do setor ou termos técnicos | | Einstein \| Organização | ✅ Seus modelos de prompts denotam claramente contexto e instruções. Depois de fornecer o contexto no aviso, inicie uma nova linha com o texto "Instruções", seguido pelas instruções com aspas duplas (""") | | Plataforma \| Negócios | ✅ Modelos de IA aprovados são claramente identificados e incluem um propósito pretendido | | Plataforma \| Negócios | ✅ Os padrões de design aprovados são fáceis de localizar e identificar por caso de uso | | Plataforma \| Negócios | ✅ As equipes sabem quais ferramentas usar (e não usar) para concluir o trabalho | | Plataforma \| Organização | ✅ Personalizações declarativas e de código têm nomes consistentes e legíveis por humanos | | Plataforma \| Organização | ✅ Os modelos de dados têm nomes consistentes e uniformes para objetos e campos | | Plataforma \| Organização | ✅ As auditorias mostram que os campos são preenchidos de modo consistente e referenciados em relatórios etc. | ### Padrão de documentação Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Legibilidade](/docs/architect/pt-br/well-architected/guide/intentional#legibilidade) → [Documentação](/docs/architect/pt-br/well-architected/guide/intentional#documentação) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Data 360 \| Documentação | ✅ Os sistemas de origem são inventariados em um dicionário de dados. As fontes de dados do Data 360 são documentadas no processo de design de soluções usando um dicionário de dados que inclui os sistemas de origem e destino e os mapeamentos de campo entre os dois | | Plataforma \| Negócios | ✅ Existem diagramas para funcionalidades de negócios e detalhes de implementação técnica para todas as soluções | | Plataforma \| Negócios | ✅ Chave quem/quando/quais registros de informações existem para personalizações declarativas e de código | | Plataforma \| Negócios | ✅ As pessoas podem pesquisar e encontrar documentação relevante | | Plataforma \| Organização | ✅ Personalizações declarativas e de código têm descrições claras | --- ### Antipadrão de padrões de design Saiba mais sobre Bem-Arquiteto [Fácil](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intencional](/docs/architect/pt-br/well-architected/guide/intentional) → [Legibilidade](/docs/architect/pt-br/well-architected/guide/intentional#legibilidade) → [Padrões de Design](/docs/architect/pt-br/well-architected/guide/intentional#padrões-de-design) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Modelos de prompts | ⚡️ Os modelos de prompt usam jargão e/ou termos técnicos Os modelos de prompt incluem jargão, acrônimos e termos técnicos em vez de linguagem natural concisa | | Plataforma \| Negócios | ⚡️ Modelos de IA aprovados não são claramente identificados e sua finalidade pretendida não é clara | | Plataforma \| Negócios | ⚡️ As equipes usam muitas ferramentas diferentes para realizar trabalhos semelhantes | | Plataforma \| Negócios | ⚡️ Não há padrões de design aprovados | | Plataforma \| Negócios | ⚡️ Demora muito para fornecedores ou novos funcionários serem integrados | | Plataforma \| Organização | ⚡️ Código e personalizações declarativas não têm nomes consistentes | | Plataforma \| Organização | ⚡️ Os modelos de dados têm nomes inconsistentes e muitos objetos e campos parecem redundantes | | Plataforma \| Organização | As auditorias exibem muitos campos não utilizados ou vários níveis de uso, e não há link consistente para relatórios etc. | ### Antipadrão da documentação Saiba mais sobre Well-Architected [Easy](/docs/architect/pt-br/well-architected/guide/easy-overview) → [Intentional](/docs/architect/pt-br/well-architected/guide/intentional) → [Legibilidade](/docs/architect/pt-br/well-architected/guide/intentional#legibilidade) → [Documentação](/docs/architect/pt-br/well-architected/guide/intentional#documentação) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Organização | ⚡️ Os mapeamentos de origem para destino são documentados na tela de mapeamento de dados apenas os campos de origem de dados são mapeados para campos de objeto de modelo de dados de modo dinâmico durante a configuração na tela de mapeamento de dados no Data 360 | | Plataforma \| Negócios | ⚡️ O que/como/por que das soluções é difícil de encontrar e pode estar indisponível para a maioria das equipes | | Plataforma \| Negócios | ⚡️ As pessoas têm dificuldade para entender as soluções e o sistema com o qual estão trabalhando | | Plataforma \| Negócios | ⚡️ Demora muito para fornecedores ou novos funcionários serem integrados | | Plataforma \| Organização | Código e personalizações declarativas não têm descrições, têm descrições difíceis de entender ou têm descrições que não parecem corresponder ao que a personalização está realmente fazendo | --- # Padrões confiáveis e explorador antipadrões Proteja sistemas e dados, cumpra padrões legais e éticos e ofereça soluções disponíveis e de alto desempenho.
✅ Confiável – Padrões
Seguro Conformidade Confiável
Práticas que comprometem a segurança, a conformidade ou a confiabilidade e como evitá-las.
⚡️ Confiável – Antipadrões
Seguro Conformidade Confiável
# Resiliente – Gerenciamento de ciclo de vida do aplicativo ### Padrão de estratégia de ambiente Saiba mais sobre bem-construído e [adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resistente](/docs/architect/pt-br/well-architected/guide/resilient) → [Gerenciamento de ciclo de vida do aplicativo](/docs/architect/pt-br/well-architected/guide/resilient#gerenciamento-de-ciclo-de-vida-do-aplicativo) → Estratégia [ambientais](/docs/architect/pt-br/well-architected/guide/resilient#estratégia-ambiental) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Organização | ✅ Metadados em um determinado ambiente são independentes de seus artefatos de versão | | Plataforma \| Organização | ✅ Os ambientes não correspondem diretamente a um caminho de liberação | | Plataforma \| Organização | ✅ Os caminhos de liberação para uma alteração dependem do tipo da alteração (risco alto, risco médio, risco baixo) | | Plataforma \| Organização | ✅ Ambientes sobrecarregados não existem | | Plataforma \| Organização | ✅ Alterações de configuração arriscadas nunca são feitas diretamente na produção | | Plataforma \| Organização | ✅ Nenhum lançamento ocorre durante o horário comercial de pico | | Plataforma \| Organização | ✅ Um modelo de desenvolvimento e versão orientado por origem é adotado | | Plataforma \| Sandboxes | ✅ O rastreamento de origem está habilitado para sandboxes Developer e Developer Pro | ### Padrão de gerenciamento de versão Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resilient](/docs/architect/pt-br/well-architected/guide/resilient) → [Application Lifecycle Management](/docs/architect/pt-br/well-architected/guide/resilient#gerenciamento-de-ciclo-de-vida-do-aplicativo) → [Release Management](/docs/architect/pt-br/well-architected/guide/resilient#gerenciamento-de-versão) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ✅ Os nomes de versão estão claros | | Plataforma \| Padrões de design | ✅ As equipes podem encontrar e seguir diretrizes claras para marcar artefatos, itens de desenvolvimento e outros trabalhos com os nomes de versão corretos | | Plataforma \| Documentação | ✅ Os nomes de versão são pesquisáveis e descobríveis | | Plataforma \| Documentação | ✅ É possível reunir uma visualização clara de um manifesto de versão por nome da versão | | Plataforma \| KPIs | ✅ Limites de qualidade para aplicativos de IA generativa definidos para diferentes estágios de desenvolvimento | | Plataforma \| Produção | ✅ Metadados mostra o uso de mecanismos de liberação estáveis Implantações via API de metadados usam o formato `source` | | Plataforma \| Produção | ✅ Metadados mostram o uso de mecanismos de versão estáveis Os metadados são organizados em pacotes desbloqueados | | Plataforma \| Produção | ✅ Os registros de implementação não mostram nenhuma implementação com falha no histórico disponível | | Plataforma \| Produção | ✅ O histórico de implementação mostra ritmos de versão claros e grupos de implementação bastante uniformes nas janelas de versão | | Plataforma \| Produção | ✅ DevOps Center está ativo e instalado | | Plataforma \| Produção | ✅ Metadados mostram o uso de mecanismos de versão estáveis Os conjuntos de alterações não são usados para alterações de versão | | Plataforma \| Roteiro | ✅ Os recursos são vinculados claramente a uma versão nomeada específica | | Plataforma \| Roteiro | ✅ Os nomes de versão estão claros | | Plataforma \| Roteiro | ✅ Os nomes de versão são pesquisáveis e descobríveis | ### Padrão de estratégia de teste Saiba mais sobre bem-construído [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resilient](/docs/architect/pt-br/well-architected/guide/resilient) → [Application Lifecycle Management](/docs/architect/pt-br/well-architected/guide/resilient#gerenciamento-de-ciclo-de-vida-do-aplicativo) → [Testing Strategy](/docs/architect/pt-br/well-architected/guide/resilient#estratégia-de-teste) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Data 360 \| Apex | ✅ As classes de teste do Apex incluem cobertura para consultas executadas em objetos do Data Cloud. As classes de teste estendem a classe System.SoqlStubProvider e substituem o método handleSoqlQuery(). As instâncias de DMO são criadas usando Test.createStubQueryRow() ou Test.createStubQueryRows(). | | Plataforma \| Apex | ✅ Os padrões de fábrica de dados são usados para testes de unidade | | Plataforma \| Apex | ✅ Mock/Stubs são usados para simular respostas da API | | Plataforma \| Negócios | ✅ Você inclui testes de escala como parte de seu processo de QA quando tiver aplicativos em escala B2C, grandes volumes de usuários ou grandes volumes de dados | | Plataforma \| Negócios | ✅ Seus testes de escala têm critérios bem definidos | | Plataforma \| Negócios | ✅ Você realiza testes de escala em um Sandbox completo | | Plataforma \| Negócios | ✅ Seus testes de escala focam aspectos de alta prioridade do sistema | | Plataforma \| Negócios | ✅ Os simuladores são usados para replicar condições semelhantes a produção para escalabilidade e testes de desempenho | | Plataforma \| Negócios | ✅ Os testes são automatizados para execução quando as alterações entram no controle de origem | | Plataforma \| Negócios | ✅ Testes de resistência, estresse, desempenho e escala são executados em vários intervalos no ciclo de desenvolvimento do aplicativo e considerados tarefas contínuas | | Plataforma \| Negócios | ✅ A engenharia rápida inclui uma revisão de qualidade por um humano | | Plataforma \| Negócios | ✅ Os testes de usabilidade usam uma variedade de dispositivos e tecnologia assistiva | | Plataforma \| Organização | ✅ Todos os dados de teste são removidos de dados confidenciais e de identificação | | Plataforma \| Planos de teste | ✅ Os ambientes são classificados pelo tipo de teste ao qual eles podem dar suporte | | Plataforma \| Planos de teste | ✅ Os regimes de teste adequados são especificados de acordo com o risco, o caso de uso ou a complexidade | --- ### Antipadrão da estratégia ambiental Saiba mais sobre bem-construído e [adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resistente](/docs/architect/pt-br/well-architected/guide/resilient) → [Gerenciamento de ciclo de vida do aplicativo](/docs/architect/pt-br/well-architected/guide/resilient#gerenciamento-de-ciclo-de-vida-do-aplicativo) → Estratégia [ambientais](/docs/architect/pt-br/well-architected/guide/resilient#estratégia-ambiental) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------- | | Plataforma \| Organização | ⚡️ Os ambientes correspondem diretamente a um caminho de versão | | Plataforma \| Organização | ⚡️ O caminho da versão para cada alteração é o mesmo | | Plataforma \| Organização | ⚡️ Existem ambientes sobrecarregados | | Plataforma \| Organização | ⚡️ Alterações de configuração arriscadas são feitas diretamente na produção | | Plataforma \| Organização | ⚡️ Um modelo de desenvolvimento e versão baseado em organização é adotado | | Plataforma \| Organização | ⚡️ As versões ocorrem durante o horário comercial de pico | | Plataforma \| Organização | Metadados em um determinado ambiente são seu artefato de versão | | Plataforma \| Sandboxes | ⚡️ O rastreamento de origem não está habilitado para sandboxes Developer e Developer Pro | ### Antipadrão do Gerenciamento de versão Saiba mais sobre Well-Architected [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resilient](/docs/architect/pt-br/well-architected/guide/resilient) → [Application Lifecycle Management](/docs/architect/pt-br/well-architected/guide/resilient#gerenciamento-de-ciclo-de-vida-do-aplicativo) → [Release Management](/docs/architect/pt-br/well-architected/guide/resilient#gerenciamento-de-versão) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Padrões de design | ⚡️ Os nomes de versão estão ausentes | | Plataforma \| Padrões de design | ⚡️ As equipes se referem a artefatos, itens de desenvolvimento e outros trabalhos de diferentes maneiras | | Plataforma \| Documentação | ⚡️ Os nomes de versão são ad hoc ou não existem | | Plataforma \| Documentação | ⚡️ Não é possível reunir uma visualização clara de um manifesto de versão usando um nome de versão | | Plataforma \| KPIs | Limites de qualidade para aplicativos de IA generativa não são definidos ou não são definidos em diferentes estágios de desenvolvimento | | Plataforma \| Produção | Metadados indicam o uso de mecanismos de liberação baseados em organização Implantações via API de metadados usam o formato `package.xml` | | Plataforma \| Produção | ⚡️ Metadados indicam o uso de mecanismos de versão baseados em organização Uso ativo de conjuntos de alterações | | Plataforma \| Produção | ⚡️ Os registros de implementação mostram instâncias repetidas de implementações com falha no histórico disponível | | Plataforma \| Produção | As implantações não têm ritmo discernível ou mostram clusters desiguais de implantações (sinais de correções rápidas e reversões ad hoc) | | Plataforma \| Produção | DevOps Center não está habilitado e instalado | | Plataforma \| Roteiro | Os recursos não estão vinculados claramente a uma versão específica | | Plataforma \| Roteiro | ⚡️ Os nomes de versão estão ausentes | | Plataforma \| Roteiro | ⚡️ Os nomes de versão são ad hoc ou não existem | ### Antipadrão da estratégia de teste Saiba mais sobre bem-construído [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resilient](/docs/architect/pt-br/well-architected/guide/resilient) → [Application Lifecycle Management](/docs/architect/pt-br/well-architected/guide/resilient#gerenciamento-de-ciclo-de-vida-do-aplicativo) → [Testing Strategy](/docs/architect/pt-br/well-architected/guide/resilient#estratégia-de-teste) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Apex | ⚡️ Não existe cobertura de teste para consultas SOQL executadas em objetos do Data Cloud. Consultas SOQL em relação a um DMO não são cobertas por métodos de teste do Apex | | Plataforma \| Apex | ⚡️ Seus testes de unidade dependem de dados da organização | | Plataforma \| Apex | ⚡️ Mocks/stubs não são usados | | Plataforma \| Negócios | ⚡️ Seus testes de escala não são priorizados | | Plataforma \| Negócios | ⚡️ Você não realiza testes de escala como parte de seu processo de QA e tem aplicativos em escala B2C, grandes volumes de usuários ou grandes volumes de dados | | Plataforma \| Negócios | ⚡️ Seus testes de escala não têm critérios bem definidos | | Plataforma \| Negócios | ⚡️ Você realiza testes de escala em uma cópia parcial ou Developer Sandbox | | Plataforma \| Negócios | Os testes de usabilidade não são realizados ou são realizados em um conjunto limitado de dispositivos | | Plataforma \| Negócios | Volumes semelhantes a produção de solicitações de usuário, tráfego de API e variações de velocidade de rede não são testados. | | Plataforma \| Negócios | ⚡️ A automação de teste não está em vigor | | Plataforma \| Negócios | ⚡️ A engenharia rápida não tem uma revisão de qualidade por um humano | | Plataforma \| Negócios | ⚡️ Testes de resistência, estresse, desempenho e escala são considerados uma fase ou estágio de desenvolvimento. | | Plataforma \| Organização | ⚡️ Os dados de teste são idênticos aos dados de produção | | Plataforma \| Planos de teste | ⚡️ Não está claro qual ambiente pode dar suporte a qual tipo de teste | | Plataforma \| Planos de teste | Os regimes de teste não são categorizados por risco, caso de uso ou complexidade | | Plataforma \| Planos de teste | ⚡️ O teste de desempenho para o LWC personalizado é uma reflexão A espera do fim do ciclo de desenvolvimento para testar componentes personalizados do Lightning | | Plataforma \| Planos de teste | ⚡️ Testar integrações com menos de 50% do tráfego de usuários esperado Com base no resultado de alguns usuários para considerar um teste de integração suficiente | --- # Resiliente – Planejamento de continuidade ### Padrão de funcionalidades de backup e restauração de construção Saiba mais sobre bem-construído [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resilient](/docs/architect/pt-br/well-architected/guide/resilient) → [Continuity Planning](/docs/architect/pt-br/well-architected/guide/resilient#planejamento-de-continuidade) → [Criando recursos de backup e restauração](/docs/architect/pt-br/well-architected/guide/resilient#criar-funcionalidades-de-backup-e-restauração) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Empresa | ✅ Planos de teste e registros de teste mostram que as restaurações de dados são testadas em um sandbox de cópia total ou parcial pelo menos duas vezes por ano | | Plataforma \| Empresa | ✅ Os backups são armazenados em um local seguro acessível apenas por usuários autorizados | | Plataforma \| Documentação | ✅ Há uma estratégia de backup e restauração para dados e metadados | ### Padrão de continuidade dos negócios Saiba mais sobre bem-construído [adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resiliente](/docs/architect/pt-br/well-architected/guide/resilient) → [Planejamento de continuidade](/docs/architect/pt-br/well-architected/guide/resilient#planejamento-de-continuidade) → [Continuidade dos negócios](/docs/architect/pt-br/well-architected/guide/resilient#continuidade-dos-negócios) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ✅ Uma mentalidade "recuperação em primeiro lugar" é adotada com foco em remover os recursos e as funções de negócios de prioridade mais alta do impacto assim que possível | | Plataforma \| Negócios | ✅ Há uma agenda de manutenção para revisão de planos de teste do BCP | | Plataforma \| Documentação | ✅ Existe um CCO contendo: etapas para continuar processando ou classificando dados se o Salesforce ficar indisponível, uma lista de eventos que podem acionar o uso do CCO, etapas e intervalos para testes de CCO | | Plataforma \| Documentação | ✅ Seu CCO inclui sistemas e dependências a montante e a jusante | ### Padrão de continuidade da tecnologia Saiba mais sobre bem-construído [Adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resiliente](/docs/architect/pt-br/well-architected/guide/resilient) → [Planejamento de continuidade](/docs/architect/pt-br/well-architected/guide/resilient#planejamento-de-continuidade) → [Continuidade da tecnologia](/docs/architect/pt-br/well-architected/guide/resilient#continuidade-da-tecnologia) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ✅ Você avaliou se precisa criar sistemas intencionais de redundância ou fall-over | | Plataforma \| Negócios | ✅ As táticas de recuperação de incidentes são automatizadas sempre que possível | | Plataforma \| Documentação | ✅ Suas equipes do BCP contam com recursos adicionais ou procedimentos de detalhes podem precisar responder a incidentes de modo eficaz | | Plataforma \| Planos de teste | ✅ As áreas do seu CCO relacionadas a processos e pessoas são consideradas | --- ### Antipadrão de criação de funcionalidades de backup e restauração Saiba mais sobre bem-construído [Adaptable](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resilient](/docs/architect/pt-br/well-architected/guide/resilient) → [Continuity Planning](/docs/architect/pt-br/well-architected/guide/resilient#planejamento-de-continuidade) → [Criando recursos de backup e restauração](/docs/architect/pt-br/well-architected/guide/resilient#criar-funcionalidades-de-backup-e-restauração) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Empresa | ⚡️ Não há nenhum processo de restauração de dados ou o processo de restauração de dados não foi testado | | Plataforma \| Empresa | ⚡️ Os backups não são legíveis por humanos | | Plataforma \| Empresa | ⚡️ Os backups são armazenados em locais que usuários comerciais não autorizados podem acessar | | Plataforma \| Documentação | ⚡️ Uma estratégia de backup e restauração não existe ou a estratégia está incompleta (aplica-se apenas a dados ou metadados, não a ambos) | ### Antipadrão de continuidade dos negócios Saiba mais sobre bem-construído [adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resiliente](/docs/architect/pt-br/well-architected/guide/resilient) → [Planejamento de continuidade](/docs/architect/pt-br/well-architected/guide/resilient#planejamento-de-continuidade) → [Continuidade dos negócios](/docs/architect/pt-br/well-architected/guide/resilient#continuidade-dos-negócios) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ⚡️ Uma mentalidade de "corrigir o problema" é a única abordagem para o gerenciamento de incidentes | | Plataforma \| Negócios | ⚡️ Os planos de teste do BCP não são atualizados a intervalos regulares | | Plataforma \| Documentação | ⚡️ Seu BCP inclui apenas o Salesforce | | Plataforma \| Documentação | ⚡️ Um CCO não existe ou está incompleto | ### Antipadrão de continuidade da tecnologia Saiba mais sobre bem-construído [Adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resiliente](/docs/architect/pt-br/well-architected/guide/resilient) → [Planejamento de continuidade](/docs/architect/pt-br/well-architected/guide/resilient#planejamento-de-continuidade) → [Continuidade da tecnologia](/docs/architect/pt-br/well-architected/guide/resilient#continuidade-da-tecnologia) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ⚡️ Você não avaliou a necessidade de redundância intencional ou sistemas de fall-over | | Plataforma \| Negócios | As táticas de recuperação de incidentes são todas manuais | | Plataforma \| Documentação | ⚡️ Seu CCO não inclui necessidades de suporte operacional | | Plataforma \| Planos de teste | ⚡️ As áreas do seu CCO relacionadas a processos e pessoas não são consideradas | --- # Resiliente – resposta a incidentes ### Habilidade de triagem do padrão Saiba mais sobre bem-construído [Adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resiliente](/docs/architect/pt-br/well-architected/guide/resilient) → [Resposta a incidentes](/docs/architect/pt-br/well-architected/guide/resilient#resposta-de-incidente) → [Habilidade de triagem](/docs/architect/pt-br/well-architected/guide/resilient#capacidade-de-triagem) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ✅ As PME ou partes interessadas que devem ser alertadas para dar suporte a problemas complexos são identificadas antes de um incidente ocorrer | | Plataforma \| Negócios | ✅ A transferência entre equipes de entrega e suporte faz parte da ativação | | Plataforma \| Negócios | ✅ Se consultado, os arquitetos do Salesforce respondem rapidamente e ajudam a equipe a se manter focada na recuperação | | Plataforma \| Documentação | ✅ Os padrões de sistema e design usados em uma determinada solução podem ser descobertos e lidos pela equipe de suporte | | Plataforma \| Organização | ✅ Mensagens de erro personalizadas e de registro são incorporadas a caminhos de execução em todo o sistema | ### Padrão de monitoramento e alerta Saiba mais sobre bem-construído [Adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resistente](/docs/architect/pt-br/well-architected/guide/resilient) → [Resposta a incidentes](/docs/architect/pt-br/well-architected/guide/resilient#resposta-de-incidente) → [Monitoração e alerta](/docs/architect/pt-br/well-architected/guide/resilient#monitoramento-e-alerta) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Documentação | ✅ Os critérios de entrada para alertas de ajuste de prompt são definidos com base nas métricas de feedback de IA generativa direta e indireta | | Plataforma \| Organização | ✅ Alertas são usados apenas para informar os usuários sobre cenários que exigem intervenção humana; outras falhas são registradas e relatáveis | | Plataforma \| Organização | ✅ Alertas são enviados aos usuários que são capazes de respondê-los | | Plataforma \| Organização | ✅ Quando possível, os alertas são entregues com antecedência de uma possível falha | ### Padrão Tempo para recuperar Saiba mais sobre bem-construído [adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resistente](/docs/architect/pt-br/well-architected/guide/resilient) → [Resposta a incidentes](/docs/architect/pt-br/well-architected/guide/resilient#resposta-de-incidente) → [Hora de recuperar](/docs/architect/pt-br/well-architected/guide/resilient#tempo-para-recuperar) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Negócios | ✅ As equipes sabem quais serviços em produção são de sua propriedade | | Plataforma \| Negócios | ✅ Os protocolos de recuperação são praticados em intervalos regulares | | Plataforma \| Documentação | ✅ As táticas de recuperação são definidas e classificadas por tipo de incidente e acionador | | Plataforma \| Documentação | ✅ Os critérios de saída para respostas de incidentes existem em seus SLOs e são claros | | Plataforma \| Documentação | ✅ Os critérios de ativação e a lógica de atribuição para permissões elevadas durante incidentes estão claros | | Plataforma \| Documentação | ✅ Conjuntos de permissões e autorizações de resposta a incidentes são listados claramente | | Plataforma \| Organização | ✅ Existem conjuntos de permissões baseados em sessão para resposta a incidentes e podem ser atribuídos à equipe de suporte durante a recuperação | | Plataforma \| Organização | ✅ A Trilha de auditoria de configuração mostra que os testadores de recuperação designados fizeram login no ambiente de teste no horário acordado e seguiram os scripts de teste de recuperação | | Plataforma \| Planos de teste | ✅ Existem scripts de teste para testes de recuperação e são repetíveis | | Plataforma \| Planos de teste | ✅ Os ambientes para simulações de incidentes são listados claramente | --- ### Capacidade de triagem de antipadrão Saiba mais sobre bem-construído [Adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resiliente](/docs/architect/pt-br/well-architected/guide/resilient) → [Resposta a incidentes](/docs/architect/pt-br/well-architected/guide/resilient#resposta-de-incidente) → [Habilidade de triagem](/docs/architect/pt-br/well-architected/guide/resilient#capacidade-de-triagem) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ⚡️ As PME ou partes interessadas que devem ser alertadas não são identificadas até que um incidente ocorra | | Plataforma \| Negócios | ⚡️ A transferência entre equipes de entrega e equipes de suporte não faz parte do processo de liberação | | Plataforma \| Negócios | ⚡️ Os arquitetos do Salesforce consideram que a resposta ao incidente está fora do escopo de trabalho | | Plataforma \| Documentação | ⚡️ Os padrões de sistema e design usados em uma determinada solução não estão prontamente disponíveis para a equipe de suporte | | Plataforma \| Organização | ⚡️ Não são usados registros e mensagens de erro personalizadas | ### Antipadrão de monitoramento e alerta Saiba mais sobre bem-construído [Adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resistente](/docs/architect/pt-br/well-architected/guide/resilient) → [Resposta a incidentes](/docs/architect/pt-br/well-architected/guide/resilient#resposta-de-incidente) → [Monitoração e alerta](/docs/architect/pt-br/well-architected/guide/resilient#monitoramento-e-alerta) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Documentação | ⚡️ Não há critérios definidos para acionar alertas de ajuste de prompt para aplicativos de IA generativa | | Plataforma \| Organização | Alertas são enviados quando ocorre qualquer tipo de falha, independentemente de ações de acompanhamento serem ou não necessárias | | Plataforma \| Organização | Alertas sobre problemas que exigem soluções técnicas são entregues aos usuários de negócios | | Plataforma \| Organização | Alertas são entregues apenas em resposta a falhas que já ocorreram | ### Tempo para recuperar antipadrão Saiba mais sobre bem-construído [adaptável](/docs/architect/pt-br/well-architected/guide/adaptable-overview) → [Resistente](/docs/architect/pt-br/well-architected/guide/resilient) → [Resposta a incidentes](/docs/architect/pt-br/well-architected/guide/resilient#resposta-de-incidente) → [Hora de recuperar](/docs/architect/pt-br/well-architected/guide/resilient#tempo-para-recuperar) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Negócios | ⚡️ Não está claro quais equipes são responsáveis por diferentes serviços na produção | | Plataforma \| Negócios | ⚡️ Os protocolos de recuperação não existem ou não são praticados em intervalos regulares | | Plataforma \| Documentação | ⚡️ A resposta de incidente é realizada ad hoc | | Plataforma \| Documentação | ⚡️ Não há critérios de saída para respostas de incidentes | | Plataforma \| Documentação | Permissões elevadas não são atribuídas ou atribuídas ad hoc | | Plataforma \| Documentação | Conjuntos de permissões e autorizações de resposta a incidentes não são listados | | Plataforma \| Organização | Conjuntos de permissões baseados em sessão não existem para resposta a incidentes ou não estão autorizados para a equipe de suporte usar | | Plataforma \| Organização | A Trilha de auditoria de configuração mostra que os testadores de recuperação designados não fizeram login no ambiente de teste ou não seguiram scripts de teste de recuperação | | Plataforma \| Planos de teste | ⚡️ Os ambientes não são estabelecidos para simulações de incidentes | | Plataforma \| Planos de teste | ⚡️ Scripts de teste não existem para testes de recuperação | --- # Seguro – Segurança da sessão ### Padrão de acesso do dispositivo Saiba mais sobre o Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Session Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-da-sessão) → [Display Access](/docs/architect/pt-br/well-architected/guide/secure#acesso-ao-dispositivo) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Documentação | ✅ Personalidades de segurança são mapeadas claramente para usos e políticas de dispositivo adequados | | Plataforma \| Documentação | ✅ As políticas do dispositivo são claras e descobríveis | | Plataforma \| Organização | ✅ A configuração do aplicativo móvel conectado do Salesforce exige desbloqueio de PIN/senha após a inatividade | | Plataforma \| Organização | ✅ Se as necessidades de negócio exigirem controle rígido de usuários que podem acessar o Salesforce móvel, o Controle de acesso à API será habilitado e os conjuntos de permissões serão atribuídos a todos os usuários dos aplicativos Salesforce móvel | ### Padrão de gerenciamento de sessão Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Security Session](/docs/architect/pt-br/well-architected/guide/secure#segurança-da-sessão) → [Session Management](/docs/architect/pt-br/well-architected/guide/secure#gerenciamento-de-sessão) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Apex | ✅ Se houver fluxos de login personalizados, todo o código personalizado relacionado usará métodos SessionManagement apropriados para atribuir segurança em nível de sessão | | Plataforma \| Aura | ✅ Se houver fluxos de login personalizados, use um controlador do Apex com os métodos de `SessionManagement` necessários para atribuir segurança em nível de sessão | | Plataforma \| Padrões de design | ✅ Personalidades de segurança listam claramente os tipos de sessão aprovados e as configurações de tempo limite/duração para cada personalidade | | Plataforma \| Padrões de design | ✅ Os padrões são definidos para as atividades que exigem maior segurança no nível da sessão | | Plataforma \| Padrões de design | ✅ Os padrões são definidos para as atividades que exigem a atribuição de permissões elevadas | | Plataforma \| Padrões de design | ✅ O escopo do aplicativo conectado e as políticas de gerenciamento de token são claros e descobríveis | | Plataforma \| Documentação | ✅ O escopo do aplicativo conectado e as políticas de gerenciamento de token são claros e descobríveis | | Plataforma \| Documentação | ✅ Horas de login foram especificadas (ou identificadas como não necessárias) | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ Se houver fluxos de login personalizados, use um controlador do Apex com os métodos de `SessionManagement` necessários para atribuir segurança em nível de sessão | | Plataforma \| Organização | ✅ Se os usuários acessarem o Salesforce de trás de um firewall, o firewall usará uma lista de permissões de domínios obrigatórios em vez de endereços IP para proteger as comunicações de/para o Salesforce | | Plataforma \| Organização | ✅ Intervalos de tempo limite de sessão inativo não ultrapassam o padrão (2 horas) | | Plataforma \| Organização | ✅ Todas as configurações a seguir estão habilitadas: - Proteção contra clickjack para páginas de Configuração - Proteção contra clickjack para páginas do Salesforce que não são de configuração - Proteção contra falsificação de solicitação entre sites (CSRF) - Proteção contra scripts entre sites (XSS) - Ativar proteção contra detecção de conteúdo - Proteção contra URL de referenciador - Avisar os usuários antes de serem redirecionados para fora do Salesforce | | Plataforma \| Organização | ✅ Auditorias de sessão mostram que os usuários acessam o Salesforce apenas por meio de tipos de sessão esperados | | Plataforma \| Organização | ✅ Há um conjunto de permissões claro e ativo para acesso "Único usuário da API" (com o conjunto de permissões "Único da API" definido como TRUE) e todos os usuários de integração e automatizados são atribuídos | ### Padrão de detecção e resposta de ameaças Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Session Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-da-sessão) → [Threat Detection & Response](/docs/architect/pt-br/well-architected/guide/secure#threat-detection-response) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Agentes | ✅ Registros de evento do agente incluem dados de conversa Habilitar a configuração para registros de evento aprimorados, a menos que haja um motivo crítico para que os dados da conversa devem ser mascarados | | Einstein \| Camada do Einstein Trust | Os recursos de IA generativa são auditados regularmente O recurso Dados de auditoria de IA generativa do Einstein é ativado na página de configuração de Feedback do Einstein. As conversas de IA generativa, incluindo o aviso e sua resposta, são auditadas e revisadas regularmente | | Plataforma \| Empresa | ✅ Os dados de auditoria estão disponíveis em relatórios que as partes interessadas da empresa podem entender e acessar | | Plataforma \| Empresa | ✅ Revisões regulares do histórico de auditoria e relatórios ocorrem | | Plataforma \| Documentação | ✅ Todas as respostas automatizadas são documentadas claramente | | Plataforma \| Documentação | ✅ As etapas para revisar os registros disponíveis no Salesforce são documentadas | | Plataforma \| Documentação | ✅ Os níveis de auditoria foram especificados para todos os objetos no modelo de dados | | Plataforma \| Documentação | ✅ As políticas de segurança contêm uma lista de eventos que devem acionar uma resposta junto com o tipo de resposta apropriado | | Plataforma \| Organização | ✅ Automações estão em vigor para responder a ameaças desativando contas de usuário ou bloqueando o acesso a recursos em tempo real se uso anormal for detectado | | Plataforma \| Organização | ✅ Notificações e alertas são configurados para notificar os usuários apropriados sobre atividade anômala | | Plataforma \| Organização | ✅ O rastreamento de histórico de campo está habilitado para todos os campos que contêm dados privados ou confidenciais | --- ### Antipadrão de acesso do dispositivo Saiba mais sobre o Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Session Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-da-sessão) → [Display Access](/docs/architect/pt-br/well-architected/guide/secure#acesso-ao-dispositivo) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Documentação | ⚡️ As políticas de segurança não existem ou não contêm informações sobre o acesso ao dispositivo | | Plataforma \| Organização | ⚡️ O aplicativo móvel conectado do Salesforce não está configurado para exigir desbloqueio de PIN/senha para inatividade | | Plataforma \| Organização | ⚡️ As necessidades de negócios exigem um controle rígido dos usuários que podem acessar o Salesforce móvel, mas o Controle de acesso à API não está habilitado ou os conjuntos de permissões não são usados para controlar o acesso a aplicativos Salesforce móvel | ### Antipadrão do Gerenciamento de sessão Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Security Session](/docs/architect/pt-br/well-architected/guide/secure#segurança-da-sessão) → [Session Management](/docs/architect/pt-br/well-architected/guide/secure#gerenciamento-de-sessão) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | ⚡️ Se houver fluxos de login personalizados, não haverá lógica para atribuir segurança no nível da sessão | | Plataforma \| Aura | ⚡️ Se houver fluxos de login personalizados, não haverá lógica para atribuir segurança no nível da sessão | | Plataforma \| Padrões de design | Padrões não são definidos para as atividades que exigem segurança em nível de sessão aprimorada | | Plataforma \| Padrões de design | Padrões não são definidos para atividades que exigem atribuição de permissões elevadas | | Plataforma \| Padrões de design | Políticas de segurança não contêm informações sobre escopos de aplicativo conectado ou gerenciamento de token | | Plataforma \| Padrões de design | Personalidades de segurança não existem ou faltam informações sobre tipos de sessão e configurações de tempo limite/duração | | Plataforma \| Documentação | ⚡️ O escopo do aplicativo conectado e as políticas de gerenciamento de token não são documentados | | Plataforma \| Componentes da Web Lightning (LWC) | ⚡️ Se houver fluxos de login personalizados, não haverá lógica para atribuir segurança no nível da sessão | | Plataforma \| Organização | ⚡️ Não há definições de quais tipos de sessão os usuários devem ter | | Plataforma \| Organização | Permissões "apenas API" não estão claras ou estão ausentes de usuários automatizados e de integração | | Plataforma \| Organização | ⚡️ Não há auditoria de sessão regular | | Plataforma \| Organização | Se os usuários acessarem o Salesforce de trás de um firewall, o firewall usará endereços IP embutidos em código para proteger as comunicações de/para o Salesforce | | Plataforma \| Organização | ⚡️ Intervalos de tempo limite de sessão inativo excedem o padrão (2 horas) | | Plataforma \| Organização | ⚡️ Qualquer uma das seguintes configurações está desabilitada: -Proteção contra clickjack para páginas de Configuração -Proteção contra clickjack para páginas do Salesforce que não sejam de configuração -Proteção contra falsificação de solicitação entre sites (CSRF) -Proteção contra scripts entre sites (XSS) -Ativar proteção contra detecção de conteúdo -Proteção contra URL do referenciador -Avisar os usuários antes de serem redirecionados para fora do Salesforce | ### Antipadrão de detecção e resposta de ameaças Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Session Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-da-sessão) → [Threat Detection & Response](/docs/architect/pt-br/well-architected/guide/secure#threat-detection-response) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Organização | Recursos de IA generativa não são auditados As conversas de IA generativa, incluindo o aviso e sua resposta, não são auditadas e revisadas regularmente | | Plataforma \| Empresa | Dados de auditoria estão disponíveis apenas por meio de arquivos de registro que exigem conhecimento sobre o assunto para acessar e interpretar | | Plataforma \| Empresa | ⚡️ Não há processos para revisar informações de auditoria | | Plataforma \| Documentação | Políticas de segurança não existem ou não incluem informações sobre detecção e alerta de ameaças | | Plataforma \| Documentação | A documentação para respostas automatizadas não existe ou não está clara | | Plataforma \| Organização | ⚡️ Não há automações em vigor para responder a ameaças | | Plataforma \| Organização | Notificações e alertas não estão configurados para notificar os usuários apropriados sobre atividades anômalas ou algumas notificações e alertas relacionados a atividades anômalas existem, mas são ad hoc | | Plataforma \| Organização | O rastreamento de histórico de campo não é habilitado de modo consistente para campos contendo dados privados ou confidenciais | --- # Seguro – Segurança de dados ### Padrão de compartilhamento e visibilidade Saiba mais sobre o Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Data Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-de-dados) → [Compartilhamento e visibilidade](/docs/architect/pt-br/well-architected/guide/secure#sharing-visibility) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Data 360 \| Organização | ✅ A segregação de dados é imposta com Espaços de dados Os Espaços de dados existem para separar e garantir a visibilidade adequada para dados do Data 360 | | Einstein \| Bots | ✅ Fluxos iniciados por um bot são executados no contexto do usuário do bot Os fluxos iniciados por um bot usam o perfil do usuário e os conjuntos de permissões associados ao bot para determinar as permissões de objeto e o acesso em nível de campo do Fluxo. | | Plataforma \| Apex | ✅ Todos os usos de código que acessam dados (SOQL/SOSL) ou realizam operações de dados (métodos DML/Classe do banco de dados) com palavras-chave de compartilhamento | | Plataforma \| Padrões de design | ✅ Diferentes padrões de acesso a dados são usados para usuários externos e usuários internos, se aplicável | | Plataforma \| Documentação | ✅ Uma matriz de segurança descreve os dados que cada persona do usuário tem permissão para acessar | | Plataforma \| Fluxo | ✅ Fluxos de tela no contexto do usuário sempre que possível Evite executar fluxo de tela no contexto do sistema. Se isso não puder ser evitado, use o elemento Subfluxo para iniciar um subfluxo que contenha apenas as ações que exigem permissões além do que o usuário em execução tem, em vez de configurar todo o Fluxo de tela para ser executado no contexto do sistema | | Plataforma \| Fluxo | ✅ Especificar quais campos serão armazenados por um fluxo em execução no contexto do sistema Sempre especificar quais campos armazenar ao usar um elemento Obter registros em execução no contexto do sistema | | Plataforma \| Organização | ✅ A IA generativa opera apenas no modo de usuário ou os usos selecionados para acesso ao sistema têm uma justificativa comercial clara | | Plataforma \| Organização | ✅ Os padrões para toda a organização (OWDs) para usuários internos são Leitura pública ou OWDs para usuários internos são Privados, devido aos requisitos de conformidade | | Plataforma \| Organização | ✅ OWDs para usuários externos são privados | ### Uso do padrão de criptografia Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Data Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-de-dados) → [Uso de criptografia](/docs/architect/pt-br/well-architected/guide/secure#uso-da-criptografia) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Plataforma \| Apex | ✅ Se as necessidades de negócios exigirem maior proteção de dados em trânsito, todo o código envolvido na integração executa a lógica usando métodos Classe Crypto para criptografar dados antes da transmissão ou descriptografar dados após o recebimento | | Plataforma \| Padrões de design | ✅ Casos de uso para criptografia de dados em trânsito e (se necessário) em repouso são claros e descobríveis | | Plataforma \| Padrões de design | ✅ Protocolos de criptografia aprovados são listados claramente | | Plataforma \| Documentação | ✅ A documentação de código indica claramente onde a criptografia é usada e quais protocolos são usados | | Plataforma \| Organização | ✅ Se forem identificados riscos de segurança que exijam maior proteção de dados em repouso, o Hyperforce ou o Salesforce Shield fornecerão criptografia em repouso | --- ### Antipadrão de compartilhamento e visibilidade Saiba mais sobre o Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Data Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-de-dados) → [Compartilhamento e visibilidade](/docs/architect/pt-br/well-architected/guide/secure#sharing-visibility) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Bots | ⚡️ Fluxos iniciados por um bot são executados no contexto do sistema Um fluxo iniciado por um bot é executado no modo do sistema. Isso poderá ocorrer se você não tiver habilitado a atualização Executar fluxos no contexto do usuário do bot na seção de atualização de versão da configuração | | Plataforma \| Apex | ⚡️ Com palavras-chave de compartilhamento são usadas de modo inconsistente | | Plataforma \| Documentação | A documentação não existe ou não contém uma matriz de segurança | | Plataforma \| Documentação | ⚡️ Se houver uma matriz de segurança, ela não descreverá o acesso a dados para personalidades do usuário | | Plataforma \| Fluxo | ⚡️ O contexto do sistema é usado em fluxos de tela apresentados a usuários externos Os fluxos de tela inteiros usam o contexto do sistema para detectar dados que os usuários externos não têm permissão para acessar por meio do modelo de compartilhamento | | Plataforma \| Fluxo | ⚡️ Armazenar todos os campos ao usar um elemento Obter registros no contexto do sistema Escolher a opção "Armazenar todos os campos automaticamente" ao configurar um elemento Obter registros que será executado no contexto do sistema | | Plataforma \| Organização | ⚡️ OWDs para usuários internos são definidos como Privados sem justificação comercial ou OWDs para usuários internos são definidos como Leitura/Gravação pública | | Plataforma \| Organização | A IA generativa opera no modo do sistema sem justificativa comercial | | Plataforma \| Organização | ⚡️ OWDs para usuários externos são definidos como qualquer coisa que não seja Privado sem justificativa comercial | ### Uso de um antipadrão de criptografia Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Data Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-de-dados) → [Uso de criptografia](/docs/architect/pt-br/well-architected/guide/secure#uso-da-criptografia) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | As necessidades de negócios exigem maior proteção de dados em trânsito, mas o código envolvido na integração executa a lógica sem criptografar dados antes da transmissão ou no recebimento, ou os métodos Classe de criptografia são usados ad hoc | | Plataforma \| Padrões de design | ⚡️ Os protocolos de criptografia aprovados não estão claros ou não estão listados | | Plataforma \| Padrões de design | O código não está documentado ou a documentação não está clara sobre onde e como a criptografia é usada no código | | Plataforma \| Organização | ⚡️ As necessidades de negócios exigem maior proteção de dados em repouso, mas nem o Hyperforce nem o Salesforce Shield são usados | --- # Seguro – Segurança organizacional ### Padrão de autenticação Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Organization Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-organizacional) → [Autenticação](/docs/architect/pt-br/well-architected/guide/secure#autenticação) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | ✅ Métodos que executam autenticação usam credenciais nomeadas para lidar com fluxos de nome de usuário/senha | | Plataforma \| Apex | ✅ Nenhum nome de usuário ou senha aparece em código em formatos legíveis (nenhum valor ou string embutido em código) | | Plataforma \| Apex | ✅ Se houver fluxos de login personalizados, todo o Apex personalizado relacionado usará métodos de `SessionManagement` apropriados | | Plataforma \| Aura | ✅ Nenhum nome de usuário ou senha aparece em código em formatos legíveis (nenhum valor ou string embutido em código) | | Plataforma \| Aura | ✅ Métodos que executam autenticação usam credenciais nomeadas para lidar com fluxos de nome de usuário/senha | | Plataforma \| Documentação | ✅ Personalidades de segurança aprovadas são definidas e listadas claramente | | Plataforma \| Documentação | ✅ O mapeamento entre personalidades de segurança e esquemas de autenticação permitidos (UI, API) existe em uma matriz de segurança | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ Métodos que executam autenticação usam credenciais nomeadas para lidar com fluxos de nome de usuário/senha | | Plataforma \| Componentes da Web Lightning (LWC) | ✅ Nenhum nome de usuário ou senha aparece em código em formatos legíveis (nenhum valor ou string embutido em código) | | Plataforma \| Organização | ✅ O Controle de acesso à API impede que os usuários façam a autenticação por meio de um aplicativo conectado não autorizado | | Plataforma \| Organização | ✅ O relacionamento entre usuários e entidades que fazem login no Salesforce é de 1:1 (nenhum usuário compartilhado) | | Plataforma \| Organização | ✅ Configurações de login alinhadas à Verificação de MFA do Salesforce | | Plataforma \| Organização | ✅ Se o SSO estiver habilitado, os usuários administradores aprovados terão acesso de login direto | | Plataforma \| Organização | ✅ A análise forense de login é usada quando o histórico de login deve ser armazenado por mais de seis meses Usar análise forense de login quando a retenção do histórico de login é necessária para ser armazenada por 6 meses a 10 anos | ### Padrão de autorização Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Organization Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-organizacional) → [Autorização](/docs/architect/pt-br/well-architected/guide/secure#autorização) | Onde procurar?
Área de produtos \| Local | Qual é a aparência de um bom?
Padrão | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Bots | ✅ Um usuário de bot exclusivo é configurado para cada caso de uso comercial Na seção Visão geral do Criador de bots do Einstein de uma configuração de bot, o usuário de bot selecionado fornece apenas a quantidade mínima de acesso necessária para realizar a finalidade comercial que o bot foi projetado para alcançar, seguindo o princípio de privilégio mínimo | | Plataforma \| Apex | ✅ Operações de banco de dados realizam verificações de acesso em nível de campo e em nível de objeto adequadamente DML e instruções de DML do banco de dados declaram o modo do usuário ou do sistema para operações de dados E/OU instruções de DML e DML do banco de dados usam métodos de `stripInaccessible` antes de operações de dados | | Plataforma \| Apex | ✅ As operações do DB realizam verificações de acesso em nível de campo e em nível de objeto apropriadamente as instruções SOQL e SOSL usam palavras-chave `WITH USER_MODE` e `WITH SYSTEM_MODE` E/OU os métodos `stripInaccessible` são usados para filtrar resultados de consulta e subconsulta | | Plataforma \| Apex | ✅ Operações de banco de dados realizam verificações de acesso em nível de campo e objeto apropriadamente os métodos de resultados descritos por sObject (ou seja, `isAccessible`, `isCreateable`, `isUpdateable` e/ou `isDeletable`) são usados com moderação | | Plataforma \| Padrões de design | ✅ Casos de uso para conceder privilégios elevados estão claramente listados, incluindo: - Modificar todas as permissões de dados - Visualizar todas as permissões de dados | | Plataforma \| Documentação | ✅ Cada usuário e sistema com acesso ao Salesforce é mapeado para uma ou mais personas em uma matriz de segurança | | Plataforma \| Documentação | ✅ A matriz de segurança lista claramente permissões de metadados e personalidades de usuário atribuídas | | Plataforma \| Organização | ✅ Conjuntos de permissões e grupos de conjuntos de permissões são usados para controlar o acesso a metadados | | Plataforma \| Organização | ✅ Conjuntos de permissões e grupos de conjuntos de permissões alinhados a funcionalidades de negócios | | Plataforma \| Organização | ✅ Um usuário de integração apenas de API exclusivo é configurado para cada integração | | Plataforma \| Organização | ✅ Os perfis são usados de forma mínima e apenas para controlar intervalos de IP de login e horas de login | | Plataforma \| Organização | ✅ Permissões atribuídas aos usuários seguem definições de matriz de segurança | --- ### Antipadrão de autenticação Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Organization Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-organizacional) → [Autenticação](/docs/architect/pt-br/well-architected/guide/secure#autenticação) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plataforma \| Apex | Nomes de usuário e senhas aparecem em código | | Plataforma \| Apex | ⚡️ Se houver fluxos de login personalizados, não haverá lógica para atribuir segurança no nível da sessão | | Plataforma \| Apex | ⚡️ A autenticação é tratada ad hoc | | Plataforma \| Aura | ⚡️ A autenticação é tratada ad hoc | | Plataforma \| Aura | Nomes de usuário e senhas aparecem em código | | Plataforma \| Negócios | ⚡️ SLAs e requisitos de provisionamento de usuários e desprovisionamento não existem | | Plataforma \| Documentação | ⚡️ Não inclui personalidades de segurança | | Plataforma \| Documentação | A matriz de segurança não tem mapeamentos claros para personalidades de segurança e esquemas de autenticação permitidos | | Plataforma \| Componentes da Web Lightning (LWC) | ⚡️ A autenticação é tratada ad hoc | | Plataforma \| Componentes da Web Lightning (LWC) | Nomes de usuário e senhas aparecem em código | | Plataforma \| Organização | ⚡️ O Controle de acesso à API não está habilitado | | Plataforma \| Organização | Se os usuários acessarem o Salesforce de trás de um firewall, o firewall usará endereços IP embutidos em código para proteger as comunicações de/para o Salesforce | | Plataforma \| Organização | ⚡️ O relacionamento entre usuários e entidades que fazem login no Salesforce não é 1:1 (há contas de usuário compartilhadas) | | Plataforma \| Organização | ⚡️ Se o SSO estiver habilitado, nenhum usuário administrador aprovado terá acesso de login direto | | Plataforma \| Organização | ⚡️ As configurações de login não estão alinhadas à Verificação de MFA do Salesforce | | Plataforma \| Organização | ⚡️ Credenciais nomeadas legadas são usadas para autenticar sistemas externos usando Credenciais nomeadas legadas para especificar o URL de um ponto final de chamada e seus parâmetros de autenticação necessários | ### Antipadrão de autorização Saiba mais sobre Well-Architected [Trusted](/docs/architect/pt-br/well-architected/guide/trusted-overview) → [Secure](/docs/architect/pt-br/well-architected/guide/secure) → [Organization Security](/docs/architect/pt-br/well-architected/guide/secure#segurança-organizacional) → [Autorização](/docs/architect/pt-br/well-architected/guide/secure#autorização) | Onde procurar?
Área de produtos \| Local | O que evitar?
Antipadrão | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Einstein \| Bots | Os Bots do Einstein usam o Usuário básico do Chatbot ou um usuário de bot "geral" Na seção Visão geral do Criador de bots do Einstein de uma configuração de bot, o Usuário do bot selecionado é o Usuário básico do Chatbot ou um Usuário do Chatbot personalizado "geral" que é compartilhado entre bots que são usados para diferentes fins comerciais | | Plataforma \| Apex | DML, métodos de Classe do banco de dados, SOQL e SOSL são executados no modo do sistema padrão | | Plataforma \| Apex | As operações de banco de dados não realizam verificações de acesso apropriadamente as consultas SOQL usam exclusivamente palavras-chave `WITH SECURITY_ENFORCED` para restrições de acesso | | Plataforma \| Apex | ⚡️ Operações de banco de dados não realizam verificações de acesso apropriadamente DML ou métodos de classe do banco de dados usam exclusivamente verificações de `isAccessible`, `isCreateable`, `isUpdateable` e/ou `isDeletable` para acesso em nível de sObject e campo | | Plataforma \| Padrões de design | ⚡️ Os casos de uso para conceder permissões elevadas não estão claramente listados Incluindo: - Modificar todas as permissões de dados - Visualizar todas as permissões de dados | | Plataforma \| Documentação | ⚡️ Não lista claramente permissões de metadados e personas atribuídas | | Plataforma \| Documentação | A documentação não inclui uma matriz de segurança | | Plataforma \| Organização | Permissões atribuídas a usuários não seguem definições de matriz de segurança | | Plataforma \| Organização | Perfis contêm controles de acesso para metadados | | Plataforma \| Organização | ⚡️ Os conjuntos de permissões são configurados ad hoc | | Plataforma \| Organização | Grupos de conjuntos de permissões não são configurados para permitir acesso com base em funcionalidades de negócios | | Plataforma \| Organização | Usuários somente de API ⚡️ não são configurados ou são compartilhados em mais de uma integração | | Plataforma \| Organização | Conjuntos de permissões são redundantes ou são altamente duplicados; é difícil entender a lógica funcional clara e as diferenças entre os conjuntos | ---