Desenvolvimento de aplicativos do Windows – melhores práticas

As melhores práticas neste documento ajudarão você a criar ótimos aplicativos do Windows que alcançam e encantam cerca de 1,5 bilhão de usuários de computadores diversos no mundo inteiro. Esse documento é dividido nas seguintes seções:

  1. Experiência do usuário: as diretrizes nesta seção ajudarão você a melhorar a aparência, a experiência e a usabilidade de seus aplicativos.
  2. Desempenho e conceitos básicos: as diretrizes nesta seção ajudarão você a melhorar o desempenho e a utilização de recursos do aplicativo.
  3. Otimização de hardware/sistema operacional: as diretrizes nesta seção ajudarão você a otimizar seu empacotamento e distribuição para uma variedade de configurações de hardware.
  4. Descoberta e gerenciamento de aplicativos: as diretrizes nesta seção facilitarão a descoberta, a instalação, a atualização e a desinstalação do aplicativo pelos usuários.
  5. Acessibilidade: as diretrizes nesta seção ajudarão você a criar experiências acessíveis e inclusivas.
  6. Segurança e privacidade: as diretrizes nesta seção ajudarão você a reduzir os riscos de segurança e atender às necessidades de privacidade dos usuários.

UX (experiência do usuário)

O Windows 11 marca uma evolução visual do sistema operacional Windows que melhora a aparência, a experiência e a usabilidade do Windows. Nossos estudos mostram que os usuários têm altas expectativas quanto aos aplicativos Windows:

  • Eles esperam que aplicativos Windows funcionem com uma gama completa de entradas.
  • Eles esperam padrões de design e interação que parecem nativos em dispositivos atuais e futuros.
  • Eles esperam suporte para fluxos de trabalho de janela modernos e pontos de integração de shell.

Quando os aplicativos seguem estilos Windows e comportamentos padrão de Windows, os usuários não precisam aprender novamente os padrões de interação. Isso torna muito mais fácil para os usuários usarem seu aplicativo. Um aplicativo bonito pode criar uma ótima primeira impressão, mas um aplicativo que também é fácil de usar e ajuda o usuário a atingir suas metas causará uma impressão duradoura.

O Windows 11 foi desenvolvido com base nos princípios de design do Windows 11. Seguir essas diretrizes ao criar seus aplicativos ajudará você a atender às expectativas dos clientes de uma ótima experiência de aplicativo. Ao pensar em incorporar os padrões de Interface do usuário/UX de aplicativos do Windows mais recentes e recomendados em seus aplicativos do Windows, recomendamos que você se concentre nestas cinco áreas:

  • Layout
  • Interação da Interface do usuário
  • Estilo visual
  • Comportamento do Windows
  • Pontos de integração do shell

O WinUI 3 fornece suporte interno para muitas dessas experiências e estilos por meio de seus controles comuns. Se você não estiver usando o WinUI 3, considere emular os estilos demonstrados em nossos kits de ferramentas de design e na Galeria do WinUI.

Layout

Os aplicativos do Windows são executados em uma variedade de configurações que correspondem às necessidades dos usuários. Teste os painéis e/ou páginas do aplicativo em diversas dimensões, dispositivos, tamanhos de janela, configurações de DPI e configurações de escala. O seu aplicativo deve funcionar conforme o esperado mesmo quando redimensionado para dimensões pequenas.

Reconhecimento de DPI

Os aplicativos WinUI são dimensionados automaticamente para cada exibição em que estão sendo executados. Outras tecnologias de programação Windows (Win32, WinForms, WPF etc.) não gerenciam automaticamente o ajuste de DPI por monitor. Sem trabalho adicional para dar suporte ao ajuste de DPI por monitor para essas tecnologias, os aplicativos poderão ficar desfocados ou com o tamanho incorreto. Confira o Desenvolvimento de aplicativos de área de trabalho de alta DPI no Windows para obter mais informações.

Layouts dinâmicos

Use técnicas de design responsivo para otimizar as páginas do aplicativo para diferentes tamanhos de janela. Siga as diretrizes de movimento panorâmico ou rolagem para garantir que os usuários sempre possam acessar o conteúdo, independentemente do tamanho da janela do aplicativo.

