Skip to content

Security: kylebegeman/ledger

Security

SECURITY.md

Security

Please do not open public issues for security-sensitive reports. Use the private GitHub security advisory form.

Send a private report to the repository owner with:

  • affected version or commit
  • reproduction steps
  • impact
  • any suggested mitigation

Ledger source records can include project paths, internal notes, and release history. Do not commit secrets, credentials, private keys, production data, or private customer information to Ledger records.

ledger serve treats rendered Ledger content as sensitive. It binds to loopback by default, rejects non-loopback binding unless --expose is present, and requires LEDGER_SERVE_TOKEN in network mode. Network exposure should sit behind TLS. Generated static files carry a restrictive CSP meta policy, but a third-party static host remains responsible for transport security and response headers.

Use ledger render --profile public when preparing an externally hosted reader, or ledger serve --profile public to preview that isolated output locally. This profile only selects released release records and strips internal source, paths, relationships, validation findings, invariants, and verification details. It is a data-minimization control, not an access-control layer. Review the explicit Public Notes content before publication.

Supported releases require maintained Node.js LTS lines. CI tests Node 22 and Node 24 on Linux, macOS, and Windows, audits production dependencies, and installs the packed artifact before release. GitHub Actions are pinned to exact commits and updated through Dependabot.

There aren't any published security advisories