WhitePact

Les projets qui suivent les meilleures pratiques ci-dessous peuvent s'auto-certifier et montrer qu'ils ont obtenu le badge de la Open Source Security Foundation (OpenSSF).

Il n'existe aucun ensemble de pratiques qui garantissent que ce logiciel n'aura jamais de défauts ou de vulnérabilités ; même les méthodes formelles peuvent échouer si les spécifications ou les hypothèses sont fausses. Il n'y a pas non plus de pratiques qui peuvent garantir qu'un projet permettra de maintenir une communauté de développement saine et qui fonctionne bien. Toutefois, suivre les meilleures pratiques peut contribuer à améliorer les résultats des projets. Par exemple, certaines pratiques permettent la revue par plusieurs personnes avant publication, ce qui peut aider à trouver des vulnérabilités techniques difficiles à trouver autrement et à renforcer la confiance et un désir d'interaction répétée entre les développeurs de différentes entreprises. Pour gagner un badge, tous les critères DOIT et NE DOIT PAS doivent être satisfaits, tous les critères DEVRAIT doivent être satisfaits OU non satisfaits avec justification, et tous les critères PROPOSÉ doivent être satisfaits OU non satisfaits (nous voulons au moins qu'ils soient considérés). Si vous voulez entrer un texte de justification pour un commentaire générique, au lieu d'une raison justifiant que la situation est acceptable, commencez le bloc de texte avec '//' suivi d'un espace. Les commentaires sont les bienvenus via le site GitHub en tant que problèmes ou pull requests. Il existe également une liste de diffusion pour discussion générale.