Interação da Interface do usuário

Os usuários do Windows podem escolher entre uma ampla variedade de dispositivos de entrada para interagir com seu aplicativo, e o Windows tem experiências específicas do sistema que as pessoas estão acostumadas a usar. Quando seu aplicativo segue essas experiências, os usuários podem usar seu aplicativo de maneira confiável. Quando seu aplicativo não segue essas convenções, os usuários podem achar isso confuso ou frustrante.

Comando no objeto

Use comandos no objeto, como menus de contexto, comandos de dedo e atalhos de teclado. O Windows 11 aprimora o comportamento do menu de contexto de clique com o botão direito do mouse, portanto, se o seu aplicativo criar menus de contexto, consulte as diretrizes de integração do menu de contexto mais recentes. Os controles de texto do WinUI expõem automaticamente comandos de recortar/copiar/colar, mas outros controles podem precisar de trabalho adicional para dar suporte a esses comandos.

Interação do texto

Sempre que há texto em um aplicativo, os usuários esperam poder selecioná-lo e copiá-lo. Se o texto é editável, eles esperam poder recortar e colar também. Ao fornecer atalhos consistentes aos usuários, você permitirá que eles concluam suas tarefas com mais eficiência. Verifique se essas ações podem ser executadas usando teclado, mouse ou trackpad, toque e caneta.

Movimento panorâmico e rolagem

Não é comum que a interface do usuário de um aplicativo se ajuste inteiramente dentro de uma única página que não precisa rolar. Mesmo que haja apenas alguns elementos de interface do usuário, os usuários poderão redimensionar livremente a Janela do aplicativo e fazer com que alguns elementos da interface do usuário fiquem ocultos. Verifique se a interface do usuário do aplicativo dá suporte à rolagem e ao movimento panorâmico (usando teclado, mouse ou trackpad, toque e caneta) para permitir que os usuários acessem quaisquer elementos de interface do usuário que possam ter saído da área de janela visível.

Estilo visual

O Windows 11 foi desenvolvido com base nos princípios de design do Windows 11: sem esforço, calmo, pessoal, familiar, completo e coerente. Acreditamos que experiências que seguem esses princípios trazem ótimas experiências do usuário no Windows.

Materiais: acrílico e mica

Acrílico e Mica são materiais visuais que dão aos controles de interface do usuário interativos um estilo visual "obscurecido" distinto. Use o Acrílico para aplicar um estilo semitransparente a superfícies transitórias, como menus de contexto, submenus e outros elementos que podem ser ignorados. Use Mica para adicionar uma tonalidade adaptável sutil a superfícies de interface do usuário de longa duração, como a barra de título.

Mais informações sobre materiais Acrílico e Mica podem ser encontradas em Coisas que você pode fazer para deixar seu aplicativo ótimo no Windows 11.

Temas escuros e claros

Os temas Escuro e Claro oferecem aos usuários um modo de adaptar o aplicativo às suas preferências visuais. O Windows 11 atualiza os tons de cores para serem mais suaves aos olhos, evitando branco e preto puros, o que torna as cores muito mais agradáveis. A WinUI dá suporte à alternância entre temas escuros e claros por padrão (confira recursos de tema XAML). Para aplicativos Win32, confira Suporte a temas escuros e claros em aplicativos Win32. (A barra de título em aplicativos Win32 não se adapta automaticamente ao tema Escuro. Siga as diretrizes da barra de título no artigo).

Elementos da Interface do usuário atualizados

A geometria do Windows 11 foi criada para dar suporte a experiências modernas do aplicativo. Cantos arredondados progressivamente, elementos aninhados e calhas consistentes se combinam para criar um efeito suave, calmo e acessível que enfatiza a unidade de propósito e a facilidade de uso.

As alterações visuais e comportamentais são integradas ao WinUI 3. Use o WinUI 3, no qual você pode aproveitar o trabalho que já foi feito. Se você não estiver usando o WinUI 3, considere emular os estilos demonstrados em nossos kits de ferramentas de design e na Galeria do WinUI.

