Your repository
stays yours.
This page describes what the software actually does — not what a policy wishes it did. Where a claim appears here, you can verify it in the source code.
Last updated: September 2026 · Commit Canvas v2.1
The short version
There is no Commit Canvas server, database, or account system. The CLI reads your repository locally and writes one HTML file to your disk. The website's analyzer runs in your browser and talks only to GitHub's public API. Generated story files contain your commit metadata — sharing them is your choice.
What is processed locally
- The CLI (
./run.sh/python -m cc) runsgit logagainst a repository on your machine. Author names, commit dates, commit messages, file paths and line-change counts are read into memory, analyzed, and written into a single HTML file in your working directory. - Nothing is transmitted. The Python package makes no network calls — it imports no networking library at all.
- The generated
story.htmlalso makes zero network requests: all styles, scripts and data are inline. You can verify this by opening it with your network tab visible, or on a plane.
What is sent remotely (web version only)
- When you paste a public GitHub URL on the home page, your browser calls
api.github.comto fetch that repository's public commits, tags and releases. This uses GitHub's anonymous rate limit (60 requests/hour per IP). - That traffic goes from your browser to GitHub — never to us, because there is no "us" endpoint. This site is static hosting (GitHub Pages) with no backend, no logs of its own, and no analytics.
- Private repositories cannot be analyzed in the browser version. Use the CLI — it works offline for any repository you have on disk.
What is stored
- By the tool: nothing. There is no database. The CLI writes one file where you tell it to; the web version keeps everything in the page's memory until you download or close it.
- In a generated story file: commit metadata — author names, dates, commit messages, file counts, and language totals. No file contents, no email addresses, no remote URLs. If you publish a story file, you are publishing that metadata; review it first, the same way you'd review any post.
Cookies and tracking
None. No cookies, no analytics scripts, no fingerprinting, no third-party embeds. The site loads no external fonts, CDNs, or trackers.
Third-party services
- GitHub REST API (web version only) — called directly by your browser for public repository data, subject to GitHub's own policies.
- GitHub Pages — static hosting for this website.
- That's the entire list.
Security notes
- The CLI runs
gitin read-only modes (log,for-each-ref); it does not create, push, or delete anything. - Story files embed repository data as JSON inside a script tag. Commit messages are escaped so they cannot break out of the data context — this is covered by automated tests.
- If you find a security issue, please see SECURITY.md.
Questions
Open an issue on GitHub. Privacy questions about GitHub's API belong to GitHub; questions about what Commit Canvas does with your data can always be answered from the source.