Minerva touches only official, public APIs (see data-sources-and-compliance.md) and stores no end-user data. The main security surface is therefore secret handling — the API keys the pipeline needs at runtime.
- All keys live in a local
.envat the repo root:GITEE_TOKEN,ANTHROPIC_API_KEY, and optionallyGITHUB_TOKEN. .env(and every.env.*variant) is gitignored — only.env.example(placeholders) is tracked. See.gitignore.- Keys are never written to any generated artifact (fiches, dashboard,
newsletter, site, logs). This is enforced two ways:
scripts/secret_scan.py— run it locally before any push.- CI guard — the GitHub Actions workflow runs the same scan and fails the
build if a key pattern appears in a committable file or a real
.envis tracked.
This repository is not yet a git repo, so there is no history to leak — but do this in order:
- Rotate the keys that were used during development. The local
.envholds liveGITEE_TOKENandANTHROPIC_API_KEYthat have been used on this machine. Before going public, revoke and regenerate them in their dashboards (Gitee → Settings → Private tokens; Anthropic Console → API keys). This is a manual action only you can take — the project cannot rotate keys for you. - Run the secret scan:
python scripts/secret_scan.py(must print OK). - Confirm
.envis ignored: aftergit init && git add -A, rungit statusand verify no.env*file is staged (only.env.example). - Use a least-privilege
GITHUB_TOKENfor the harvest: a read-only classic PAT with no scopes, or a fine-grained token limited to public-repo read. - Never paste keys into issues, PRs, logs, or screenshots.
Please report security issues privately (e.g. a GitHub security advisory or a direct message to the maintainer) rather than opening a public issue. Include steps to reproduce and the affected version. We aim to acknowledge within a few days.
- No code from watched repositories is redistributed — Minerva stores metadata and original summaries, and links back to the source.
- Provider Terms of Service can change; a commercial deployment should re-review Gitee/GitHub (and any new source) ToS for the specific use.