Menu de contexto

Um menu de contexto é um menu de atalho que o usuário chama com um clique com o botão direito do mouse ou uma ação de toque e espera para revelar um menu de comandos relevantes ao contexto do controle com o qual o usuário está interagindo. Os usuários esperam que a aparência e o comportamento de menus de contexto sejam coerentes no Windows. Use menus de contexto fornecidos pela plataforma sempre que possível para mantê-los consistentes com o restante do sistema.

Iconografia e tipografia

O Windows 11 tem ícones atualizados ("Ícones do Segoe Fluent"), suporte aprimorado para ícones animados e uma nova fonte de interface do usuário ("Variável de interface do usuário do Segoe"). Recomendamos que você use esses novos ícones e fontes sempre que possível para ser coerente com Windows 11. A nova fonte traz geometria muito mais suave e torna o texto muito mais legível.

Mais informações sobre iconografia e tipografia no Windows podem ser encontradas em Coisas que você pode fazer para deixar seu aplicativo ótimo no Windows 11.

Comportamento e estilo da janela

Os aplicativos são executados em um quadro fornecido pelo Windows e os usuários esperam que a aparência e os comportamentos internos do Windows sejam consistentes entre as janelas do aplicativo. Considere dar suporte aos recursos listados aqui para garantir que seu aplicativo tenha aparência e funções como os usuários esperam no Windows 11.

Layout do ajuste

O ajuste de janela é bastante aprimorado no Windows 11, e o menu Layout do ajuste é um novo recurso para ajudar os usuários a descobrir e usar o poder do ajuste de janela. Use o menu de Layout do ajuste para testar seu aplicativo em diferentes layouts de ajuste, garantindo que seu aplicativo dê suporte a diferentes tamanhos de ajuste, como tela 1/2, 1/3 e 1/4.

Se o menu de Layout do ajuste não aparecer para seu aplicativo por padrão, veja Suporte a Layouts de ajuste para aplicativos da área de trabalho em Windows 11 para ver algumas etapas que você pode executar para habilitá-lo.

Botões de legenda e barra de título

Os botões de legenda e barra de título (minimizar, maximizar, fechar) são como os usuários interagem com o Windows para redimensionar, mover e fechar janelas do aplicativo. Ter uma experiência consistente ajudará as pessoas a usarem seu aplicativo sem problemas. Veja Barra de título do aplicativo do Windows para saber mais sobre o design do botão de título e da barra de título do Windows.

Use as APIs do SDK do Aplicativo do Windows para integrar o conteúdo do aplicativo à barra de título em aplicativos WinUI 3, .NET, WinForms e WPF.

Cantos arredondados

Na maioria dos casos, a janela do aplicativo terá cantos arredondados por padrão no Windows 11. Se você personalizou a janela do aplicativo e não tem cantos arredondados, confira em Aplicar cantos arredondados em aplicativos da área de trabalho para Windows 11 algumas coisas que você pode fazer. Você também deve evitar personalizar bordas e sombras de janela, o que pode impedir o sistema arredondar os cantos da janela.

Pontos de integração do shell

A integração do Shell do Windows permite que os usuários se beneficiem do aplicativo mesmo quando ele não estiver em execução em primeiro plano ou mesmo visível na tela. Quando seu aplicativo se integra bem ao Windows, ele se torna parte do fluxo de trabalho dos usuários com outros aplicativos e ajuda a criar uma experiência perfeita.

Notificações do sistema

Notificações do sistema são as notificações do Windows que aparecem no canto inferior direito da tela do usuário e no Centro de Notificações.

  • As notificações devem ser personalizadas, acionáveis e úteis para seus usuários. Tente dar aos usuários o que eles querem, não o que você quer que eles saibam.
  • As notificações não devem causar ruído. Muitas interrupções do seu aplicativo levam os usuários a desativar esse canal de comunicação crítico para seu aplicativo.
  • Responda à intenção do usuário. Selecionar uma notificação deve iniciar seu aplicativo no contexto da notificação. A única exceção a essa diretriz é quando o usuário seleciona um botão na notificação anexada a uma tarefa em segundo plano, como uma resposta rápida.
  • Proporcione uma experiência consistente do centro de notificações. Mantenha o centro de notificações arrumado limpando notificações antigas.

