thinktax stores API credentials in your config file as plaintext. This is a conscious trade-off for simplicity, but you should take precautions:
-
Set restrictive file permissions on your config file:
chmod 600 ~/.config/thinktax/config.toml # Linux chmod 600 ~/Library/Application\ Support/thinktax/config.toml # macOS
-
Use environment variables instead of hardcoding credentials:
[cursor.team] apiKey = "${CURSOR_API_KEY}" token = "$CURSOR_TOKEN"
-
Never commit your config file to version control. The
.gitignoreexcludesconfig.tomlby default, but double-check before pushing. -
Use a secrets manager for production deployments or shared machines. Export credentials as environment variables from your preferred secrets manager.
| Data | Location | Contains Credentials? |
|---|---|---|
| Config | ~/.config/thinktax/config.toml |
Yes - API keys, tokens |
| Events | ~/.local/share/thinktax/events/ |
No - only usage data |
| State | ~/.local/share/thinktax/state/ |
No - only timestamps and ETags |
- Cursor Team API:
apiKeyoremail+tokencombination - Anthropic Usage API:
adminKey(if configured) - OpenAI Usage API:
adminKey(if configured)
thinktax processes usage data locally. No data is sent to external servers except:
- Cursor Team API - When configured, fetches your team's usage data from Cursor's servers
- Anthropic/OpenAI Usage APIs - When configured (not yet implemented), fetches billing data
All collected data remains on your machine in the data directory.
If you discover a security vulnerability, please report it privately:
- Do not open a public GitHub issue
- Email the maintainer directly (see package.json for contact)
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
We aim to respond within 48 hours and will work with you to understand and address the issue.
Security fixes will be released as patch versions (e.g., 0.1.1) and announced in the changelog. We recommend:
- Watching this repository for releases
- Keeping your installation up to date
- Reviewing the changelog before updating
thinktax is designed for individual developers tracking their own LLM usage. It is not designed for:
- Multi-tenant environments
- Shared workstations with untrusted users
- Production deployment without additional hardening
If you need these features, consider wrapping thinktax with additional access controls or using a dedicated secrets management solution.