hMailServer

Projekte, die den nachfolgenden Best Practices folgen, können sich freiwillig selbst zertifizieren und zeigen, dass sie einen Core-Infrastruktur-Initiative-/OpenSSF-Badge erhalten haben.

Es gibt keine Auswahl an Praktiken, die garantieren können, dass Software niemals Fehler oder Schwachstellen hat. Selbst formale Methoden können fehlschlagen, wenn die Spezifikationen oder Annahmen falsch sind. Auch gibt es keine Auswahl an Praktiken, die garantieren können, dass ein Projekt eine gesunde und gut funktionierende Entwicklungsgemeinschaft erhalten wird. Allerdings können Best Practices dabei helfen, die Ergebnisse von Projekten zu verbessern. Zum Beispiel ermöglichen einige Praktiken die Mehrpersonen-Überprüfung vor der Freigabe, die sowohl helfen können ansonsten schwer zu findende technische Schwachstellen zu finden und gleichzeitig dazu beitragen Vertrauen und den Wunsch nach wiederholter Zusammenarbeit zwischen Entwicklern verschiedener Unternehmen zu schaffen. Um ein Badge zu verdienen, müssen alle MÜSSEN und MÜSSEN NICHT Kriterien erfüllt sein, alle SOLLTEN Kriterien müssen erfüllt sein oder eine Rechtfertigung enthalten, und alle EMPFHOLEN Kriterien müssen erfüllt sein oder nicht (wir wollen sie zumindest berücksichtigt wissen). Wenn lediglich ein allgemeiner Kommentar angebeben werden soll, keine direkte Begründung, dann ist das erlaubt, wenn der Text mit "//" und einem Leerzeichen beginnt. Feedback ist willkommen auf derGitHub-Website als Issue oder Pull-Request. Es gibt auch eine E-Mail-Liste für allgemeine Diskussionen.