Para obter mais informações sobre notificações do sistema, confira Noções básicas de design de notificações.

Desempenho e noções básicas

Usuários do Windows esperam que aplicativos do Windows apresentem ótimo desempenho e noções básicas. À medida que você projeta e cria seu aplicativo, é importante ter em mente a otimização para o uso de memória, o consumo de energia, a capacidade de resposta, a confiabilidade e o impacto na sustentabilidade no longo prazo. Alocar tempo para testar e medir os conceitos básicos e o desempenho do aplicativo garantirá que os usuários tenham uma experiência de primeira classe.

Seguir as melhores práticas nesta seção ajudará você a atender às expectativas dos clientes nesses critérios.

Para saber mais, confira a Visão geral e noções básicas de desempenho, que aborda perguntas como "O que é o desempenho do aplicativo e por que é importante?" ou "Quais ferramentas posso usar para medir o desempenho do aplicativo do Windows?", além de apresentar links para estudos de caso, blogs relacionados, comunidades de suporte e informações sobre como a engenharia de desempenho se cruza com a sustentabilidade, reduzindo o impacto que seu aplicativo terá sobre o nosso planeta.

Otimização de hardware/sistema operacional

Aplicativos Windows podem ser criados, empacotados e entregues de várias maneiras. As melhores práticas nesta seção ajudarão você a otimizar esses aspectos do aplicativo em configurações de hardware.

Anexação de aplicativo MSIX e a Área de Trabalho Virtual do Azure

Se você quiser que seu aplicativo seja executado melhor em um ambiente corporativo, adicione suporte para anexação de aplicativo MSIX.

A anexação de aplicativo MSIX é um modo de fornecer aplicativos MSIX para máquinas virtuais e computadores físicos. É feito especificamente para a AVD (Área de Trabalho Virtual do Azure), um serviço de virtualização de aplicativos e área de trabalho executado na nuvem. Usar a anexação de aplicativo MSIX com o AVD pode ajudá-lo a melhorar os tempos de entrada para os usuários, o que pode reduzir os custos de infraestrutura para sua empresa.

Windows no ARM

O Windows pode ser executado em dispositivos ARM. Os PCs do ARM se beneficiam da duração estendida da bateria e do suporte integrado para redes de dados móveis. Esses computadores proporcionam ótima compatibilidade do aplicativo e permitem que você execute aplicativos x86 e x64 sem modificação.

Para obter o melhor desempenho, você deve permitir que seus aplicativos aproveitem ao máximo a arquitetura do processador ARM com eficiência energética criando uma versão completa do ARM ou otimizando as partes da base de código que mais se beneficiariam do desempenho nativo. Para obter mais informações sobre essas técnicas, confira Windows no ARM e Arm64EC para aplicativos Windows 11 no ARM.

Notificações por push

As notificações por push permitem que você envie informações do serviço de nuvem para seu aplicativo de modo otimizado para o desempenho. As notificações por push incluem notificações brutas, notificações de selo e notificações do sistema enviadas do serviço de nuvem.

  • Use as notificações por push para ativar o aplicativo/cliente, em vez de sempre mantê-lo em execução para otimizar o desempenho no dispositivo do usuário.
  • Os canais de notificação não devem ser usados para enviar anúncios.
  • Respeitar cabeçalhos retry-after – isso protege nosso serviço e garante o êxito na entrega de notificação.
  • Remova canais expirados/revogados do sistema. O WNS (Serviço de Notificação por Push do Windows) não processa solicitações para canais expirados/revogados.
  • Evite intermitências repentinas e grandes de solicitações ao WNS. Isso pode levar a respostas limitadas.
  • Utilize o cabeçalho MS-CV. Isso ajudará com a rastreabilidade e o diagnóstico de ponta a ponta.
  • Tenha um mecanismo de backup para quando as notificações não funcionarem.
  • Use ANH (Hubs de Notificação do Azure). O ANH dá acesso a recursos de engajamento, como público-alvo, notificações de agendamento e notificações de transmissão. Se você for um desenvolvedor somente Windows hoje, o uso do ANH facilitará a transição da infraestrutura de notificações para outras plataformas no futuro.

