Blanc

Projetos que seguem as melhores práticas abaixo podem se autocertificar voluntariamente e mostrar que alcançaram um selo de melhores práticas da Open Source Security Foundation (OpenSSF).

Não existe um conjunto de práticas que possa garantir que o software nunca terá defeitos ou vulnerabilidades; mesmo métodos formais podem falhar se as especificações ou suposições estiverem erradas. Nem existe qualquer conjunto de práticas que possa garantir que um projeto sustentará uma comunidade de desenvolvimento saudável e bem-funcionada. No entanto, seguir as melhores práticas pode ajudar a melhorar os resultados dos projetos. Por exemplo, algumas práticas permitem revisão multipessoal antes do lançamento, o que pode ajudar a encontrar vulnerabilidades técnicas difíceis de encontrar e ajudar a construir confiança e desejo de interação repetida entre desenvolvedores de diferentes empresas. Para ganhar um selo, todos os critérios DEVE e NÃO DEVE devem ser atendidos, todos os critérios DEVERIA devem ser atendidos OU não atendidos com justificativa, e todos os critérios SUGERIDO devem ser atendidos OU não atendidos (queremos que sejam considerados pelo menos). Se você quiser inserir texto de justificativa como um comentário genérico, em vez de ser uma justificativa de que a situação é aceitável, inicie o bloco de texto com '//' seguido de um espaço. Feedback é bem-vindo via site do GitHub como questões ou pull requests Há também uma lista de discussão para discussão geral.