Nous fournissons volontiers l'information dans plusieurs langues, cependant, s'il existe un conflit ou une contradiction entre les traductions, la version anglaise est la version qui fait autorité.
Si c'est votre projet, veuillez afficher votre statut de badge de référence sur la page de votre projet ! Le statut du badge de référence ressemble à ceci : Le niveau du badge de référence pour le projet 14112 est baseline-1 Voici comment intégrer le badge de référence :
Vous pouvez afficher votre statut de badge de référence en incorporant ceci dans votre fichier markdown :
[![OpenSSF Baseline](https://www.bestpractices.dev/projects/14112/baseline)](https://www.bestpractices.dev/projects/14112)
ou en incorporant ceci dans votre HTML :
<a href="https://www.bestpractices.dev/projects/14112"><img src="https://www.bestpractices.dev/projects/14112/baseline"></a>


Voici les critères du niveau de référence 2. Il s'agit des critères version v2026.08.28.

Baseline Series: Niveau de référence 1 Niveau de référence 2 Niveau de référence 3

        

 Notions de base

  • Général

    Notez que d'autres projets peuvent utiliser le même nom.

    WhitePact is an open-source runtime authority, governance, and assurance layer for autonomous systems. It provides deterministic five-way authorization decisions (ALLOW, ALLOW_WITH_REDACTION, REQUIRE_APPROVAL, DENY, QUARANTINE), policy and risk enforcement, human approval workflows, tamper-evident evidence, MCP governance, trust controls, guardrails, and enterprise integration tooling.

    Utilisez un format d'expression de licence SPDX ; des exemples sont « Apache-2.0 », « BSD-2-Clause », « BSD-3-Clause », « GPL-2.0+ », « LGPL-3.0+ », « MIT » et « (BSD-2-Clause OU Ruby) ». Ne pas inclure des guillemets simples ou doubles.
    S'il y a plus d'un langage, listez-les en tant que valeurs séparées par des virgules (espaces facultatifs) et triez-les du plus au moins utilisé. S'il y a une longue liste, veuillez lister au moins les trois premiers. S'il n'y a pas de langage (par exemple, il s'agit d'un projet uniquement de documentation ou de test), utilisez le caractère unique « - ». Utilisez une capitalisation conventionnelle pour chaque langage, par exemple « JavaScript ».
    La plate-forme commune d'énumération (CPE) est un schéma de dénomination structuré pour les systèmes, les logiciels et les paquetages des technologies de l'information. Il est utilisé dans un certain nombre de systèmes et de bases de données pour signaler des vulnérabilités.

 Contrôles 18/19 ●

  • Contrôles


    Lorsqu'une tâche CI/CD est exécutée sans permissions spécifiées, le système CI/CD DOIT par défaut définir les permissions de la tâche aux permissions les plus faibles accordées dans le pipeline. [OSPS-AC-04.01]
    Configurez les paramètres du projet pour attribuer les permissions les plus faibles disponibles aux nouveaux pipelines par défaut, en accordant des permissions supplémentaires uniquement lorsque cela est nécessaire pour des tâches spécifiques.

    STATUS: UNMET
    EVIDENCE: The official current-main OpenSSF Scorecard assessment at commit 9dcdc1bebe0ad856bd399dc627d17c35a2cc5828 reports Token-Permissions 0 and identifies a workflow without top-level default permissions.
    JUSTIFICATION: PR #52 adds least-privilege defaults, but it is still unmerged; branch-only evidence is not represented as current-main compliance.
    URL: https://scorecard.dev/viewer/?uri=github.com/Guruprasath-Annadurai/Whitepact



    Lorsqu'une version officielle est créée, cette version DOIT se voir attribuer un identifiant de version unique. [OSPS-BR-02.01]
    Attribuez un identifiant de version unique à chaque version produite par le projet, en suivant une convention de nommage ou un schéma de numérotation cohérent. Les exemples incluent SemVer, CalVer ou l'ID de commit git.

    Each WhitePact release uses a unique version identifier. The project version is maintained in pyproject.toml and released versions use distinct semantic version numbers such as v1.0.0, v1.1.0, v1.2.0, v1.2.1, and v1.2.2.

    https://github.com/Guruprasath-Annadurai/Whitepact/releases [version_unique]



    Lorsqu'une version officielle est créée, cette version DOIT contenir un journal descriptif des modifications fonctionnelles et de sécurité. [OSPS-BR-04.01]
    Assurez-vous que toutes les versions incluent un journal des modifications descriptif. Il est recommandé de s'assurer que le journal des modifications est lisible par l'homme et inclut des détails au-delà des messages de commit, tels que des descriptions de l'impact sur la sécurité ou la pertinence pour différents cas d'utilisation. Pour garantir la lisibilité par la machine, placez le contenu sous un en-tête markdown tel que « ## Changelog ».

    Non-trivial release notes file in repository: https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/CHANGELOG.md. [release_notes]



    Lorsqu'un pipeline de construction et de publication ingère des dépendances, il DOIT utiliser des outils standardisés lorsqu'ils sont disponibles. [OSPS-BR-05.01]
    Utilisez un outil commun pour votre écosystème, tel que des gestionnaires de paquets ou des outils de gestion des dépendances pour ingérer les dépendances au moment de la construction. Cela peut inclure l'utilisation d'un fichier de dépendances, d'un fichier de verrouillage ou d'un manifeste pour spécifier les dépendances requises, qui sont ensuite intégrées par le système de construction.

    WhitePact declares its external runtime, optional, and development dependencies in the machine-processable pyproject.toml package configuration.

    Dependencies are separated into the core dependency list and named optional groups for dashboard, PostgreSQL, Redis, telemetry, SSO, model providers, billing, testing, and other integrations.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/pyproject.toml [external_dependencies]



    Lorsqu'une version officielle est créée, cette version DOIT être signée ou comptabilisée dans un manifeste signé incluant les hachages cryptographiques de chaque ressource. [OSPS-BR-06.01]
    Signez toutes les ressources logicielles publiées au moment de la construction avec une signature cryptographique ou des attestations, telles qu'une signature GPG ou PGP, des signatures Sigstore, une provenance SLSA ou des VSA SLSA. Incluez les hachages cryptographiques de chaque ressource dans un manifeste signé ou un fichier de métadonnées.

    WhitePact cryptographically attests its published wheel and source-distribution artifacts using GitHub Artifact Attestations backed by Sigstore and GitHub Actions OIDC.

    The release workflow creates build-provenance attestations for dist/* before publishing to PyPI and uses PyPI Trusted Publishing, so no long-lived private PyPI or signing key is stored on the public distribution service.

    Every GitHub Release includes verification instructions:

    gh attestation verify <artifact> --owner Guruprasath-Annadurai

    This verifies that the artifact was produced by WhitePact's trusted GitHub Actions workflow from the identified repository and commit.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/.github/workflows/publish.yml [signed_releases]



    Lorsque le projet a publié une version, la documentation du projet DOIT inclure une description de la façon dont le projet sélectionne, obtient et suit ses dépendances. [OSPS-DO-06.01]
    Il est recommandé de publier ces informations aux côtés de la documentation technique et de conception du projet sur une ressource publiquement accessible telle que le dépôt de code source, le site Web du projet ou un autre canal.

    STATUS: MET
    EVIDENCE: Dependencies are declared and grouped in pyproject.toml; installation and build dependency acquisition use standard Python packaging tooling, and dependency selection/review expectations are documented in CONTRIBUTING.md and docs/CODE_REVIEW.md.
    JUSTIFICATION: The project publicly documents how dependencies are selected, obtained through pip/PyPI-compatible tooling, declared, reviewed, and tracked.
    URL: https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/pyproject.toml https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/CONTRIBUTING.md https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/docs/CODE_REVIEW.md



    La documentation du projet DOIT inclure des instructions sur la façon de compiler le logiciel, y compris les bibliothèques, les frameworks, les SDK et les dépendances requis. [OSPS-DO-07.01]
    Il est recommandé de publier ces informations aux côtés de la documentation destinée aux contributeurs du projet, par exemple dans CONTRIBUTING.md ou d'autres documentations de tâches pour les développeurs. Ces informations peuvent également être documentées à l'aide de cibles Makefile ou d'autres scripts d'automatisation.

    WhitePact documents a standard development installation using a Python virtual environment and an editable pip installation:

    pip install -e ".[dev]"

    This installs WhitePact together with its development and testing dependencies, including pytest, pytest-cov, Ruff, mypy, and related development tooling.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/CONTRIBUTING.md [installation_development_quick]



    La documentation du projet DOIT inclure une liste des membres du projet ayant accès aux ressources sensibles. [OSPS-GV-01.01]
    Documentez les participants au projet et leurs rôles à travers des artefacts tels que members.md, governance.md, maintainers.md ou un fichier similaire dans le dépôt de code source du projet. Cela peut être aussi simple que d'inclure des noms ou des identifiants de compte dans une liste de mainteneurs, ou plus complexe selon la gouvernance du projet.

    STATUS: MET
    EVIDENCE: GOVERNANCE.md publicly lists the sole current project member holding maintainer, security-contact, incident-command, risk-owner, merge, and release authority.
    JUSTIFICATION: WhitePact has one person with access to sensitive project resources and names that person plainly; no additional member or committee is implied.
    URL: https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/GOVERNANCE.md



    La documentation du projet DOIT inclure des descriptions des rôles et responsabilités des membres du projet [OSPS-GV-01.02]
    Documentez les participants au projet et leurs rôles à travers des artefacts tels que members.md, governance.md, maintainers.md ou un fichier similaire dans le dépôt de code source du projet.

    WhitePact publicly documents the project's current roles and responsibilities in GOVERNANCE.md, including the founder/maintainer, security contact, incident commander, risk owner, merge/release authority, and responsibility for project decisions.

    The document also clearly identifies who currently holds each role rather than implying roles or committees that do not exist.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/GOVERNANCE.md [roles_responsibilities]



    La documentation du projet DOIT inclure un guide pour les contributeurs de code qui comprend les exigences pour des contributions acceptables. [OSPS-GV-03.02]
    Étendez le contenu de CONTRIBUTING.md ou CONTRIBUTING/ dans la documentation du projet pour décrire les exigences pour les contributions acceptables, y compris les normes de codage, les exigences de test et les directives de soumission pour les contributeurs de code. Il est recommandé que ce guide soit la source de vérité pour les contributeurs et les approbateurs.

    The contribution requirements are documented in CONTRIBUTING.md, including development setup, testing requirements, pull request guidelines, CI requirements, Ruff formatting/linting, mypy type checking, public-function typing requirements, and security-related engineering principles.https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/CONTRIBUTING.md [contribution_requirements]



    Le système de contrôle de version DOIT exiger de tous les contributeurs de code qu'ils affirment être légalement autorisés à effectuer les contributions associées à chaque commit. [OSPS-LE-01.01]
    Incluez un DCO dans le dépôt du projet, exigeant que les contributeurs de code affirment qu'ils sont légalement autorisés à valider les contributions associées sur chaque commit. Utilisez un contrôle de statut pour assurer que l'affirmation est faite. Un CLA satisfait également cette exigence. Certains systèmes de contrôle de version, tels que GitHub, peuvent inclure cela dans les conditions d'utilisation de la plateforme.

    WhitePact adopts the Developer Certificate of Origin (DCO) 1.1 for non-trivial contributions. Contributors are required to certify their right to contribute by adding a Signed-off-by trailer to each commit using git commit -s.

    The requirement and contributor instructions are documented in CONTRIBUTING.md, and pull-request commits are automatically checked by CI.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/CONTRIBUTING.md [dco]



    Lorsqu'un commit est effectué sur la branche principale, tous les contrôles de statut automatisés pour les commits DOIVENT réussir ou être contournés manuellement. [OSPS-QA-03.01]
    Configurez le système de contrôle de version du projet pour exiger que tous les contrôles de statut automatisés réussissent ou nécessitent une reconnaissance manuelle avant qu'un commit puisse être fusionné dans la branche principale. Il est recommandé que tous les contrôles de statut facultatifs ne soient PAS configurés comme une exigence de réussite ou d'échec que les approbateurs pourraient être tentés de contourner.

    WhitePact runs its automated test suite through GitHub Actions on every push to main and develop and on pull requests targeting main.

    The CI job installs the project and development dependencies, runs linting and type checking, executes pytest with coverage, and reports success or failure through the GitHub Actions status checks.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/.github/workflows/ci.yml [automated_integration_testing]



    Avant qu'un commit ne soit accepté, les pipelines CI/CD du projet DOIVENT exécuter au moins une suite de tests automatisée pour s'assurer que les modifications répondent aux attentes. [OSPS-QA-06.01]
    Les tests automatisés devraient être exécutés avant chaque fusion dans la branche principale. La suite de tests devrait être exécutée dans un pipeline CI/CD et les résultats devraient être visibles pour tous les contributeurs. La suite de tests devrait être exécutée dans un environnement cohérent et devrait être exécutée de manière à permettre aux contributeurs d'exécuter les tests localement. Des exemples de suites de tests incluent les tests unitaires, les tests d'intégration et les tests de bout en bout.

    WhitePact runs its automated test suite through GitHub Actions on every push to main and develop and on pull requests targeting main.

    The CI job installs the project and development dependencies, runs linting and type checking, executes pytest with coverage, and reports success or failure through the GitHub Actions status checks.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/.github/workflows/ci.yml [automated_integration_testing]



    Lorsque le projet a publié une version, la documentation du projet DOIT inclure une documentation de conception démontrant toutes les actions et acteurs au sein du système. [OSPS-SA-01.01]
    Incluez des conceptions dans la documentation du projet qui expliquent les actions et les acteurs. Les acteurs incluent tout sous-système ou entité qui peut influencer un autre segment du système. Assurez-vous que cela est mis à jour pour les nouvelles fonctionnalités ou les modifications importantes.

    WhitePact maintains a public architecture specification in SPEC.md describing the system's high-level design, runtime governance pipeline, core entities, identity and authority models, policy and risk evaluation, governance decisions, persistence, evidence, approvals, MCP integration, and implementation boundaries.

    The specification explicitly distinguishes implemented capabilities from target architecture.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/SPEC.md [documentation_architecture]



    Lorsque le projet a fait une version, la documentation du projet DOIT inclure les descriptions de toutes les interfaces logicielles externes des actifs logiciels publiés. [OSPS-SA-02.01]
    Documentez toutes les interfaces logicielles (APIs) des actifs logiciels publiés, en expliquant comment les utilisateurs peuvent interagir avec le logiciel et quelles données sont attendues ou produites. Assurez-vous que ceci est mis à jour pour les nouvelles fonctionnalités ou les changements majeurs.

    WhitePact documents its REST API, Python SDK and MCP external interfaces in README.md and its architecture specification. The FastAPI deployment exposes interactive API reference documentation, while MCP tools have structured input/output schemas and documented usage.
    Evidence URLs:
    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/README.md
    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/SPEC.md [documentation_interface]



    Lorsque le projet a fait une version, le projet DOIT effectuer une évaluation de sécurité pour comprendre les problèmes de sécurité potentiels les plus probables et les plus impactants qui pourraient se produire dans le logiciel. [OSPS-SA-03.01]
    Effectuer une évaluation de sécurité informe à la fois les membres du projet ainsi que les consommateurs en aval que le projet comprend quels problèmes pourraient survenir dans le logiciel. Comprendre quelles menaces pourraient se réaliser aide le projet à gérer et traiter le risque. Cette information est utile aux consommateurs en aval pour démontrer la compétence et les pratiques de sécurité du projet. Assurez-vous que ceci est mis à jour pour les nouvelles fonctionnalités ou les changements majeurs.

    WhitePact cryptographically signs important Git version tags and documents how users can verify those signatures.

    Important release tags are created as annotated cryptographically signed tags using an approved project release-signing identity. The release process verifies that a release tag is annotated, signed, valid, and issued by an approved signer before publication.

    Public verification information is provided so users can independently verify Git tag signatures. This complements, rather than replaces, WhitePact's existing GitHub/Sigstore build-provenance attestations for published release artifacts.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/RELEASING.md [assurance_case]



    La documentation du projet DOIT inclure une politique de divulgation coordonnée des vulnérabilités (CVD), avec un délai de réponse clairement défini. [OSPS-VM-01.01]
    Créez un fichier SECURITY.md à la racine du répertoire, décrivant la politique du projet pour la divulgation coordonnée de vulnérabilités. Incluez une méthode pour signaler les vulnérabilités. Définissez les attentes sur la façon dont le projet répondra et traitera les problèmes signalés.

    WhitePact publishes its vulnerability reporting and responsible-disclosure process in SECURITY.md, including what information reporters should provide, scope, disclosure expectations, and response commitments.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/SECURITY.md [vulnerability_report_process]



    La documentation du projet DOIT fournir un moyen de signaler des vulnérabilités de manière privée, directement aux contacts de sécurité du projet. [OSPS-VM-03.01]
    Fournissez un moyen pour les chercheurs de sécurité de signaler les vulnérabilités de manière privée au projet. Cela peut être une adresse email dédiée, un formulaire web, des outils spécialisés du système de gestion de version, des adresses email pour les contacts de sécurité, ou d'autres méthodes.

    Private vulnerability reports are supported by email. SECURITY.md instructs researchers not to create a public GitHub issue and instead send vulnerability details directly to the project's designated security contact.

    https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/SECURITY.md [vulnerability_report_private]



    La documentation du projet DOIT publier publiquement des données sur les vulnérabilités découvertes. [OSPS-VM-04.01]
    Fournissez des informations sur les vulnérabilités connues dans un canal public prévisible, tel qu'une entrée CVE, un article de blog ou un autre moyen. Dans la mesure du possible, ces informations doivent inclure la ou les version(s) affectée(s), comment un consommateur peut déterminer s'il est vulnérable, et des instructions pour l'atténuation ou la correction.

    STATUS: MET
    EVIDENCE: The public internal security review records discovered SQL-injection-shaped and SSRF issues, their remediation, and regression tests; release changes are published in CHANGELOG.md.
    JUSTIFICATION: Discovered project vulnerabilities and their disposition are publicly documented without claiming an independent penetration test.
    URL: https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/compliance/INTERNAL_SECURITY_REVIEW.md https://github.com/Guruprasath-Annadurai/Whitepact/blob/main/CHANGELOG.md



Vous pouvez utiliser des outils et des systèmes d'IA pour proposer des modifications via une URL simple, par exemple https://www.bestpractices.dev/fr/projects/14112/choose/edit?osps_ac_01_01_status=Met&osps_ac_01_01_justification=GitHub+enforced. Consultez notre système de propositions d'automatisation pour savoir comment procéder. Ces données sont disponibles sous la licence Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0). Cela signifie qu'un destinataire de données peut partager les données, avec ou sans modifications, à condition que le destinataire de données rende disponible le texte de cet accord avec les données partagées. Veuillez créditer Guruprasath Annadurai et les contributeurs du badge des meilleures pratiques de la OpenSSF.

Soumission du badge du projet appartenant à : Guruprasath Annadurai.
Soumission créée le 2026-08-17 09:21:34 UTC, dernière mise à jour le 2026-08-29 04:45:45 UTC. Le dernier badge obtenu l'a été le 2026-08-17 11:38:17 UTC.