Descoberta e gerenciamento de aplicativos

Experiências confiáveis de instalação, atualização e desinstalação são partes importantes de uma experiência de usuário consistente e de alta qualidade. As seguintes melhores práticas ajudarão a garantir que seu aplicativo cause uma boa impressão quando descoberto e gerenciado pelos usuários:

Descoberta de aplicativo

  • Listar seu aplicativo na Microsoft Store pode tornar seu aplicativo mais detectável para os usuários.
  • Se você estiver hospedando seu aplicativo em vários canais (por exemplo, em um site e na Microsoft Store), seu aplicativo deverá ter uma identidade e um mecanismo de atualização consistentes em todos os canais.
  • Distribua seu aplicativo por meio da Microsoft Store para que os usuários o encontrem com mais facilidade. Observe que os aplicativos da Store são disponibilizados aos usuários por meio do WinGet do Gerenciador de Pacotes do Windows. Mesmo que você não publique na Microsoft, ainda poderá tornar seu aplicativo facilmente detectável no WinGet por meio do Repositório do WinGet.

Instalação e desinstalação

  • Dê suporte a uma instalação por usuário. Isso permitirá que os usuários instalem com mais facilidade e evitem prompts de UAC.
  • Verifique se a instalação do aplicativo é livre de erros, transparente e cuidadosa quanto ao gerenciamento de arquivos. A instalação do aplicativo não deve deixar arquivos temporários para trás.
  • Evite exigir permissões elevadas para instalar e exigir reinicializações do sistema operacional quando possível.
  • Suporte à instalação silenciosa. Isso é importante para a capacidade de gerenciamento de aplicativos em ambientes empresariais.
  • Verifique se seu aplicativo está listado na lista Aplicativos –> Aplicativos Instalados.
  • Considere usar o MSIX para garantir que os usuários tenham uma experiência perfeita de instalação, atualização e desinstalação. O MSIX remove automaticamente os binários e os dados do aplicativo. Para obter informações sobre como os aplicativos empacotados lidam com arquivos e entradas do Registro, confira Noções básicas sobre como os aplicativos da área de trabalho empacotados são executados no Windows.
  • Para aplicativos não empacotados, verifique se seu aplicativo pode ser facilmente desinstalado por meio da lista Aplicativos –> Aplicativos Instalados em Configurações. Quando o aplicativo é desinstalado, verifique se as entradas no menu Iniciar, arquivos, diretórios, entradas no Registro e arquivos temporários também são removidos. Considere permitir aos usuários preservar os dados ao desinstalarem o aplicativo.
  • Verifique se, durante a desinstalação, seu aplicativo remove todos os binários e dados do aplicativo. O conteúdo criado pelo usuário deve ser armazenado em locais como Documents, que podem ser retidos pelos usuários mesmo após a desinstalação do aplicativo.
  • Evite instalar ou atualizar binários do sistema que possam exigir uma reinicialização.
  • Integre-se ao RestartManager para salvar e restaurar o estado entre as atualizações do sistema operacional.

Atualizações

  • Suporte a um mecanismo de atualização que permite que seu aplicativo seja reiniciado quando for conveniente para o usuário. Considere usar as APIs de reinicialização do SDK do Aplicativo Windows para gerenciar o comportamento de aplicativos WinUI 3.
  • Verifique se o mecanismo de atualização baixa apenas os componentes essenciais alterados que precisam ser atualizados. Isso pode minimizar a largura de banda de rede necessária.
  • Ofereça um modo de atualizar e reparar seu aplicativo. Considere o MSIX, que lida automaticamente com o reparo de atualização. Para obter mais informações, confira Atualizar e reparar aplicativos automaticamente.
  • Considere atualizações baseadas em notificação por push ou verificar se há atualizações disponíveis na inicialização do aplicativo ou na reinicialização.

Recursos adicionais

Acessibilidade

