

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
12345678# Security Practices910## Sensitive Data Handling1112This document outlines security best practices for handling sensitive information in the mtg-utils project.1314---1516## Files to NEVER Process1718### Environment Variables1920- **DO NOT** read or process `.env` files21- **DO NOT** include environment variable contents in any output22- **ALWAYS** treat `.env` as a blacklisted pattern2324### Configuration Files2526- **DO NOT** read `config.json` or any configuration files containing credentials27- **NEVER** expose binder IDs, API keys, or tokens in logs or outputs28- **MUST** sanitize any configuration data before displaying2930### Credentials and Tokens3132- **NEVER** commit or store actual API tokens33- **NEVER** hardcode sensitive credentials in source code34- **ALWAYS** use environment variables or secure secret management3536---3738## Sensitive Data Patterns to Detect3940The following patterns indicate sensitive data that should be redacted:4142| Pattern | Example | Action |43|---------|---------|--------|44| `binder_id` | `abc123xyz` | Remove from output |45| API Key | `sk-...` | Redact completely |46| Token | `ghp_xxx` | Remove completely |47| Email | `user@example.com` | Consider anonymization |4849---5051## Best Practices5253### In Code5455```python56# ✅ GOOD - Use environment variables57import os5859binder_id = os.environ.get("MOXFIELD_BINDER_ID")6061# ❌ BAD - Hardcoded secrets62binder_id = "abc123xyz" # NEVER DO THIS63```6465### In Logs6667```python68# ✅ GOOD - Sanitized logging69logger.info(f"Processing binder: ***{binder_id[-4:]}")7071# ❌ BAD - Full credential exposure72logger.info(f"Processing binder: {binder_id}")73```7475### In Configuration7677```json78// ❌ BAD - Store real binder ID79{80 "binder_id": "real-binder-id-12345"81}8283// ✅ GOOD - Use placeholder84{85 "binder_id": "YOUR_MOXFIELD_BINDER_ID_HERE"86}87```8889---9091## Security Checklist9293Before committing code:9495- [ ] No `.env` files included96- [ ] No hardcoded credentials97- [ ] No exposed API keys or tokens98- [ ] No sensitive user data in logs99- [ ] Configuration files use placeholders100101---102103## Emergency Response104105If sensitive data is accidentally exposed:1061071. **IMMEDIATELY** remove the data from the codebase1082. **IMMEDIATELY** change any exposed credentials1093. Review recent commits for additional exposure1104. Update `.gitignore` to prevent future occurrences111
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| gasbasd/mtg-utils.clinerules/05-cli-workflows.md · 0 | Cline rules | setuparch | 54/100 | 8 days ago | |
| gasbasd/mtg-utils.clinerules/01-project-overview.md · 0 | Cline rules | setuptestlint-formatarch | 89/100 | 8 days ago | |
| gasbasd/mtg-utils.clinerules/02-coding-standards.md · 0 | Cline rules | lint-formatstyletypesdependencies+1 | 77/100 | 8 days ago | |
| gasbasd/mtg-utils.clinerules/03-testing-standards.md · 0 | Cline rules | testarchtypestesting-strategy+1 | 66/100 | 8 days ago | |
| gasbasd/mtg-utils.clinerules/06-version-control.md · 0 | Cline rules | testlint-formatstyletypes+4 | 62/100 | 8 days ago | |
| gasbasd/mtg-utils.clinerules/memory-bank.md · 0 | Cline rules | archperformancedocs | 58/100 | 8 days ago | |
| gasbasd/mtg-utils.github/copilot-instructions.md · 0 | Copilot instructions | setupbuildtestlint-format+3 | 89/100 | 8 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| enuno/unifi-mcp-server.clinerules · 226 | Cline rules | setuptestlint-formatstyle+10 | 96/100 | today | |
| u9401066/zotero-keeper.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 14 days ago | |
| u9401066/pubmed-search-mcp.clinerules/50-pubmed-project.md · 25 | Cline rules | testlint-formatstylearch+1 | 94/100 | 14 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 14 days ago | |
| ryok/python-boilerplate.clinerules/common-commands.md · 0 | Cline rules | setupbuildtestlint-format+3 | 90/100 | 13 days ago | |
| gasbasd/mtg-utils.clinerules/01-project-overview.md · 0 | Cline rules | setuptestlint-formatarch | 89/100 | 8 days ago | |
| u9401066/pubmed-search-mcp.clinerules/60-pubmed-python.md · 25 | Cline rules | setuptestlint-formatstyle+2 | 86/100 | 14 days ago | |
| u9401066/pubmed-search-mcp.clinerules/00-project.md · 25 | Cline rules | testlint-formatstylearch+1 | 86/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/gasbasd-mtg-utils-clinerules-04-security-practices)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.