Fornecemos com prazer as informações em vários idiomas, no entanto, se houver qualquer conflito ou inconsistência entre as traduções, a versão em inglês é a versão autoritativa.
Se este é o seu projeto, por favor mostre o status do seu selo básico na página do seu projeto! O status do selo básico se parece com isto: O nível do selo básico para o projeto 14451 é baseline-1 Aqui está como incorporar o selo básico:
Você pode mostrar o status do seu selo básico incorporando isto no seu arquivo markdown:
[![OpenSSF Baseline](https://www.bestpractices.dev/projects/14451/baseline)](https://www.bestpractices.dev/projects/14451)
ou incorporando isto no seu HTML:
<a href="https://www.bestpractices.dev/projects/14451"><img src="https://www.bestpractices.dev/projects/14451/baseline"></a>


Estes são os critérios de Nível Básico 1. Estes são critérios da versão v2026.08.28.

Baseline Series: Nível Básico 1 Nível Básico 2 Nível Básico 3

        

 Fundamentos

  • Geral

    Observe que outros projetos podem usar o mesmo nome.

    Blanc is an open-source Electron desktop browser for macOS, Windows, and Linux, with compact Island chrome and built-in ad/tracker blocking.

    Use o formato de expressão de licença SPDX; exemplos incluem "Apache-2.0", "BSD-2-Clause", "BSD-3-Clause", "GPL-2.0+", "LGPL-3.0+", "MIT" e "(BSD-2-Clause OR Ruby)". Não inclua aspas simples ou aspas duplas.
    Se houver mais de uma linguagem, liste-as como valores separados por vírgula (espaços opcionais) e ordene-as da mais usada para a menos usada. Se houver uma longa lista, liste pelo menos as três primeiras mais comuns. Se não houver linguagem (por exemplo, este é um projeto apenas de documentação ou apenas de teste), use o caractere único "-". Use uma capitalização convencional para cada linguagem, por exemplo, "JavaScript".
    O Common Platform Enumeration (CPE) é um esquema de nomenclatura estruturado para sistemas de tecnologia da informação, software e pacotes. Ele é usado em vários sistemas e bancos de dados ao relatar vulnerabilidades.

    Application in progress; no independent security certification or completed external audit is claimed. Bananify Creative-owned software is MIT-licensed. Reserved identity artwork and third-party licensing terms are documented at https://github.com/bnfy/blanc/blob/main/ASSET-LICENSE.md and https://github.com/bnfy/blanc/blob/main/THIRD-PARTY-NOTICES.md. Release evidence: https://github.com/bnfy/blanc/blob/main/docs/release-incidents/2026-09-02-v1.15.0.md

 Controles 24/24

  • Controles


    Quando um usuário tentar ler ou modificar um recurso sensível no repositório autorizado do projeto, o sistema DEVE exigir que o usuário complete um processo de autenticação multifator. [OSPS-AC-01.01]
    Imponha autenticação multifator para o sistema de controle de versão do projeto, exigindo que os colaboradores forneçam uma segunda forma de autenticação ao acessar dados sensíveis ou modificar configurações do repositório. Passkeys são aceitáveis para este controle.

    Verified 2026-09-04: GitHub account security shows two-factor authentication Enabled and required for bnfy. The repository collaborator API lists bnfy as its sole human collaborator/administrator. Sensitive repository changes therefore require an MFA-protected maintainer account. Recheck before adding collaborators.



    Quando um novo colaborador for adicionado, o sistema de controle de versão DEVE exigir atribuição manual de permissão, ou restringir as permissões do colaborador aos menores privilégios disponíveis por padrão. [OSPS-AC-02.01]
    A maioria dos sistemas públicos de controle de versão são configurados desta maneira. Certifique-se de que o sistema de controle de versão do projeto sempre atribua as menores permissões disponíveis aos colaboradores por padrão quando adicionados, concedendo permissões adicionais somente quando necessário.

    The authoritative repository is owned by the GitHub personal account bnfy, its sole human collaborator as verified on 2026-09-04. GitHub requires the owner to explicitly invite a selected person before collaborator access is granted; there is no automatic collaborator enrollment. Personal repositories offer owner and collaborator roles, so this relies on manual assignment, not a claim of granular read-only collaborator roles. Platform documentation: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/repository-access-and-collaboration/inviting-collaborators-to-a-personal-repository



    Quando uma confirmação direta for tentada no ramo principal do projeto, um mecanismo de aplicação DEVE impedir que a mudança seja aplicada. [OSPS-AC-03.01]
    Se o VCS for centralizado, defina proteção de ramo no ramo principal no VCS do projeto. Alternativamente, use uma abordagem descentralizada, como a do kernel Linux, onde as mudanças são primeiro propostas em outro repositório, e mesclar mudanças no repositório principal requer um ato separado específico.

    Main branch protection enabled and independently read back on 2026-09-04: pull requests required, enforce_admins=true, four required GitHub Actions checks with strict up-to-date checking. Direct main pushes are blocked, including administrators. The approval count is zero for the sole-maintainer project; independent human review is not claimed.



    Quando for feita uma tentativa de excluir o ramo principal do projeto, o sistema de controle de versão DEVE tratar isso como uma atividade sensível e exigir confirmação explícita de intenção. [OSPS-AC-03.02]
    Defina proteção de ramo no ramo principal no sistema de controle de versão do projeto para evitar exclusão.

    Main branch protection read back from the GitHub API on 2026-09-04 has allow_deletions.enabled=false and enforce_admins.enabled=true. Deletion is blocked while the rule is enabled. The criterion implementation guidance explicitly accepts branch protection that prevents deletion.



    Quando um pipeline de CI/CD opera com metadados não confiáveis, esses parâmetros DEVEM ser higienizados e validados antes de serem usados no pipeline. [OSPS-BR-01.01]
    Os pipelines de CI/CD devem sanitizar (citar, escapar ou sair com valores esperados) todas as entradas de metadados que correspondam a fontes não confiáveis. Isso inclui dados como nomes de branch, mensagens de commit, tags, títulos de pull requests e informações de autoria.

    No untrusted metadata is consumed by custom pipeline commands in the five workflows reviewed at main 8d4599bca2b8380da1e1c74c2df28cbcbdd83aea: https://github.com/bnfy/blanc/tree/8d4599bca2b8380da1e1c74c2df28cbcbdd83aea/.github/workflows . PR titles, bodies, messages and external branch names are not interpolated into run scripts. Checkout uses the platform-selected PR merge ref. Manual release inputs are supplied by trusted collaborators; the Baseline addresses these separately in OSPS-BR-01.04. Release-tag environment transport hardening is pending in PR #288 and is not claimed as merged. Reassess this N/A if workflows begin consuming untrusted metadata.



    Quando um pipeline de CI/CD opera em snapshots de código não confiável, ele DEVE impedir o acesso a credenciais e ativos privilegiados de CI/CD. [OSPS-BR-01.03]
    Os pipelines de CI/CD devem isolar snapshots de código não confiável de credenciais e ativos privilegiados. Em particular, os projetos devem ter cuidado para garantir que os workflows que compilam ou executam código antes da revisão por um colaborador não tenham acesso às credenciais de CI/CD.

    Reviewed all five authoritative workflows at https://github.com/bnfy/blanc/tree/8d4599bca2b8380da1e1c74c2df28cbcbdd83aea/.github/workflows . Outside contributions use pull_request on GitHub-hosted runners; there is no pull_request_target, workflow_run artifact execution, or self-hosted runner. GitHub withholds repository secrets and restricts fork PR tokens to read-only: https://docs.github.com/en/actions/reference/security/securely-using-pull_request_target . Build/test PR jobs explicitly use contents:read; CodeQL analyzes without executing a project build. Signing secrets and publication grants are confined to the manually dispatched native workflow, requiring trusted collaborator action on reviewed code. Repository API verified default_workflow_permissions=read and can_approve_pull_request_reviews=false on 2026-09-04. This does not claim build/sign job separation or an independent human review.



    Quando o projeto listar um URI como um canal oficial do projeto, esse URI DEVE ser entregue exclusivamente usando canais criptografados. [OSPS-BR-03.01]
    Configure os sites do projeto e os sistemas de controle de versão para usar canais criptografados como SSH ou HTTPS para transmissão de dados. Certifique-se de que todas as ferramentas e domínios referenciados na documentação do projeto só possam ser acessados por meio de canais criptografados.

    Project URLs use HTTPS exclusively.



    Quando o projeto listar uma URI como canal de distribuição oficial, esse canal DEVE ser protegido contra ataques de adversário no meio (adversary-in-the-middle) usando canais criptograficamente autenticados. [OSPS-BR-03.02]
    Os artefatos distribuídos pelo projeto devem ser distribuídos por meio de canais que garantam integridade e autenticidade. O uso de HTTPS para downloads, versões assinadas ou distribuição por meio de gerenciadores de pacotes confiáveis são métodos aceitáveis para proteger contra ataques de adversário no meio.

    Distribution channels use HTTPS exclusively.



    O projeto DEVE impedir o armazenamento não intencional de dados sensíveis não criptografados, como segredos e credenciais, no sistema de controle de versão. [OSPS-BR-07.01]
    Configure .gitignore ou equivalente para excluir arquivos que possam conter informações sensíveis. Use hooks de pré-commit e ferramentas de varredura automatizadas para detectar e prevenir a inclusão de dados sensíveis em commits.

    GitHub repository security settings verified on 2026-09-04 show secret_scanning and secret_scanning_push_protection enabled for bnfy/blanc. These prevent pushes of recognized secret types; this does not claim detection of every secret.



    Quando o projeto tiver feito uma versão, a documentação do projeto DEVE incluir guias do usuário para todas as funcionalidades básicas. [OSPS-DO-01.01]
    Crie guias do usuário ou documentação para todas as funcionalidades básicas do projeto, explicando como instalar, configurar e usar os recursos do projeto. Se houver quaisquer ações perigosas ou destrutivas conhecidas disponíveis, inclua avisos altamente visíveis.

    Published in merged PR #285, commit daf4663cc778cb278fc1179ef869a3a906b4ac94: https://github.com/bnfy/blanc/blob/main/docs/user-guide.md . Covers installation, navigation, tabs/groups/workspaces, favorites/imports/history/downloads, private browsing, blocking, permissions, profiles/sync, start-page options, updates and help. The companion docs/user-guide-evidence.md maps the guide to public v1.15.0 source and release evidence.



    Quando o projeto tiver feito uma versão, a documentação do projeto DEVE incluir um guia para relatar defeitos. [OSPS-DO-02.01]
    É recomendado que os projetos usem o rastreador de issues padrão do seu VCS. Se uma fonte externa for usada, certifique-se de que a documentação do projeto e o guia de contribuição expliquem de forma clara e visível como usar o sistema de relatório. É recomendado que a documentação do projeto também estabeleça expectativas sobre como os defeitos serão triados e resolvidos.

    Public defect reports use https://github.com/bnfy/blanc/issues and the bug report form at https://github.com/bnfy/blanc/blob/main/.github/ISSUE_TEMPLATE/bug_report.yml . Security issues are reported privately using SECURITY.md.



    O projeto DEVE ter um ou mais mecanismos para discussões públicas sobre mudanças propostas e obstáculos de uso. [OSPS-GV-02.01]
    Estabeleça um ou mais mecanismos para discussões públicas dentro do projeto, como listas de discussão, mensagens instantâneas ou rastreadores de issues, para facilitar a comunicação aberta e feedback.

    GitHub supports public discussions on proposed changes (via pull requests) and usage obstacles (via issues).



    A documentação do projeto DEVE incluir uma explicação do processo de contribuição, ou declarar claramente que contribuições públicas não são aceitas [OSPS-GV-03.01]
    Crie um CONTRIBUTING.md ou diretório CONTRIBUTING/ para delinear o processo de contribuição incluindo as etapas para enviar mudanças e se engajar com os mantenedores do projeto.

    Published contribution process: https://github.com/bnfy/blanc/blob/main/CONTRIBUTING.md . Covers reports, development setup, validation, pull requests/review, licensing and conduct. Merged in PR #285 at daf4663cc778cb278fc1179ef869a3a906b4ac94 on 2026-09-04.



    A licença do código-fonte DEVE atender à Definição de Código Aberto da OSI ou à Definição de Software Livre da FSF. [OSPS-LE-02.01]
    Adicione um arquivo LICENSE ao repositório do projeto com uma licença que seja uma licença aprovada pela Open Source Initiative (OSI), ou uma licença livre aprovada pela Free Software Foundation (FSF). Exemplos de tais licenças incluem MIT, BSD 2-clause, BSD 3-clause revisada, Apache 2.0, Lesser GNU General Public License (LGPL) e a GNU General Public License (GPL). Lançar para o domínio público atende a este controle se não houver outros obstáculos como patentes.

    Bananify Creative-owned software is MIT-licensed: https://github.com/bnfy/blanc/blob/main/LICENSE . Upstream components retain their own licenses; identity artwork remains reserved. See THIRD-PARTY-NOTICES.md and ASSET-LICENSE.md in the same repository.



    A licença dos ativos de software lançados DEVE atender à Definição de Código Aberto da OSI ou à Definição de Software Livre da FSF. [OSPS-LE-02.02]
    Se uma licença diferente for incluída com ativos de software lançados, certifique-se de que seja uma licença aprovada pela Open Source Initiative (OSI), ou uma licença livre aprovada pela Free Software Foundation (FSF). Exemplos de tais licenças incluem MIT, BSD 2-clause, BSD 3-clause revisada, Apache 2.0, Lesser GNU General Public License (LGPL) e a GNU General Public License (GPL). Note que a licença para os ativos de software lançados pode ser diferente do código-fonte.

    Bananify Creative-owned software is MIT-licensed: https://github.com/bnfy/blanc/blob/main/LICENSE . Third-party components retain their own terms and identity artwork is reserved; see https://github.com/bnfy/blanc/blob/main/THIRD-PARTY-NOTICES.md and https://github.com/bnfy/blanc/blob/main/ASSET-LICENSE.md . This is not a blanket MIT claim for every repository asset. [floss_license]



    A licença do código-fonte DEVE ser mantida no arquivo LICENSE, arquivo COPYING, diretório LICENSES/ ou diretório LICENSE/ do repositório correspondente. [OSPS-LE-03.01]
    Inclua a licença do código-fonte do projeto no arquivo LICENSE, arquivo COPYING, diretório LICENSES/ ou diretório LICENSE/ do projeto para fornecer visibilidade e clareza sobre os termos de licenciamento. O nome do arquivo PODE ter uma extensão. Se o projeto tiver vários repositórios, garanta que cada repositório inclua o arquivo de licença.

    License file found in repository.



    A licença dos ativos de software lançados DEVE ser incluída no código-fonte lançado, ou em um arquivo LICENSE, arquivo COPYING, ou diretório LICENSE/ junto aos ativos de lançamento correspondentes. [OSPS-LE-03.02]
    Inclua a licença dos ativos de software lançados do projeto no código-fonte lançado, ou em um arquivo LICENSE, arquivo COPYING ou diretório LICENSE/ ao lado dos ativos de versão correspondentes para fornecer visibilidade e clareza sobre os termos de licenciamento. O nome do arquivo PODE ter uma extensão. Se o projeto tiver múltiplos repositórios, certifique-se de que cada repositório inclua o arquivo de licença.

    O repositório de código-fonte do projeto DEVE ser publicamente legível em uma URL estática. [OSPS-QA-01.01]
    Use um VCS comum como GitHub, GitLab ou Bitbucket. Certifique-se de que o repositório seja publicamente legível. Evite duplicação ou espelhamento de repositórios a menos que documentação altamente visível esclareça a fonte primária. Evite mudanças frequentes no repositório que impactariam a URL do repositório. Certifique-se de que o repositório seja público.

    Repository is publicly available on GitHub.



    O sistema de controle de versão DEVE conter um registro publicamente legível de todas as alterações feitas, quem fez as alterações e quando as alterações foram feitas. [OSPS-QA-01.02]
    Use um VCS comum como GitHub, GitLab ou Bitbucket para manter um histórico de commits publicamente legível. Evite esmagar ou reescrever commits de uma forma que obscureça o autor de quaisquer commits.

    Repository git metadata is publicly available on GitHub.



    Quando o sistema de gerenciamento de pacotes suportar, o repositório de código-fonte DEVE conter uma lista de dependências que representa as dependências diretas da linguagem. [OSPS-QA-02.01]
    Isso pode assumir a forma de um arquivo de dependências de gerenciador de pacotes ou linguagem que enumera todas as dependências diretas, como package.json, Gemfile ou go.mod.

    Direct npm dependencies are listed in https://github.com/bnfy/blanc/blob/v1.15.0/package.json with package-lock.json recording the resolved dependency tree.



    Projetos com múltiplos repositórios DEVEM documentar uma lista das bases de código que fazem parte do projeto. [OSPS-QA-04.01]
    Documente quaisquer repositórios de código de subprojetos adicionais produzidos pelo projeto e compilados em uma versão de lançamento. Esta documentação deve incluir o status e a intenção da respectiva base de código.

    Project owner Anthony Loria confirmed on 2026-09-04 that https://github.com/bnfy/blanc is the only first-party Blanc code repository, including private services/apps. Desktop source, website and sync/ping/newsletter Worker sources are in this repository; no Git submodules are present. The multi-repository requirement is therefore not applicable. Reassess if any additional first-party repository is introduced.



    O sistema de controle de versão NÃO DEVE conter artefatos executáveis gerados. [OSPS-QA-05.01]
    Remova artefatos executáveis gerados no sistema de controle de versão do projeto. É recomendado que qualquer cenário em que um artefato executável gerado apareça como crítico para um processo, como testes, ele deve ser gerado no momento da compilação ou armazenado separadamente e buscado durante uma etapa de pipeline específica e bem documentada.

    PR #289 merged at 3046d173cd30a5713bd0ef1b7707dc0a14d5223b removes the generated blocker seed binary from Git. npm ci/install regenerates it from pinned sources and requires an exact match with the tracked manifest before writing. See https://github.com/bnfy/blanc/blob/main/docs/blocker-seed-build.md . The reviewed complete merged tree has no native executables, shared libraries, WASM, native addons, application archives, bytecode or minified JavaScript artifacts. Reviewable generated source and media assets remain. CI, Windows/Linux packaged-payload validation and local signed macOS first-run checks passed. The owner-machine confirmation waiver is recorded in docs/release-incidents/2026-09-04-badge-seed-waiver.md; no new public release is claimed.



    O sistema de controle de versão NÃO DEVE conter artefatos binários não revisáveis. [OSPS-QA-05.02]
    Não adicione nenhum artefato binário não revisável ao sistema de controle de versão do projeto. Isso inclui binários de aplicativos executáveis, arquivos de biblioteca e artefatos similares. Não inclui recursos como imagens gráficas, arquivos de som ou música e conteúdo similar normalmente armazenado em formato binário.

    Reviewed tracked artifacts on 2026-09-04. No native executables, shared libraries, WASM, Electron archives or dependency archives were found. Media/fonts are reviewable assets with provenance in THIRD-PARTY-NOTICES.md. The Apple provisioning profile is CMS/plist-decodable and checked by scripts/preflight-mac-signing.mjs and scripts/after-sign-verify.js. The blocker seed is reproducible from pinned tracked filter/resource inputs using https://github.com/bnfy/blanc/blob/main/adblock/seed.mjs ; npm run adblock:check verified exact regeneration (108342 rules; 5404689-byte seed, hash prefix 194ddc2d204c13b9). This establishes reviewability, not the separate generated-executable criterion.



    A documentação do projeto DEVE conter contatos de segurança. [OSPS-VM-02.01]
    Crie um arquivo security.md (ou com nome similar) que contenha contatos de segurança para o projeto.

    Published SECURITY.md gives the private reporting address, information to include, response targets, and disclosure process: https://github.com/bnfy/blanc/blob/main/SECURITY.md [vulnerability_report_process]



Você pode usar ferramentas e sistemas de IA para propor alterações por meio de uma URL simples, como https://www.bestpractices.dev/pt-BR/projects/14451/choose/edit?osps_ac_01_01_status=Met&osps_ac_01_01_justification=GitHub+enforced. Veja nosso sistema de propostas de automação para saber como fazer isso. Estes dados estão disponíveis sob o Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0). Isso significa que um Destinatário de Dados pode compartilhar os Dados, com ou sem modificações, desde que o Destinatário de Dados disponibilize o texto deste acordo com os Dados compartilhados. Por favor, dê crédito a BANANIFY e aos contribuidores do selo de melhores práticas OpenSSF.

Entrada de selo do projeto de propriedade de: BANANIFY.
Entrada criada em 2026-09-04 21:08:30 UTC, última atualização em 2026-09-04 22:51:31 UTC.