Aplicativos do Windows acessíveis dão suporte para experiências avançadas e inclusivas para o maior número de pessoas possível, incluindo pessoas com deficiências (temporárias e permanentes), preferências pessoais, estilos de trabalho específicos ou restrições circunstanciais (como espaços de trabalho compartilhados, condução, culinária, brilho intenso etc.).

Na verdade, a Organização Mundial da Saúde define deficiência não como uma característica pessoal, mas como uma incompatibilidade de interação entre uma pessoa e o mundo físico e digital ao seu redor.

A acessibilidade é boa para as pessoas e os negócios

A acessibilidade é uma responsabilidade

Mais de 1 bilhão de pessoas em todo o mundo têm algum tipo de deficiência. No entanto, apenas uma a cada 10 tem acesso à tecnologia adaptativa necessária para participar plenamente da economia e da sociedade. Normalmente, a taxa de desemprego para pessoas com deficiência é o dobro daquela de pessoas sem deficiência. E as deficiências, sejam situacionais, temporárias ou permanentes, podem afetar qualquer um de nós a qualquer momento.

A acessibilidade é uma oportunidade

De acordo com a Folha de Dados de Abordagem de Acessibilidade da Microsoft: organizações inclusivas que adotam as melhores práticas para empregar e apoiar pessoas com deficiências no local de trabalho superam suas concorrentes e têm um melhor desempenho em atrair e manter os melhores talentos. A geração do milênio, que consistirá 75% da força de trabalho global até 2020, normalmente escolhe empregadores que refletem seus valores. Diversidade e inclusão estão no topo dessa lista.

Como incorporar a acessibilidade

Incorporar acessibilidade em seus aplicativos Windows pode maximizar o envolvimento do usuário, aumentar a satisfação do produto e incentivar a fidelidade ao produto. Projetar e implementar experiências acessíveis de modo proativo costuma resultar em redução dos custos de desenvolvimento e manutenção no longo prazo.

Para obter diretrizes detalhadas sobre como criar aplicativos do Windows acessíveis, confira Acessibilidade no Windows 11 e no Windows 10.

Testes de acessibilidade

Insights de acessibilidade é um conjunto avançado de ferramentas para os desenvolvedores testarem a acessibilidade de seus aplicativos e serviços. Aqui estão algumas ferramentas para aproveitar no teste de acessibilidade:

  1. Inspeção no Insights de Acessibilidade Windows. Inspecione a árvore de acessibilidade para encontrar vulnerabilidades, como dicas em rótulos, funções incorretas etc.
  2. Monitoramento de eventos em Insights de Acessibilidade para Insights de acessibilidade do Windows. Confira Como dar suporte a tipos de controle de Automação da Interface do Usuário para obter mais informações sobre o monitoramento de eventos.
  3. Execute verificações automatizadas de Insights de Acessibilidade em seus PRs ou CI/CD. Para obter mais informações, confira axe-pipelines-samples.
  4. Corrija todos os bugs encontrados, todos eles afetam diretamente a acessibilidade.

Segurança e privacidade

Um aplicativo inseguro pode ser um ponto de entrada que permite que um invasor execute atividades mal-intencionadas. Mesmo que seu aplicativo não tenha bugs de segurança, os invasores poderão usá-lo aplicativo para iniciar ataques por meio de phishing e outras formas de engenharia social que violam os limites de segurança e de privacidade. As melhores práticas nesta seção ajudarão você a reduzir os riscos relacionados à segurança e à privacidade do usuário.

