Skip to main content

AppLedger honest check

Honest security feedback, in plain language, for apps people build with AI tools such as Claude Code, Codex, Cursor and Lovable.

AppLedger checks your app folder with independent scanners and explains what they find in everyday words: what is wrong, why it matters, and what to do. It also writes a fix request you can hand straight to the AI tool that built the app, then checks again.

What it checks

Scanner Finds
Trivy Leaked passwords and keys, outdated libraries with known security problems, risky container setup
Opengrep Dangerous code patterns: SQL injection, command injection, unsafe data loading, debug mode left on
SonarQube (optional, local mode) Code quality and more security hotspots, if you already run a SonarQube server

Each run produces, in <your-app>/.appledger/:

  • report.html: a score, who may use the app right now (only you, your team, the whole company), and every problem in plain words
  • fix-prompt.md: a ready-made fix request for your coding agent
  • findings.json: the same findings for tools and dashboards

AI effort behind the app

Every check also reports how many AI tokens went into the app and what they would cost at API list prices. It reads the coding agents' own logs on your computer (Claude Code in ~/.claude/projects, Codex in ~/.codex/sessions), counts sessions that ran in the app's folder, and prices each reply by model, including cache reads and writes. These logs never leave your computer. On a flat-rate plan (Claude Pro, Max or Team) you pay your plan price instead, so the figure shows the work's value at API rates.

python -m appledger path/to/your-app --ai-cost

Codex support follows Codex's documented log format and hasn't been tested against real Codex logs yet.

Two ways to run

Mode What you install Where your code goes
Hosted (default) Only this package Source files are zipped, sent over HTTPS to the AppLedger service, scanned and deleted right after
Local (--local or APPLEDGER_MODE=local) Also Trivy, Opengrep and the Opengrep rules Nowhere: everything runs on your computer

Use it

pip install appledger
python -m appledger path/to/your-app

Add it to Claude Code as an MCP server:

claude mcp add appledger -- uvx --from appledger appledger-mcp

Then ask: "Is my app safe to share?" Or install the full plugin with the guided skill from plugin/.

Local mode setup

  1. Trivy: winget install AquaSecurity.Trivy (Windows) or brew install trivy (Mac)
  2. Opengrep: download from the releases page and put it on your PATH
  3. Rules: git clone --depth 1 https://github.com/opengrep/opengrep-rules.git ~/.appledger/opengrep-rules
  4. Check: python -m appledger --doctor

Repository layout

Path What
src/appledger/scanner.py Scanners, plain-language translation, report and fix request
src/appledger/client.py Sends a project to the hosted service
src/appledger/service.py Server side: unpacks an upload safely and scans it
src/appledger/server.py Local MCP server used by the plugin
plugin/ Claude Code / Codex plugin with the check-my-app skill
tests/mcp_smoke.py Calls every MCP tool like an agent would

License

MIT. The Opengrep community rules used by the scanner have their own license (Commons Clause); check it before using them in a paid service.

Metadata

Release files for appledger 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for appledger 0.1.0
File Size Uploaded
appledger-0.1.0.tar.gz 26.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for appledger 0.1.0
File Interpreter ABI Platform
appledger-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 55.2 kB

Release files / appledger-0.1.0.tar.gz

Download URL appledger-0.1.0.tar.gz
Size 26.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d622ea7fe81f01bfcdbbdbaef9fdec3389f663c667b9a9c57973abc577ff5542
BLAKE2b-256 checksum
How to use checksums
d7d5d5fde9232e82b388c4e3bbd48e463b87b0e0a53e1b84031a658c94a97f8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release files / appledger-0.1.0-py3-none-any.whl

Download URL appledger-0.1.0-py3-none-any.whl
Size 28.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ff5304fe91604e30d5a20d413791c000681a86910f2f1c321c9e8f73d16f72ac
BLAKE2b-256 checksum
How to use checksums
9b83d0f4bc972e70e5d0a5b85b978b8b47a83cb13a545ef2fe512b18fe5e578a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page