Skip to content
CAI
Software that uses CAICheck a score

processone/stun

53.1

Adequate · 2 October 2026

3.3k

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a STUN/TURN protocol library for Erlang/OTP that provides full TURN support alongside STUN functionality. It manages network connections through a dedicated listener and acceptor architecture, handling protocol definitions and data exchange according to RFC standards. The implementation relies on modern Erlang patterns and integrates with the OTP logging system for operational visibility.

Behavioural changes

STUN/TURN library restructured with new listener architecture and TURN support

The library has been upgraded to version 1.2.23 and now includes full TURN (RFC 5766) support alongside STUN. The internal architecture has been refactored to use a new \stun\_listener\ and \stun\_acceptor\ system for managing connections, replacing the previous direct supervisor model. The application now depends on \fast\_tls\ and \p1\_utils\, and the license has been changed to Apache 2.0. Logging has been updated to use the modern OTP logger with metadata filtering where available, and the codebase has been modernized to use maps instead of proplists/dicts and \p1\_fsm\ instead of \gen\_fsm\.

src · high confidence

STUN/TURN protocol definitions updated to support RFC 6156 and modern logging

The STUN/TURN include files have been updated to align with RFC 6156 (TURN Extension for IPv6) and modern Erlang/OTP standards. The \stun.hrl\ file now defines additional STUN methods (such as Allocate, Refresh, Send, Data, Create Permission, and Channel Bind) and attributes (including Channel Number, Lifetime, XOR Peer/Relayed Address, Requested Address Family, Even Port, Requested Transport, Dont Fragment, and Reservation Token) required for full TURN support. The STUN magic number and bit-manipulation macros have been updated to use hexadecimal literals for clarity and correctness. A new \stun\_logger.hrl\ file has been added to wrap the OTP Logger, allowing STUN/TURN components to use the standard logging API while maintaining backward compatibility with older logger implementations via the \USE\_OLD\_LOGGER\ flag.

include · high confidence

Dependencies

Update Fast TLS and p1\_utils dependencies

The project now depends on Fast TLS version 1.1.26 and p1\_utils version 1.0.29, replacing the previous versions. This update ensures compatibility with the latest features and fixes in these underlying libraries.

(repo-wide) · 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

Score

  • CAI 48 → 53 (+5.4)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 93 → 93 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 35 → 37 (+1.6)
  • Readiness 41 → 59 (+17.9)
  • Security 61 → 61 (+0.0)

Resolved (5)

  • Documentation: no usage examples (README.md)
  • No automated tests
  • No tests found
  • Off-boarding risk: anonymized user #1
  • Test reliability not included

New (3)

  • Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
  • No dependency lockfile committed (rebar.config)
  • Off-boarding risk: anonymized user #1

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

Survey your own repository

processone/stun 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 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 85ea195bb456b90f1a0bb468b6f884c6755d92c6 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.