hMailServer

Los proyectos que siguen las mejores prácticas a continuación pueden autocertificarse voluntariamente y demostrar que han obtenido una insignia de mejores prácticas de Open Source Security Foundation (OpenSSF).

No existe un conjunto de prácticas que pueda garantizar que el software nunca tendrá defectos o vulnerabilidades; incluso los métodos formales pueden fallar si las especificaciones o suposiciones son incorrectas. Tampoco existe ningún conjunto de prácticas que pueda garantizar que un proyecto mantenga una comunidad de desarrollo saludable y que funcione bien. Sin embargo, seguir las mejores prácticas puede ayudar a mejorar los resultados de los proyectos. Por ejemplo, algunas prácticas permiten la revisión por parte de múltiples personas antes del lanzamiento, lo que puede ayudar a encontrar vulnerabilidades técnicas que de otro modo serían difíciles de encontrar y ayudar a generar confianza y un deseo repetido de interacción entre desarrolladores de diferentes compañías. Para obtener una insignia, se deben cumplir todos los criterios DEBE y NO DEBE, se deben cumplir, así como todos los criterios DEBERÍAN deben cumplirse o ser justificados, y todos los criterios SUGERIDOS se pueden cumplir o incumplir (queremos que se consideren al menos). Si desea añadir texto como justificación mediante un comentario genérico, en lugar de ser un razonamiento de que la situación es aceptable, comience el bloque de texto con '//' seguido de un espacio. Los comentarios son bienvenidos a través del sitio de GitHub mediante "issues" o "pull requests". También hay una lista de correo electrónico para el tema principal.

