Skip to content
CAI
Software that uses CAICheck a score

Pevensie/jargon

57.7

Adequate · 17 September 2026

166

lines of production code

Erlang

with C

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

Jargon is an Erlang library that provides Argon2 password hashing and verification capabilities. It implements these functions using Native Implemented Functions (NIFs) to interface with a C-based Argon2 implementation, supporting multiple algorithm variants and configurable security parameters. The system is designed for cross-platform compatibility, including support for Windows, Linux, macOS, and FreeBSD.

Features

Initial release of Jargon Argon2 password hashing library

This change introduces the Jargon library for Erlang, providing modern Argon2 password hashing capabilities. The \jargon\ module exposes \hash/7\ and \verify/2\ functions, allowing users to hash passwords with configurable time, memory, and parallelism costs using Argon2d, Argon2i, or Argon2id algorithms, and to verify passwords against existing hashes. The library is implemented via NIFs (Native Implemented Functions) loading a C-based Argon2 implementation, and includes comprehensive error handling that maps internal C error codes to Erlang atoms for debugging.

src · high confidence

Initial release of Jargon with Windows support

This entry introduces the Jargon library, a modern Argon2 password hashing implementation for Erlang. The release includes full build configuration via rebar3 and a Makefile, enabling compilation on Linux, macOS, FreeBSD, and Windows (via MSYS2). The library exposes functions for hashing and verifying passwords, with platform-specific native artifacts (DLL on Windows, SO on Unix) generated during the build process.

(repo-wide) · high confidence

Initial support for Windows builds via Makefile and NIF implementation

This change introduces the initial C source files required to build the Jargon NIF library, specifically adding a Makefile and the \jargon.c\ implementation. The Makefile now detects Windows environments (MSYS2) and configures the compiler and path conversions accordingly, enabling the library to be built on Windows in addition to Linux, macOS, and FreeBSD. The \jargon.c\ file implements the Erlang NIF functions \hash\_nif\ and \verify\_nif\ which interface with the Argon2 library to provide password hashing and verification capabilities.

_c\src · high confidence

Test coverage

Added unit tests for the jargon password hashing module

Added a new test suite (jargon\_tests) that verifies the jargon module's ability to hash and verify passwords using argon2d, argon2i, and argon2id algorithms, as well as tests for error handling with invalid algorithms and insufficient salt lengths.

test · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 58.

Lenses

  • Code Health 80
  • Architecture 69
  • Maturity 53
  • Readiness 55
  • Security 67

Changes since last survey

  • 33 commits — 25 feature/other, 8 fixes

By area

  • (root) — 16 commits
  • .github/workflows — 7 commits
  • src/jargon.app.src — 3 commits
  • (repo) — 2 commits
  • c_src/Makefile — 2 commits
  • c_src/jargon.c — 2 commits
  • src/jargon.erl — 1 commit

Notable commits

  • fix: Actually fix Windows PATH on test workflow
  • fix: Fix Erlang library paths on windows
  • fix: Fix Windows PATH in test workflow
  • fix: Fix Windows path on test workflow
  • fix: Fix compilation warnings
  • fix: Fixed test workflow
  • fix: ci fix
  • fix: fix changelog 🤦‍♂️
  • change: Add Windows support note to README
  • change: Added OS to job title
  • change: Added support for windows
  • change: Added workflow for testing on macos and windows
  • change: Explain how to compile
  • change: Initial commit
  • change: Merge pull request #1 from Pevensie/create_nif
  • change: Merge pull request #2 from lpil/patch-1
  • change: Update Windows compilation instructions in README
  • change: Use correct command to convert paths on Windows
  • change: add .DS_Store to gitignore
  • change: add changelog
  • …and 13 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

Pevensie/jargon was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 17 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 55ac3496b633ecd3a2f7d1a9febfa5878fbfebd9 — the exact code this score is about.
  • Scored under rubric-2026.09.13 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-d1ef6c0bd534.