Diretrizes de segurança

  • Siga o Ciclo de vida de desenvolvimento de segurança para todo o desenvolvimento.
    • A modelagem de ameaças pode ajudá-lo a evitar falhas de segurança.
    • O uso de bibliotecas, idiomas e ferramentas seguras minimiza falhas de implementação.
    • Padrões seguros podem evitar problemas de segurança causados por erro do usuário.
  • Não exija privilégios administrativos para instalar seu aplicativo.
    • O ideal é que seu aplicativo dê suporte a instalações administrativas e instalações por usuário.
    • Usar o empacotamento MSIX é um modo de fazer isso.
  • Não exija privilégios administrativos para executar seu aplicativo.
    • Se houver determinados recursos que precisam de privilégios administrativos, considere separá-los nos próprios processos para reduzir a superfície de ataque.
  • Prefira usar idiomas com segurança de memória garantida (como C#, JavaScript ou Rust), especialmente para caminhos de código arriscados (como analisar dados não confiáveis).
  • Use todas as mitigações de segurança fornecidas pelo compilador e pelo conjunto de ferramentas (confira recursos de segurança no Microsoft Visual C++ para Visual C++).
  • Sempre use as bibliotecas padrão de linguagem ou estrutura escolhidas para criptografia e outros códigos sensíveis à segurança. Não tente criar o seu.
  • Assine digitalmente todos os componentes do aplicativo, não apenas o instalador, mas também o desinstalador (se você tiver um). Assine também todos os arquivos EXE, DLL e outros arquivos executáveis que compõem seu aplicativo.
    • As assinaturas digitais permitem que o usuário verifique a autenticidade do aplicativo e permita que administradores Enterprise protejam os dispositivos usando o Controle de Aplicativo do Windows Defender.
    • Usar o empacotamento MSIX é um modo de fazer isso.
  • Verifique se toda a comunicação de rede está em um transporte seguro, como SSL.
  • Forneça proteções ou outras mitigações que possam ajudar a proteger os usuários contra a execução acidental de ações prejudiciais, mesmo quando coagidos a fazê-lo por invasores.
    • Simples "Tem certeza de que deseja fazer X? As caixas de diálogo Sim/Não" normalmente não são eficazes, pois os usuários foram condicionados a clicar em "Sim".

A maioria dos aplicativos modernos coleta e usa uma grande quantidade de dados, incluindo dados pessoais, por vários motivos. Telemetria, melhoria do produto e monetização são três razões comuns para o uso de dados, mas usuários e reguladores estão se tornando mais cientes das implicações de privacidade dessas práticas. Eles esperam transparência e controle sobre os dados coletados e usados pelos aplicativos. Use as dicas a seguir para ajudar a atender às necessidades de privacidade dos usuários.

Diretrizes de privacidade

  • Verifique se seu aplicativo oferece uma Política de Privacidade precisa. Idealmente, ofereça um documento resumido escrito para um público casual (seus usuários) além de uma política jurídica de longa duração (escrita para seus advogados).
  • Familiarize-se com as regulamentações de privacidade nos mercados em que seu aplicativo estará disponível e verifique se seu aplicativo atende ou excede todos os requisitos de divulgação, direitos de uso, solicitações de exclusão etc.
  • Verifique se você está coletando a menor quantidade de dados pessoais necessários para concluir as experiências do aplicativo.
    • Não colete dados "só por precaução" – deve haver um motivo válido para coletar todos os dados, por exemplo, para melhorar a experiência do cliente ou para facilitar a monetização.
  • Sempre obtenha o consentimento do usuário antes de coletar e armazenar dados pessoais e ofereça ao usuário um modo fácil de reverter a decisão dele no futuro. Evite "padrões mal-intencionados", como tornar o botão "Sim" maior ou mais proeminente do que o botão "Não" em uma caixa de diálogo de consentimento.
    • Confira os regulamentos aplicáveis para determinar quais divulgações e consentimentos específicos são necessários para os tipos de dados especificados. Por exemplo, algumas regiões podem permitir que os usuários visualizem, alterem ou excluam os dados armazenados sobre eles.
  • Se você precisar transmitir dados pela rede, sempre use conexões protegidas, por exemplo, TLS.
  • Evite armazenar dados pessoais em um local centralizado (por exemplo, um site). Se você precisar armazenar dados pessoais, minimize a quantidade de dados armazenados, armazene-os apenas pelo tempo estritamente necessário e verifique se eles estão criptografados com segurança.
  • Verifique se as bibliotecas de terceiros ou os SDKs usados também têm boas práticas de privacidade. Observe que isso não se limita apenas a anunciar SDKs – qualquer biblioteca que se conecte à Internet pode afetar a privacidade dos usuários do aplicativo.