Wir stellen Ihnen gerne die Informationen in mehreren Sprachen zur Verfügung, allerdings ist die englische Version maßgeblich, insbesondere wenn es Konflikte oder Inkonsistenzen zwischen den Übersetzungen gibt.
Wenn dies Ihr Projekt ist, zeigen Sie bitte Ihren Baseline-Badge-Status auf Ihrer Projektseite! Der Baseline-Badge-Status sieht so aus: Baseline-Badge-Level für Projekt 14949 ist in_progress So betten Sie das Baseline-Badge ein:
Sie können Ihren Baseline-Badge-Status anzeigen, indem Sie Folgendes in Ihre Markdown-Datei einbetten:
[![OpenSSF Baseline](https://www.bestpractices.dev/projects/14949/baseline)](https://www.bestpractices.dev/projects/14949)
oder indem Sie Folgendes in Ihr HTML einbetten:
<a href="https://www.bestpractices.dev/projects/14949"><img src="https://www.bestpractices.dev/projects/14949/baseline"></a>


Dies sind die Baseline Niveau 2 Kriterien. Dies sind Kriterienversion v2026.08.28.

Baseline Series: Baseline Niveau 1 Baseline Niveau 2 Baseline Niveau 3

        

 Grundlagen

  • Allgemein

    Hinweis: Andere Projekte können den selben Namen benutzen.

    hMailServer is a free, open-source mail server for Windows and Linux, implementing SMTP, IMAP and POP3, with webmail, a REST API and a Control Panel. It is a maintained fork of Martin Knafve's hMailServer, brought up to date with a current toolchain, current cryptography, and the transport-security and authentication standards expected of a mail server in 2026.

    Bitte verwenden Sie das SPDX-License-Expression-Format; Beispiele sind "Apache-2.0", "BSD-2-Clause", "BSD-3-Clause", "GPL-2.0+", "LGPL-3.0+", "MIT" und "(BSD-2-Clause OR Ruby)". Geben sie nicht die einfachen oder doppelten Anführungszeichen mit an.
    Wenn es mehr als eine Programmiersprache gibt, listen Sie sie als kommagetrennte Werte (Leerzeichen sind optional) auf und sortieren Sie sie von am häufigsten zum am wenigsten verwendeten. Wenn es eine lange Liste gibt, bitte mindestens die ersten drei häufigsten auflisten. Wenn es keine Programmiersprache gibt (z. B. ist dies nur ein Dokumentations- oder Testprojekt), verwenden Sie das einzelne Zeichen "-". Bitte verwenden Sie eine herkömmliche Großschreibung für jede Sprache, z.B. "JavaScript".
    Das Common Platform Enumeration (CPE) ist ein strukturiertes Namensschema für IT-Systeme, Software und Pakete. Es wird in diversen Systemen und Datenbanken bei der Meldung von Schwachstellen verwendet.

    This entry replaces https://www.bestpractices.dev/en/projects/14187, which was made through a GitHub login. GitHub suspended the project account on 18 September 2026, so that entry can no longer be edited. The project has lived on GitLab since 22 September 2026: https://gitlab.com/Progressiverobot/hmailserver. Every answer here was checked again against the project on 26 September 2026.

 Steuerelemente 16/19 ●

  • Steuerelemente


    Wenn eine CI/CD-Aufgabe ohne angegebene Berechtigungen ausgeführt wird, MUSS das CI/CD-System die Berechtigungen der Aufgabe standardmäßig auf die niedrigsten in der Pipeline gewährten Berechtigungen setzen. [OSPS-AC-04.01]
    Konfigurieren Sie die Einstellungen des Projekts so, dass neuen Pipelines standardmäßig die niedrigsten verfügbaren Berechtigungen zugewiesen werden, wobei zusätzliche Berechtigungen nur bei Bedarf für bestimmte Aufgaben gewährt werden.

    A GitLab CI job that declares nothing gets only its own CI_JOB_TOKEN, which works on a limited set of API endpoints. The project refuses job-token pushes to the repository, and its inbound job-token allowlist holds only the project itself. A job gets no OIDC ID token unless it declares one. The five project CI/CD variables are Azure identifiers, not secrets, and all are protected. See https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/.gitlab-ci.yml



    Wenn ein offizieller Release erstellt wird, MUSS diesem Release eine eindeutige Versionskennung zugewiesen werden. [OSPS-BR-02.01]
    Weisen Sie jedem vom Projekt erstellten Release eine eindeutige Versionskennung zu und folgen Sie dabei einer konsistenten Namenskonvention oder einem Nummerierungsschema. Beispiele sind SemVer, CalVer oder Git-Commit-ID.

    Every release has a unique SemVer tag (v6.3.0 to v6.3.3 on GitLab, with earlier releases re-published under their original tags). Tags are annotated and SSH-signed from v6.2.23-alpha2 on, and the v* tag pattern is protected. See https://gitlab.com/Progressiverobot/hmailserver/-/releases



    Wenn ein offizieller Release erstellt wird, MUSS dieser Release ein beschreibendes Protokoll funktionaler und sicherheitsrelevanter Änderungen enthalten. [OSPS-BR-04.01]
    Stellen Sie sicher, dass alle Releases ein beschreibendes Änderungsprotokoll enthalten. Es wird empfohlen sicherzustellen, dass das Änderungsprotokoll von Menschen lesbar ist und Details über Commit-Nachrichten hinaus enthält, wie z.B. Beschreibungen der Sicherheitsauswirkung oder Relevanz für verschiedene Anwendungsfälle. Um Maschinenlesbarkeit zu gewährleisten, platzieren Sie den Inhalt unter einer Markdown-Überschrift wie "## Changelog".

    Every release on GitLab carries human-written notes on functional and security changes (6.3.3's run to about 25 KB), and CHANGELOG.md keeps the same log per version, including the 6.3.4 section. See https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/CHANGELOG.md



    Wenn eine Build- und Release-Pipeline Abhängigkeiten einbindet, MUSS sie standardisierte Tools verwenden, wo verfügbar. [OSPS-BR-05.01]
    Verwenden Sie ein gängiges Tool für Ihr Ökosystem, wie z.B. Paketmanager oder Abhängigkeits-Management-Tools, um Abhängigkeiten zur Build-Zeit einzubinden. Dies kann die Verwendung einer Abhängigkeitsdatei, Lock-Datei oder Manifest umfassen, um die erforderlichen Abhängigkeiten zu spezifizieren, die dann vom Build-System eingezogen werden.

    The .NET projects use NuGet with committed lock files, restored with --locked-mode. The Linux build takes its libraries from the distribution's packages, in a CI image built from build/ci/linux.Dockerfile. OpenSSL, Boost and libpq are built from source archives at pinned versions, each checked against its SHA-256 (libraries/build-*.ps1), and every fetched binary input is pinned by hash in hmailserver/docs/third-party-binaries.json. See https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/SECURITY.md



    Wenn ein offizieller Release erstellt wird, MUSS dieser Release signiert sein oder in einem signierten Manifest erfasst werden, das die kryptographischen Hashes jedes Assets enthält. [OSPS-BR-06.01]
    Signieren Sie alle freigegebenen Software-Assets zur Build-Zeit mit einer kryptographischen Signatur oder Attestierungen, wie z.B. GPG- oder PGP-Signatur, Sigstore-Signaturen, SLSA-Provenance oder SLSA-VSAs. Fügen Sie die kryptographischen Hashes jedes Assets in eine signierte Manifest- oder Metadaten-Datei ein.

    Every asset of the releases from 6.2.19 to 6.3.3 carries its own keyless Sigstore bundle, and the Windows installer is Authenticode-signed since 6.3.1. From 6.3.4 every release also carries a SHA256SUMS manifest with each asset's SHA-256, signed with the release-tag SSH key listed in the repository's allowed_signers file (ssh-keygen -Y sign; checked with ssh-keygen -Y verify). How to verify each: https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/SECURITY.md#verifying-a-release



    Wenn das Projekt ein Release erstellt hat, MUSS die Projektdokumentation eine Beschreibung enthalten, wie das Projekt seine Abhängigkeiten auswählt, bezieht und verfolgt. [OSPS-DO-06.01]
    Es wird empfohlen, diese Informationen zusammen mit der technischen und Design-Dokumentation des Projekts auf einer öffentlich zugänglichen Ressource wie dem Quellcode-Repository, der Projektwebsite oder einem anderen Kanal zu veröffentlichen.

    Several documents describe how dependencies are chosen, obtained and tracked. hmailserver/docs/ThirdPartyBinaries.md records each third-party build input: what it is, where it comes from, how the build fetches and hash-checks it, and why it is needed. SECURITY.md, "Supply chain" and "Dependencies", covers the pinned native libraries, the NuGet lock files, the dependency-scan job (Trivy and OSV) and Renovate (renovate.json). CONTRIBUTING.md lists the prerequisites. See https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/hmailserver/docs/ThirdPartyBinaries.md



    Die Projektdokumentation MUSS Anweisungen enthalten, wie die Software gebaut wird, einschließlich erforderlicher Bibliotheken, Frameworks, SDKs und Abhängigkeiten. [OSPS-DO-07.01]
    Es wird empfohlen, diese Informationen zusammen mit der Beiträgerdokumentation des Projekts zu veröffentlichen, z. B. in CONTRIBUTING.md oder anderen Entwickleraufgabendokumentationen. Dies kann auch mithilfe von Makefile-Zielen oder anderen Automatisierungsskripten dokumentiert werden.

    README.md, "Building hMailServer", and CONTRIBUTING.md, "Prerequisites" and "Building", give the toolchain (Visual Studio 2026 / v145, Inno Setup, Perl, Python; clang and CMake on Linux). They say how to build OpenSSL, Boost and libpq, and how to get the hash-checked build inputs, with the build scripts under build/. See https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/CONTRIBUTING.md#building



    Die Projektdokumentation MUSS eine Liste der Projektmitglieder mit Zugriff auf sensible Ressourcen enthalten. [OSPS-GV-01.01]
    Dokumentieren Sie Projektteilnehmer und ihre Rollen durch Artefakte wie members.md, governance.md, maintainers.md oder eine ähnliche Datei im Quellcode-Repository des Projekts. Dies kann so einfach sein wie die Aufnahme von Namen oder Account-Handles in einer Liste von Maintainern, oder komplexer sein, abhängig von der Governance des Projekts.

    GOVERNANCE.md, 'Maintainers', names the project's two maintainers and their accounts: Christopher Holloway (Progressiverobot on GitLab, the Owner; chrisholloway5 on GitHub) and Zain Ul Abidin (Zainulabidin90 on GitHub; zainulabidin1990 on GitLab from the next batch). A table shows which duties each holds, and 'Critical assets' lists the credentials. GitLab's member list shows the three accounts and their roles. See https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/GOVERNANCE.md#maintainers



    Die Projektdokumentation MUSS Beschreibungen der Rollen und Verantwortlichkeiten der Projektmitglieder enthalten. [OSPS-GV-01.02]
    Dokumentieren Sie Projektteilnehmer und ihre Rollen durch Artefakte wie members.md, governance.md, maintainers.md oder ähnliche Dateien im Quellcode-Repository des Projekts.

    GOVERNANCE.md describes the Maintainer, Contributor and Reporter roles and each one's responsibilities (accepting changes, releasing, security response, direction, infrastructure). It also has a table of which maintainer holds which duty today. See https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/GOVERNANCE.md#roles-and-responsibilities



    Die Projektdokumentation MUSS einen Leitfaden für Code-Mitwirkende enthalten, der die Anforderungen für akzeptable Beiträge beschreibt. [OSPS-GV-03.02]
    Erweitern Sie die Inhalte von CONTRIBUTING.md oder CONTRIBUTING/ in der Projektdokumentation, um die Anforderungen für akzeptable Beiträge zu beschreiben, einschließlich Codierungsstandards, Testanforderungen und Einreichungsrichtlinien für Code-Beitragende. Es wird empfohlen, dass dieser Leitfaden die verbindliche Quelle sowohl für Beitragende als auch für Genehmiger ist.

    CONTRIBUTING.md sets the requirements for an acceptable contribution: one logical change, regression tests for behaviour changes, a warning-free build, parameterised SQL only, and settings in the database. It also covers the checkers to run, code style and licence headers, the change checklists (schema, COM, REST, UI), commit rules and DCO sign-off. See https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/CONTRIBUTING.md



    Das Versionskontrollsystem MUSS bei jedem Commit von allen Code-Mitwirkenden verlangen zu bestätigen, dass sie rechtlich befugt sind, die zugehörigen Beiträge zu leisten. [OSPS-LE-01.01]
    Fügen Sie ein DCO in das Repository des Projekts ein, das Code-Beitragende dazu verpflichtet zu bestätigen, dass sie rechtlich berechtigt sind, die zugehörigen Beiträge bei jedem Commit zu leisten. Verwenden Sie eine Statusüberprüfung, um sicherzustellen, dass die Bestätigung erfolgt ist. Ein CLA erfüllt diese Anforderung ebenfalls. Einige Versionskontrollsysteme, wie GitHub, können dies in den Nutzungsbedingungen der Plattform enthalten.

    CONTRIBUTING.md requires a DCO Signed-off-by, naming the commit's author, on every commit of a merge request from a fork. The sign-off job in .gitlab-ci.yml checks it, but no merge request has run it yet. The maintainers' own commits, which are almost all of master, are exempt and carry no sign-off, so not every commit carries the assertion. See https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/CONTRIBUTING.md#sign-off



    Wenn ein Commit in den primären Branch erfolgt, MÜSSEN alle automatisierten Statusüberprüfungen für Commits bestanden werden oder manuell umgangen werden. [OSPS-QA-03.01]
    Konfigurieren Sie das Versionskontrollsystem des Projekts so, dass alle automatisierten Statusüberprüfungen bestanden werden müssen oder eine manuelle Bestätigung erforderlich ist, bevor ein Commit in den primären Branch zusammengeführt werden kann. Es wird empfohlen, dass optionale Statusüberprüfungen NICHT als Bestehen-oder-Durchfallen-Anforderung konfiguriert werden, die Genehmiger versucht sein könnten zu umgehen.

    master is protected (only Maintainers push, no force-push) and GitLab's 'pipelines must succeed' setting is on for merge requests, but changes reach master by the maintainer's fast-forward push, which no status check gates: .gitlab-ci.yml defines the checks, but no full pipeline has run on GitLab yet. Every change is landed only after the maintainer's own full regression gate, the whole Windows suite split across two machines plus the whole Linux suite. https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/hmailserver/docs/ContinuousIntegration.md



    Bevor ein Commit akzeptiert wird, MÜSSEN die CI/CD-Pipelines des Projekts mindestens eine automatisierte Test-Suite ausführen, um sicherzustellen, dass die Änderungen den Erwartungen entsprechen. [OSPS-QA-06.01]
    Automatisierte Tests sollten vor jedem Merge in den primären Branch ausgeführt werden. Die Test-Suite sollte in einer CI/CD-Pipeline ausgeführt werden und die Ergebnisse sollten für alle Beitragenden sichtbar sein. Die Test-Suite sollte in einer konsistenten Umgebung ausgeführt werden und so ausgeführt werden, dass Beitragende die Tests lokal ausführen können. Beispiele für Test-Suites sind Unit-Tests, Integrationstests und End-to-End-Tests.

    No CI/CD pipeline tests a change before it is accepted yet. .gitlab-ci.yml defines the whole Windows suite (windows-gate), the whole Linux suite (linux-suite) and the .NET tests on the project's own runners for master, batch* and v* pipelines, but no pipeline running them has run on GitLab (every push pipeline so far was skipped). Today every change is landed only after the maintainer's own full regression gate: the whole Windows suite split across two machines, plus the whole Linux suite. GitHub Actions ran the CI tests until 18 September 2026. https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/hmailserver/docs/ContinuousIntegration.md



    Wenn das Projekt eine Veröffentlichung vorgenommen hat, MUSS die Projektdokumentation Design-Dokumentation enthalten, die alle Aktionen und Akteure innerhalb des Systems demonstriert. [OSPS-SA-01.01]
    Fügen Sie Designs in die Projektdokumentation ein, die die Aktionen und Akteure erklären. Akteure umfassen jedes Subsystem oder jede Entität, die ein anderes Segment im System beeinflussen kann. Stellen Sie sicher, dass dies für neue Funktionen oder Breaking Changes aktualisiert wird.

    ARCHITECTURE.md is the design document: the server's modules (SMTP, IMAP, POP3, the delivery queue, anti-spam and anti-virus, persistence over four database backends), the COM API as the management seam, the REST, metrics, web-services and ManageSieve listeners, scheduled work, the Linux build and the tests. ASSURANCE-CASE.md adds the actors (A1-A6) and the trust boundaries between them (B1-B6). https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/ARCHITECTURE.md



    Wenn das Projekt eine Veröffentlichung vorgenommen hat, MUSS die Projektdokumentation Beschreibungen aller externen Software-Schnittstellen der veröffentlichten Software-Assets enthalten. [OSPS-SA-02.01]
    Dokumentieren Sie alle Software-Schnittstellen (APIs) der veröffentlichten Software-Assets und erklären Sie, wie Benutzer mit der Software interagieren können und welche Daten erwartet oder produziert werden. Stellen Sie sicher, dass dies für neue Funktionen oder Breaking Changes aktualisiert wird.

    README.md's Capabilities and Administration sections describe every external interface: SMTP, IMAP and POP3 with their extensions, ManageSieve, CardDAV and CalDAV, the REST API (which serves its own OpenAPI document at /api/v1/openapi.json), the Control Deck and webmail, Prometheus /metrics and health probes, OTLP export, SNMP and the COM API, with a document per feature under hmailserver/docs. https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/README.md



    Wenn das Projekt eine Veröffentlichung vorgenommen hat, MUSS das Projekt eine Sicherheitsbewertung durchführen, um die wahrscheinlichsten und folgenschwersten potenziellen Sicherheitsprobleme zu verstehen, die innerhalb der Software auftreten könnten. [OSPS-SA-03.01]
    Die Durchführung einer Sicherheitsbewertung informiert sowohl Projektmitglieder als auch nachgelagerte Verbraucher darüber, dass das Projekt versteht, welche Probleme innerhalb der Software auftreten könnten. Das Verständnis darüber, welche Bedrohungen realisiert werden könnten, hilft dem Projekt, Risiken zu verwalten und anzugehen. Diese Informationen sind für nachgelagerte Verbraucher nützlich, um den Sicherheitssachverstand und die Praktiken des Projekts zu demonstrieren. Stellen Sie sicher, dass dies für neue Funktionen oder Breaking Changes aktualisiert wird.

    ASSURANCE-CASE.md is the project's security assessment: security claims C1-C7 argued with evidence, the threat model and trust boundaries, a CWE-by-CWE argument of how common weaknesses are countered, and the residual risk, with a status note on which checks ran on GitHub and what replaces them on GitLab. https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/ASSURANCE-CASE.md



    Die Projektdokumentation MUSS eine Richtlinie für die koordinierte Offenlegung von Schwachstellen (Coordinated Vulnerability Disclosure, CVD) mit einem klaren Zeitrahmen für die Reaktion enthalten. [OSPS-VM-01.01]
    Erstellen Sie eine SECURITY.md-Datei im Stammverzeichnis, die die Richtlinie des Projekts für koordinierte Offenlegung von Schwachstellen beschreibt. Fügen Sie eine Methode zur Meldung von Schwachstellen hinzu. Setzen Sie Erwartungen dafür, wie das Projekt reagieren und gemeldete Probleme angehen wird.

    SECURITY.md is the coordinated vulnerability disclosure policy: report privately by confidential GitLab issue or Service Desk email; acknowledgement within 5 working days, initial assessment within 10, a fix within 90 days of acknowledgement, and publication when the fix ships or at 90 days, whichever comes first. https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/SECURITY.md



    Die Projektdokumentation MUSS eine Möglichkeit zur privaten Meldung von Schwachstellen direkt an die Sicherheitskontakte des Projekts bereitstellen. [OSPS-VM-03.01]
    Bieten Sie Sicherheitsforschern eine Möglichkeit, Schwachstellen privat an das Projekt zu melden. Dies kann eine dedizierte E-Mail-Adresse, ein Webformular, spezialisierte VCS-Tools, E-Mail-Adressen für Sicherheitskontakte oder andere Methoden sein.

    SECURITY.md gives two private routes straight to the maintainers: a confidential GitLab issue with the Security template, visible only to the reporter and the project's members, or email to the Service Desk address contact-project+progressiverobot-hmailserver-86730559-issue-@incoming.gitlab.com, which GitLab files as a confidential issue, so no account is needed. https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/SECURITY.md#reporting-a-vulnerability



    Die Projektdokumentation MUSS Daten über entdeckte Schwachstellen öffentlich veröffentlichen. [OSPS-VM-04.01]
    Bereitstellen von Informationen über bekannte Schwachstellen in einem vorhersehbaren öffentlichen Kanal, wie z.B. einem CVE-Eintrag, Blogbeitrag oder einem anderen Medium. Soweit möglich sollten diese Informationen betroffene Version(en) enthalten, wie ein Verbraucher feststellen kann, ob er betroffen ist, und Anweisungen zur Schadensbegrenzung oder Behebung.

    SECURITY.md: when a fix ships, the release notes describe the vulnerability, the confidential issue is made public, and a CVE ID requested through GitLab (a CNA) is quoted. The first vulnerability found in this fork, the JScript event-script injection fixed in 6.3.4, is described in CHANGELOG.md on master with the affected versions (6.0.0 to 6.3.3), the configurations exposed and the fix. https://gitlab.com/Progressiverobot/hmailserver/-/blob/master/CHANGELOG.md



Sie können Tools und KI-Systeme nutzen, um Änderungen über eine einfache URL vorzuschlagen, z. B. https://www.bestpractices.dev/de/projects/14949/choose/edit?osps_ac_01_01_status=Met&osps_ac_01_01_justification=GitHub+enforced. Wie das geht, erfahren Sie in unserem Automatisierungsvorschlagssystem. Diese Daten sind unter der Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0) verfügbar. Dies bedeutet, dass ein Datenempfänger die Daten mit oder ohne Änderungen weitergeben darf, solange der Datenempfänger den Text dieser Vereinbarung mit den weitergegebenen Daten zur Verfügung stellt. Bitte nennen Sie christopher holloway und die OpenSSF Best Practices Badge-Mitwirkenden als Urheber.

Projekt-Badge-Eintrag im Besitz von: christopher holloway.
Eintrag erstellt: 2026-09-26 05:28:20 UTC, zuletzt aktualisiert: 2026-09-26 06:16:51 UTC. Letztes erreichtes Badge: 2026-09-26 05:45:21 UTC.