◈ ArtifactScan ← Projects / softwarecerthub · 2026-08-19
97%
67 /70 Passed
2 /70 Warnings
0 /70 Failures
0 /70 Skipped
1 /70 Info
7/7 passed
  • README file found: README.md
  • LICENSE file found: LICENSE
  • NOTICE file found: NOTICE
  • COPYRIGHT file found: COPYRIGHT
  • AUTHORS file found: AUTHORS
  • CHANGELOG file found: CHANGELOG.md
  • CONTRIBUTING file found: CONTRIBUTING.md
Generated by ArtifactScan · https://gitlab.software.geant.org/software-licensing/softwarecerthub
Raw JSON ⬇ CSV ⬇ JSON
{
  "repo_url": "https://gitlab.software.geant.org/software-licensing/softwarecerthub",
  "problems": [
    {
      "code": "ARTEFACT_README_MISSING",
      "severity": "PASS",
      "message": "README file found: README.md",
      "file_path": null,
      "line_number": null,
      "priority": 1,
      "details": {
        "files": [
          "README.md"
        ]
      }
    },
    {
      "code": "ARTEFACT_LICENSE_MISSING",
      "severity": "PASS",
      "message": "LICENSE file found: LICENSE",
      "file_path": null,
      "line_number": null,
      "priority": 1,
      "details": {
        "files": [
          "LICENSE"
        ]
      }
    },
    {
      "code": "ARTEFACT_NOTICE_MISSING",
      "severity": "PASS",
      "message": "NOTICE file found: NOTICE",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {
        "files": [
          "NOTICE"
        ]
      }
    },
    {
      "code": "ARTEFACT_COPYRIGHT_MISSING",
      "severity": "PASS",
      "message": "COPYRIGHT file found: COPYRIGHT",
      "file_path": null,
      "line_number": null,
      "priority": 2,
      "details": {
        "files": [
          "COPYRIGHT"
        ]
      }
    },
    {
      "code": "ARTEFACT_AUTHORS_MISSING",
      "severity": "PASS",
      "message": "AUTHORS file found: AUTHORS",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {
        "files": [
          "AUTHORS"
        ]
      }
    },
    {
      "code": "ARTEFACT_CHANGELOG_MISSING",
      "severity": "PASS",
      "message": "CHANGELOG file found: CHANGELOG.md",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {
        "files": [
          "CHANGELOG.md"
        ]
      }
    },
    {
      "code": "ARTEFACT_CONTRIBUTING_MISSING",
      "severity": "PASS",
      "message": "CONTRIBUTING file found: CONTRIBUTING.md",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {
        "files": [
          "CONTRIBUTING.md"
        ]
      }
    },
    {
      "code": "BINARY_FILE_DETECTED",
      "severity": "PASS",
      "message": "No binary files detected",
      "file_path": null,
      "line_number": null,
      "priority": 1,
      "details": {}
    },
    {
      "code": "LARGE_FILE_DETECTED",
      "severity": "PASS",
      "message": "No large files detected (>= 10485760 bytes)",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_PROJECT_NAME_MISSING",
      "severity": "PASS",
      "message": "Project name detected in README",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_COPYRIGHT_MISSING",
      "severity": "PASS",
      "message": "Copyright statement detected in README",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_STATUS_MISSING",
      "severity": "PASS",
      "message": "Project status/lifecycle detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_TAGS_MISSING",
      "severity": "PASS",
      "message": "Tags/keywords detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_VERSION_MISSING",
      "severity": "PASS",
      "message": "Version indication detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_LICENSE_ONELINER_MISSING",
      "severity": "PASS",
      "message": "Licence one-liner with link detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_DESCRIPTION_MISSING",
      "severity": "PASS",
      "message": "Description/overview detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_FEATURES_MISSING",
      "severity": "PASS",
      "message": "Features section detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_SCOPE_MISSING",
      "severity": "PASS",
      "message": "Scope/use-case signals detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_COMPATIBILITY_MISSING",
      "severity": "PASS",
      "message": "Compatibility signals detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_STRUCTURE_MISSING",
      "severity": "PASS",
      "message": "Structure signals detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_REQUIREMENTS_MISSING",
      "severity": "PASS",
      "message": "Requirements detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_INSTALLATION_MISSING",
      "severity": "PASS",
      "message": "Installation signals detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_USAGE_MISSING",
      "severity": "PASS",
      "message": "Usage + code blocks detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_DOCUMENTATION_MISSING",
      "severity": "PASS",
      "message": "Documentation signals detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_VERSION_CONTROL_MISSING",
      "severity": "PASS",
      "message": "Branch/tag wording detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_TROUBLESHOOTING_MISSING",
      "severity": "PASS",
      "message": "Troubleshooting/FAQ detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_SUPPORT_INFO_MISSING",
      "severity": "PASS",
      "message": "Support/contact wording detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_PRIVACY_MISSING",
      "severity": "PASS",
      "message": "Privacy wording detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_ROADMAP_MISSING",
      "severity": "PASS",
      "message": "Roadmap detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_AUTHORS_MISSING",
      "severity": "PASS",
      "message": "Authors mentioned",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_CONTRIBUTING_MISSING",
      "severity": "PASS",
      "message": "Contributing detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_FUNDING_MISSING",
      "severity": "PASS",
      "message": "Funding wording detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_ACKNOWLEDGEMENTS_MISSING",
      "severity": "PASS",
      "message": "Acknowledgements detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_DEPENDENCIES_MISSING",
      "severity": "PASS",
      "message": "README has dependencies/requirements section",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_TOOLS_MISSING",
      "severity": "PASS",
      "message": "Tools indicators detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_LICENSE_PARAGRAPH_MISSING",
      "severity": "PASS",
      "message": "Licence section detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_COPYRIGHT_DETAILS_MISSING",
      "severity": "PASS",
      "message": "COPYRIGHT reference detected",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_BROKEN_LINKS",
      "severity": "PASS",
      "message": "All README local links are valid",
      "file_path": null,
      "line_number": null,
      "priority": 2,
      "details": {}
    },
    {
      "code": "LICENSE_FILE_TOO_SHORT",
      "severity": "PASS",
      "message": "LICENSE file has adequate length (11357 characters)",
      "file_path": null,
      "line_number": null,
      "priority": 2,
      "details": {
        "char_count": 11357
      }
    },
    {
      "code": "LICENSE_TYPE_UNKNOWN",
      "severity": "PASS",
      "message": "ScanCode detected licenses: APACHE-2.0, BSD-3-CLAUSE, GPL-3.0, MIT",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {
        "licenses": [
          "GPL-3.0",
          "BSD-3-CLAUSE",
          "MIT",
          "APACHE-2.0"
        ],
        "main_license": "MIT",
        "license_distribution": {
          "APACHE-2.0": 5,
          "MIT": 7,
          "BSD-3-CLAUSE": 2,
          "GPL-3.0": 2
        }
      }
    },
    {
      "code": "LICENSE_MISMATCH_DETECTED",
      "severity": "WARN",
      "message": "LICENSE file declares APACHE-2.0 but ScanCode detected MIT as main license",
      "file_path": "LICENSE",
      "line_number": null,
      "priority": 1,
      "details": {
        "declared": [
          "APACHE-2.0"
        ],
        "detected_main": "MIT",
        "all_detected": [
          "GPL-3.0",
          "BSD-3-CLAUSE",
          "MIT",
          "APACHE-2.0"
        ]
      }
    },
    {
      "code": "LICENSE_UNDECLARED_FOUND",
      "severity": "WARN",
      "message": "Licenses found in code but not declared in LICENSE: BSD-3-CLAUSE, GPL-3.0, MIT",
      "file_path": "LICENSE",
      "line_number": null,
      "priority": 2,
      "details": {
        "undeclared_licenses": [
          "GPL-3.0",
          "BSD-3-CLAUSE",
          "MIT"
        ],
        "hint": "These may be from third-party dependencies"
      }
    },
    {
      "code": "COPYRIGHT_STATEMENT_MISSING",
      "severity": "PASS",
      "message": "Copyright statement with year detected",
      "file_path": "COPYRIGHT",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "COPYRIGHT_GEANT_MISSING",
      "severity": "PASS",
      "message": "G\u00c9ANT copyright mention detected",
      "file_path": "COPYRIGHT",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "COPYRIGHT_STATEMENTS_COUNT",
      "severity": "PASS",
      "message": "Found 2 copyright statement(s)",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {
        "count": 2
      }
    },
    {
      "code": "COPYRIGHT_EU_LOGO_MISSING",
      "severity": "PASS",
      "message": "EU logo file detected: eu-logo.png",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {
        "logo_files": [
          "eu-logo.png"
        ]
      }
    },
    {
      "code": "AUTHORS_PROJECT_NAME_MISSING",
      "severity": "PASS",
      "message": "Project name detected in AUTHORS",
      "file_path": "AUTHORS",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "AUTHORS_GEANT_PHASE_MISSING",
      "severity": "PASS",
      "message": "G\u00c9ANT phase/WP detected",
      "file_path": "AUTHORS",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "AUTHORS_CONTACTS_MISSING",
      "severity": "PASS",
      "message": "Found 1 email(s), 20 non-empty lines",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {
        "email_count": 1,
        "name_lines": 20
      }
    },
    {
      "code": "AUTHORS_CONTRIBUTORS_MISSING",
      "severity": "PASS",
      "message": "Contributors section detected",
      "file_path": "AUTHORS",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "AUTHORS_FUNDING_MISSING",
      "severity": "PASS",
      "message": "Funding info detected",
      "file_path": "AUTHORS",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_PROJECT_NAME_MISSING",
      "severity": "PASS",
      "message": "Project name detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_COPYRIGHT_MISSING",
      "severity": "PASS",
      "message": "Copyright with year detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_LICENSE_MISSING",
      "severity": "PASS",
      "message": "Licence declaration detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_AUTHORS_MISSING",
      "severity": "PASS",
      "message": "Authors reference detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_THIRD_PARTY_MISSING",
      "severity": "PASS",
      "message": "Third-party section detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_TOOLS_MISSING",
      "severity": "PASS",
      "message": "Tools mention detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_TRADEMARK_MISSING",
      "severity": "PASS",
      "message": "Trademark wording detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_PATENTS_MISSING",
      "severity": "PASS",
      "message": "Patent wording detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_ACKNOWLEDGEMENTS_MISSING",
      "severity": "PASS",
      "message": "Acknowledgements detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "NOTICE_PRIOR_NOTICES_MISSING",
      "severity": "PASS",
      "message": "Prior-notice wording detected in NOTICE",
      "file_path": "NOTICE",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "CHANGELOG_PROJECT_NAME_MISSING",
      "severity": "PASS",
      "message": "Project name detected in CHANGELOG",
      "file_path": "CHANGELOG.md",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "CHANGELOG_NOT_CHRONOLOGICAL",
      "severity": "PASS",
      "message": "Version entries detected in CHANGELOG",
      "file_path": "CHANGELOG.md",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "CHANGELOG_VERSION_DATE_MISSING",
      "severity": "PASS",
      "message": "Version + date pattern detected in CHANGELOG",
      "file_path": "CHANGELOG.md",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "CHANGELOG_ADDED_MISSING",
      "severity": "PASS",
      "message": "Added section detected in CHANGELOG",
      "file_path": "CHANGELOG.md",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "CHANGELOG_CHANGED_MISSING",
      "severity": "PASS",
      "message": "Changed section detected in CHANGELOG",
      "file_path": "CHANGELOG.md",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "CHANGELOG_DEPRECATED_MISSING",
      "severity": "PASS",
      "message": "Deprecated section detected in CHANGELOG",
      "file_path": "CHANGELOG.md",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "CHANGELOG_REMOVED_MISSING",
      "severity": "PASS",
      "message": "Removed section detected in CHANGELOG",
      "file_path": "CHANGELOG.md",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "CHANGELOG_FIXED_MISSING",
      "severity": "PASS",
      "message": "Fixed section detected in CHANGELOG",
      "file_path": "CHANGELOG.md",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "CHANGELOG_SECURITY_MISSING",
      "severity": "PASS",
      "message": "Security section detected in CHANGELOG",
      "file_path": "CHANGELOG.md",
      "line_number": null,
      "priority": 3,
      "details": {}
    },
    {
      "code": "README_DEPENDENCIES_MISSING",
      "severity": "INFO",
      "message": "DependencyParser found no dependencies in README/NOTICE sections",
      "file_path": null,
      "line_number": null,
      "priority": 3,
      "details": {}
    }
  ],
  "summary": {
    "total": 71,
    "pass": 68,
    "info": 1,
    "warn": 2,
    "fail": 0,
    "skip": 0
  }
}