Con mucho gusto proporcionaríamos la información en varios idiomas, sin embargo, si hay algún conflicto o inconsistencia entre las traducciones, la versión en inglés es la versión autorizada.
Si este es su proyecto, por favor muestre el estado de su insignia base en la página de su proyecto. El estado de la insignia base se ve así: El nivel de insignia base para el proyecto 14187 es in_progress Aquí se explica cómo insertar la insignia base:
Puede mostrar el estado de su insignia base insertando esto en su archivo markdown:
[![OpenSSF Baseline](https://www.bestpractices.dev/projects/14187/baseline)](https://www.bestpractices.dev/projects/14187)
o insertando esto en su HTML:
<a href="https://www.bestpractices.dev/projects/14187"><img src="https://www.bestpractices.dev/projects/14187/baseline"></a>


Estos son los criterios de Nivel Base 2. Estos son los criterios de la versión v2026.08.28.

Baseline Series: Nivel Base 1 Nivel Base 2 Nivel Base 3

        

 Fundamentos

  • General

    Tenga en cuenta que otros proyectos pueden usar el mismo nombre.

    hMailServer is a free, open source email server for Microsoft Windows, implementing SMTP, IMAP and POP3. This is a maintained fork brought up to date with a current toolchain, current cryptography, and the transport-security and authentication standards expected of a mail server in 2026.

    Por favor use formato de expresión de licencia SPDX; los ejemplos incluyen "Apache-2.0", "BSD-2-Clause", "BSD-3-Clause", "GPL-2.0+", "LGPL-3.0+", "MIT" y "(BSD-2-Clause OR Ruby)". No incluya comillas simples o comillas dobles.
    Si hay más de un lenguaje, enumérelos como valores separados por comas (los espacios son opcionales) y ordénelos de más a menos usado. Si hay una lista larga, por favor enumere al menos los tres primeros más comunes. Si no hay lenguaje (por ejemplo, este es un proyecto solo de documentación o solo de pruebas), use el carácter único "-". Por favor use una capitalización convencional para cada lenguaje, por ejemplo, "JavaScript".
    La Common Platform Enumeration (CPE) es un esquema de nomenclatura estructurado para sistemas de tecnología de la información, software y paquetes. Se utiliza en varios sistemas y bases de datos al reportar vulnerabilidades.

 Controles 18/19

  • Controles


    Cuando una tarea de CI/CD se ejecuta sin permisos especificados, el sistema de CI/CD DEBE establecer por defecto los permisos de la tarea a los permisos más bajos otorgados en el pipeline. [OSPS-AC-04.01]
    Configure las configuraciones del proyecto para asignar los permisos más bajos disponibles a nuevos pipelines por defecto, otorgando permisos adicionales solo cuando sea necesario para tareas específicas.

    The repository's GitHub Actions default workflow token permission is read-only (verified via API: gh api repos/Progressiverobot/hmailserver/actions/permissions/workflow returns default_workflow_permissions=read), so any CI/CD task with no permissions specified receives a read-only GITHUB_TOKEN — the lowest default. In addition, all 10 workflows on master declare an explicit top-level permissions block: nine are read-only or empty (contents: read; contents: read + actions: read; read-all; {}), and upstream-watch.yml adds issues: write at workflow level, needed by its single job to file upstream-tracking issues. Other write scopes are granted per job only where required: id-token: write and contents: write in sign-release.yml's signing job (keyless cosign signing and asset upload), security-events: write for CodeQL and Scorecard SARIF upload (Scorecard also id-token: write), contents: write in the SBOM job to attach release assets, and pull-requests: write in dependency-review. See https://github.com/Progressiverobot/hmailserver/tree/master/.github/workflows



    Cuando se crea un lanzamiento oficial, ese lanzamiento DEBE ser asignado un identificador de versión único. [OSPS-BR-02.01]
    Asigne un identificador de versión único a cada lanzamiento producido por el proyecto, siguiendo una convención de nomenclatura o esquema de numeración consistente. Los ejemplos incluyen SemVer, CalVer o ID de commit de git.

    Every release is assigned a unique SemVer-style tag: v6.2.2 through v6.2.21 for stable releases, with pre-releases distinguished by suffix (v6.2.22-pre1..pre6, v6.2.23-alpha1). 25+ releases enumerated via the GitHub API each carry a distinct tag_name, and an active 'Protect release tags' ruleset protects the tags after publication. See https://github.com/Progressiverobot/hmailserver/releases



    Cuando se crea un lanzamiento oficial, ese lanzamiento DEBE contener un registro descriptivo de modificaciones funcionales y de seguridad. [OSPS-BR-04.01]
    Asegúrese de que todos los lanzamientos incluyan un registro de cambios descriptivo. Se recomienda asegurar que el registro de cambios sea legible por humanos e incluya detalles más allá de los mensajes de commit, como descripciones del impacto de seguridad o relevancia para diferentes casos de uso. Para asegurar la legibilidad automática, coloque el contenido bajo un encabezado markdown como "## Changelog".

    Each GitHub Release carries thorough, human-written notes describing functional and security modifications. v6.2.21's body is ~11.8 KB; v6.2.23-alpha1's notes describe new features, breaking changes (database schema 6022->6025), security-relevant fixes (a path silently losing mail, a COM vtable compatibility break, an installer hang), and upgrade cautions with backup instructions. Release notes name CVEs where relevant (e.g. the CVE-2023-51764 SMTP-smuggling rule). The notes are not placed under a literal '## Changelog' header, which the criterion recommends but does not require. See https://github.com/Progressiverobot/hmailserver/releases



    Cuando un pipeline de construcción y lanzamiento ingiere dependencias, DEBE usar herramientas estandarizadas donde estén disponibles. [OSPS-BR-05.01]
    Use herramientas comunes para su ecosistema, como gestores de paquetes o herramientas de gestión de dependencias para ingerir dependencias en tiempo de construcción. Esto puede incluir usar un archivo de dependencias, archivo de bloqueo o manifiesto para especificar las dependencias requeridas, que luego son incorporadas por el sistema de construcción.

    .NET dependencies are ingested with standard tooling: CI runs 'dotnet restore' (NuGet) on ControlPanel.csproj and the Tools solution (ci.yml), and Dependabot manages the nuget and github-actions ecosystems weekly (.github/dependabot.yml); GitHub Actions are pinned by commit SHA. The native C++ dependencies (OpenSSL, Boost, libpq) have no ecosystem package manager in this project's MSVC flow — they are built from pinned source versions per documented steps under %hMailServerLibs% — and every binary committed to the tree is SHA-256-inventoried in hmailserver/docs/third-party-binaries.json, enforced by the verify-binary-provenance workflow. See https://github.com/Progressiverobot/hmailserver/blob/master/.github/dependabot.yml



    Cuando se crea un lanzamiento oficial, ese lanzamiento DEBE estar firmado o registrado en un manifiesto firmado que incluya los hashes criptográficos de cada activo. [OSPS-BR-06.01]
    Firme todos los activos de software lanzados en tiempo de construcción con una firma criptográfica o atestaciones, como firma GPG o PGP, firmas Sigstore, proveniencia SLSA, o VSAs SLSA. Incluya los hashes criptográficos de cada activo en un manifiesto firmado o archivo de metadatos.

    Since v6.2.19, every release asset is signed at release time with Sigstore cosign (keyless): sign-release.yml runs 'cosign sign-blob --bundle' over each release asset, verifies each bundle with 'cosign verify-blob' pinning the signing workflow identity before upload, and attaches a .cosign.bundle per asset. The latest stable release v6.2.21 and latest prerelease v6.2.23-alpha1 each ship the installer plus SPDX and CycloneDX SBOMs, each asset with its own .cosign.bundle. User-facing verification commands are documented in the workflow header. Releases prior to v6.2.19 predate the signing process and are unsigned. See https://github.com/Progressiverobot/hmailserver/blob/master/.github/workflows/sign-release.yml



    Cuando el proyecto ha realizado un lanzamiento, la documentación del proyecto DEBE incluir una descripción de cómo el proyecto selecciona, obtiene y rastrea sus dependencias. [OSPS-DO-06.01]
    Se recomienda publicar esta información junto con la documentación técnica y de diseño del proyecto en un recurso públicamente visible como el repositorio de código fuente, sitio web del proyecto u otro canal.

    Dependency handling is documented publicly: README's third-party libraries section explains how OpenSSL 4.0.x, Boost 1.91 and PostgreSQL 18 libpq are obtained and built at pinned versions under %hMailServerLibs%; .github/dependabot.yml states the tracking policy (NuGet and GitHub Actions updated weekly via Dependabot; native C++ libs tracked manually since Dependabot has no C++ ecosystem); and hmailserver/docs/ThirdPartyBinaries.md records, for each of the 40 committed binaries, what it is, where it came from, why it is present and whether it should be, with SHA-256s in third-party-binaries.json enforced by CI. SBOMs ship with each release. See https://github.com/Progressiverobot/hmailserver/blob/master/hmailserver/docs/ThirdPartyBinaries.md



    La documentación del proyecto DEBE incluir instrucciones sobre cómo compilar el software, incluyendo las bibliotecas, marcos, SDK y dependencias necesarias. [OSPS-DO-07.01]
    Se recomienda publicar esta información junto con la documentación para colaboradores del proyecto, por ejemplo en CONTRIBUTING.md u otra documentación de tareas para desarrolladores. También puede documentarse utilizando objetivos de Makefile u otros scripts de automatización.

    README.md has a contents-linked 'Building hMailServer' section covering prerequisites (Visual Studio 2026 / v145 toolset with the required workloads, Inno Setup 6, Perl, Python), step-by-step instructions for building the external libraries (OpenSSL via nmake, PostgreSQL libpq via meson, Boost via b2) under %hMailServerLibs%, and building the server, tools and installer via the build*.ps1 scripts or MSBuild, including a warning about build events on machines running a production instance. .github/CONTRIBUTING.md summarizes the same and points back to the README. See https://github.com/Progressiverobot/hmailserver/blob/master/README.md#building-hmailserver



    La documentación del proyecto DEBE incluir una lista de los miembros del proyecto que tienen acceso a recursos sensibles. [OSPS-GV-01.01]
    Documente los participantes del proyecto y sus roles a través de artefactos tales como members.md, governance.md, maintainers.md, o archivo similar dentro del repositorio de código fuente del proyecto. Esto puede ser tan simple como incluir nombres o identificadores de cuenta en una lista de mantenedores, o más complejo dependiendo de la gobernanza del proyecto.

    The project has exactly one member with access to sensitive resources, and he is documented by name and handle on master: README states the fork 'is maintained by Christopher Holloway / Progressive Robot Ltd'; .github/CODEOWNERS lists @chrisholloway5 as owner of every path, explicitly enumerating the sensitive ones (CI workflows, release/signing files, committed third-party binaries, TLS/crypto code); SECURITY.md states it is a single-maintainer project. PR #40's GOVERNANCE.md will restate this as a formal member list once merged. See https://github.com/Progressiverobot/hmailserver/blob/master/.github/CODEOWNERS



    La documentación del proyecto DEBE incluir descripciones de los roles y responsabilidades de los miembros del proyecto [OSPS-GV-01.02]
    Documente los participantes del proyecto y sus roles a través de artefactos tales como members.md, governance.md, maintainers.md, o archivo similar dentro del repositorio de código fuente del proyecto.

    GOVERNANCE.md documents the project roles and their responsibilities: the Maintainer role (accepting changes, releasing per RELEASE.md, security response per SECURITY.md, direction via Roadmap.md, custody of critical credentials), the Contributor role (expectations set by CONTRIBUTING.md), and the Reporter role (SUPPORT.md / SECURITY.md paths). Who currently holds each role is stated by name. See https://github.com/Progressiverobot/hmailserver/blob/master/GOVERNANCE.md



    La documentación del proyecto DEBE incluir una guía para colaboradores de código que incluya los requisitos para que las contribuciones sean aceptables. [OSPS-GV-03.02]
    Extienda el CONTRIBUTING.md o los contenidos de CONTRIBUTING/ en la documentación del proyecto para delinear los requisitos para contribuciones aceptables, incluyendo estándares de codificación, requisitos de pruebas y pautas de envío para contribuidores de código. Se recomienda que esta guía sea la fuente de verdad tanto para contribuidores como para aprobadores.

    .github/CONTRIBUTING.md on master sets requirements for acceptable contributions: coding standards (code must build warning-free under /WX; parameterised SQL exclusively, never manually built SQL strings; new optional server features follow the INI-settings pattern), testing requirements (all changes must keep the regression suite green; add or update regression tests for behavior changes), submission guidelines (branch from master, one logical change per PR), architectural guidance on the BO/Persistence/COM layering, and licensing terms (contributions licensed under AGPLv3). See https://github.com/Progressiverobot/hmailserver/blob/master/.github/CONTRIBUTING.md



    El sistema de control de versiones DEBE requerir que todos los colaboradores de código afirmen que están legalmente autorizados para realizar las contribuciones asociadas en cada confirmación (commit). [OSPS-LE-01.01]
    Incluya un DCO en el repositorio del proyecto, requiriendo que los contribuidores de código afirmen que están legalmente autorizados para confirmar las contribuciones asociadas en cada commit. Use una verificación de estado para asegurar que se haga la afirmación. Un CLA también satisface este requisito. Algunos sistemas de control de versiones, como GitHub, pueden incluir esto en los términos de servicio de la plataforma.

    There is no DCO status check or CLA. The repository is hosted on GitHub, and this criterion's guidance explicitly accepts the platform's terms of service: GitHub's Terms of Service (section D) require every user, on every contribution, to represent that they have the right to post the content, and license inbound contributions under the repository's license. All contributions arrive through GitHub (a sole maintainer plus Dependabot). CONTRIBUTING.md additionally states 'By contributing you agree that your contributions are licensed under the AGPLv3'. See https://github.com/Progressiverobot/hmailserver/blob/master/.github/CONTRIBUTING.md



    Cuando se realiza un commit a la rama principal, cualquier verificación de estado automatizada para commits DEBE pasar o ser omitida manualmente. [OSPS-QA-03.01]
    Configure el sistema de control de versiones del proyecto para requerir que todas las verificaciones de estado automatizadas pasen o requieran reconocimiento manual antes de que un commit pueda fusionarse en la rama principal. Se recomienda que cualquier verificación de estado opcional NO esté configurada como un requisito de pasar o fallar que los aprobadores puedan estar tentados a omitir.

    master has no branch protection (GitHub API returns 404 'Branch not protected') and no branch ruleset applies to it (rules/branches/master returns an empty list; the only active ruleset protects release tags). CI, CodeQL and dependency-review workflows run on pushes and PRs, but nothing requires their status checks to pass before a commit lands: the sole maintainer pushes directly to master as the normal workflow, so a failing check cannot block a change. Adding required status checks on master would close this gap. See https://github.com/Progressiverobot/hmailserver/blob/master/.github/workflows/ci.yml



    Antes de que se acepte un commit, los pipelines de CI/CD del proyecto DEBEN ejecutar al menos un conjunto de pruebas automatizado para asegurar que los cambios cumplan las expectativas. [OSPS-QA-06.01]
    Las pruebas automatizadas deben ejecutarse antes de cada fusión en la rama principal. El conjunto de pruebas debe ejecutarse en un pipeline de CI/CD y los resultados deben ser visibles para todos los contribuidores. El conjunto de pruebas debe ejecutarse en un entorno consistente y debe ejecutarse de manera que permita a los contribuidores ejecutar las pruebas localmente. Ejemplos de conjuntos de pruebas incluyen pruebas unitarias, pruebas de integración y pruebas de extremo a extremo.

    The CI workflow (.github/workflows/ci.yml) triggers on every push and pull request to master and runs an automated test suite: 'dotnet test' on ControlPanel.Tests with cobertura coverage, plus a generated-code drift check and -warnaserror builds. Results are publicly visible in the Actions tab, and contributors can run the same tests locally (dotnet test; build/build-tests.ps1 and build/run-tests.ps1 are documented in CONTRIBUTING.md). Pull requests are tested before merge; every commit reaching master is tested by the same pipeline. See https://github.com/Progressiverobot/hmailserver/blob/master/.github/workflows/ci.yml



    Cuando el proyecto ha realizado un lanzamiento, la documentación del proyecto DEBE incluir documentación de diseño que demuestre todas las acciones y actores dentro del sistema. [OSPS-SA-01.01]
    Incluya diseños en la documentación del proyecto que expliquen las acciones y los actores. Los actores incluyen cualquier subsistema o entidad que pueda influir en otro segmento del sistema. Asegúrese de que esto se actualice para nuevas características o cambios importantes.

    ARCHITECTURE.md at the repo root is a maintained 218-line design document describing the system's components and how they interact: the C++ server modules (SMTP/IMAP/POP3, delivery queue, anti-spam/anti-virus, persistence layering BO->Persistence->SQL with caches over four database backends), the COM/IDispatch API as the management seam used by the Control Panel, the test suite and third-party scripts, the optional listeners (REST, metrics, web services, ManageSieve) with their threading and TLS behavior, the scheduler, and external actors such as ClamAV, SpamAssassin, DNS and the databases. It records interaction constraints and is kept current. See https://github.com/Progressiverobot/hmailserver/blob/master/ARCHITECTURE.md



    Cuando el proyecto haya realizado un lanzamiento, la documentación del proyecto DEBE incluir descripciones de todas las interfaces de software externas de los activos de software liberados. [OSPS-SA-02.01]
    Documente todas las interfaces de software (APIs) de los activos de software liberados, explicando cómo los usuarios pueden interactuar con el software y qué datos se esperan o se producen. Asegúrese de que esto se actualice para nuevas funcionalidades o cambios incompatibles.

    README.md documents all external interfaces of the released software: SMTP, IMAP and POP3 with per-extension RFC citations; SASL mechanisms (SCRAM-SHA-256/-PLUS); Sieve plus the ManageSieve (RFC 5804) listener with its command set; the REST administration API with its complete endpoint list (/api/v1/status, domains, accounts, queue, apikeys, tlsa) and authentication model (administrator password or scoped API keys); the Prometheus /metrics endpoint with metric names and the /livez, /readyz, /healthz probes; OTLP trace/metrics/logs endpoints; the COM/IDispatch API; and the hMailServer.ini configuration surface. ARCHITECTURE.md describes the COM API's role as the management seam. See https://github.com/Progressiverobot/hmailserver/blob/master/README.md



    Cuando el proyecto haya realizado un lanzamiento, el proyecto DEBE realizar una evaluación de seguridad para comprender los problemas de seguridad potenciales más probables e impactantes que podrían ocurrir dentro del software. [OSPS-SA-03.01]
    Realizar una evaluación de seguridad informa tanto a los miembros del proyecto como a los consumidores posteriores que el proyecto comprende qué problemas podrían surgir dentro del software. Comprender qué amenazas podrían materializarse ayuda al proyecto a gestionar y abordar el riesgo. Esta información es útil para los consumidores posteriores para demostrar la competencia y prácticas de seguridad del proyecto. Asegúrese de que esto se actualice para nuevas funcionalidades o cambios incompatibles.

    ASSURANCE-CASE.md is the project's documented security assessment: a threat model with actors and principal attack surfaces, trust boundaries B1-B6, security claims C1-C7 argued with evidence, CWE-mapped analysis of how common implementation weaknesses are countered, and a residual-risk list. It is supported by continuous tooling on master: CodeQL on every push and pull request, OpenSSF Scorecard, and a libFuzzer harness suite under fuzz/. See https://github.com/Progressiverobot/hmailserver/blob/master/ASSURANCE-CASE.md



    La documentación del proyecto DEBE incluir una política de divulgación coordinada de vulnerabilidades (CVD), con un plazo claro de respuesta. [OSPS-VM-01.01]
    Cree un archivo SECURITY.md en la raíz del directorio, describiendo la política del proyecto para la divulgación coordinada de vulnerabilidades. Incluya un método para reportar vulnerabilidades. Establezca expectativas sobre cómo el proyecto responderá y abordará los problemas reportados.

    SECURITY.md (in .github/, shown on the repo's Security tab) is a full coordinated vulnerability disclosure policy with explicit timeframes: acknowledgement within 5 working days, initial assessment (reproduction or request for more information) within 10 working days, and a fix for a confirmed vulnerability within 90 days of acknowledgement. It commits to coordinated disclosure on a 90-day timetable (advisory published when the fix ships or at 90 days, whichever is first), asks reporters to flag earlier disclosure intentions, states the credit policy, and defines in-scope and out-of-scope report classes. Verified on master. See https://github.com/Progressiverobot/hmailserver/blob/master/.github/SECURITY.md



    La documentación del proyecto DEBE proporcionar un medio para reportar vulnerabilidades de forma privada directamente a los contactos de seguridad del proyecto. [OSPS-VM-03.01]
    Proporcione un medio para que los investigadores de seguridad reporten vulnerabilidades de forma privada al proyecto. Esto puede ser una dirección de correo electrónico dedicada, un formulario web, herramientas especializadas del VCS, direcciones de correo electrónico para contactos de seguridad, u otros métodos.

    Private vulnerability reporting is enabled on the repository (verified via the GitHub API), and SECURITY.md directs reporters to the private channel with a direct link to https://github.com/Progressiverobot/hmailserver/security/advisories/new, explicitly instructs against public issues, discussions, PRs or forum posts for security problems, and provides a fallback: a reporter who cannot use GitHub Security Advisories may open an issue containing no technical detail asking for a private channel, and the maintainer will open an advisory and invite them. Reports go directly to the maintainer, who is the security contact. See https://github.com/Progressiverobot/hmailserver/blob/master/.github/SECURITY.md



    La documentación del proyecto DEBE publicar públicamente los datos sobre las vulnerabilidades descubiertas. [OSPS-VM-04.01]
    Proporcione información sobre vulnerabilidades conocidas en un canal público predecible, como una entrada CVE, publicación de blog u otro medio. En la medida de lo posible, esta información debe incluir la(s) versión(es) afectada(s), cómo un consumidor puede determinar si es vulnerable, e instrucciones para la mitigación o remediación.

    The project publishes vulnerability data through GitHub Security Advisories and release notes. SECURITY.md commits that once a fix is available it ships as a new build and the advisory is published with a CVE requested through GitHub, on a 90-day coordinated-disclosure timetable. To date no vulnerability has been discovered in this fork, so the public advisory list is empty (verified via the GitHub API: zero published advisories, none withheld); where upstream CVEs are relevant the release notes name them explicitly (e.g. CVE-2023-51764 SMTP smuggling, whose mitigation is enforced and pinned by a regression test). See https://github.com/Progressiverobot/hmailserver/blob/master/.github/SECURITY.md



Puede utilizar herramientas y sistemas de IA para proponer cambios a través de una URL simple, como https://www.bestpractices.dev/es/projects/14187/choose/edit?osps_ac_01_01_status=Met&osps_ac_01_01_justification=GitHub+enforced. Consulte nuestro sistema de propuestas de automatización para saber cómo hacerlo. Estos datos están disponibles bajo el Acuerdo de Licencia de Datos de la Comunidad – Permisivo, Versión 2.0 (CDLA-Permissive-2.0). Esto significa que un Destinatario de Datos puede compartir los Datos, con o sin modificaciones, siempre que el Destinatario de Datos ponga a disposición el texto de este acuerdo con los Datos compartidos. Por favor, acredite a Progressive Robot y a los colaboradores de la insignia de Mejores Prácticas de OpenSSF.

Entrada de insignia del proyecto propiedad de: Progressive Robot.
Entrada creada el 2026-08-21 05:37:27 UTC, última actualización el 2026-09-12 02:50:23 UTC. Última obtención de la insignia de nivel básico el 2026-08-21 17:17:16 UTC.