@@ -11,7 +11,35 @@ Why are these changes needed? What problem do they solve?
1111- [ ] Bug fix (non-breaking)
1212- [ ] New feature (non-breaking)
1313- [ ] Breaking change
14+ - [ ] Performance improvement
1415- [ ] Documentation update
16+ - [ ] Refactoring (no behavior change)
17+ - [ ] CI/CD or tooling change
18+
19+ ---
20+
21+ ## Security Checklist
22+
23+ ** For ALL PRs, verify:**
24+
25+ - [ ] No secrets, credentials, or API keys in code or comments
26+ - [ ] No hardcoded sensitive data (use env vars or config)
27+ - [ ] User input is validated/sanitized where applicable
28+ - [ ] Error messages don't leak sensitive information
29+
30+ ** For PRs touching security-critical paths** (` /rust/ ` , ` /src/cachekit/serializers/ ` , ` /src/cachekit/reliability/ ` , workflows):
31+
32+ - [ ] Changes reviewed by security team (@cachekit-io/security )
33+ - [ ] No new ` unsafe ` blocks without justification
34+ - [ ] Cryptographic code uses audited libraries (no custom crypto)
35+ - [ ] FFI boundaries maintain memory safety guarantees
36+
37+ ** For PRs adding/updating dependencies:**
38+
39+ - [ ] Dependency is from trusted source with active maintenance
40+ - [ ] No known CVEs (` pip-audit ` / ` cargo-audit ` clean)
41+ - [ ] License is compatible (MIT, Apache-2.0, BSD)
42+ - [ ] Justified: not adding unnecessary attack surface
1543
1644---
1745
@@ -38,6 +66,15 @@ Why are these changes needed? What problem do they solve?
3866- [ ] Integration tests added/updated
3967- [ ] Tests pass: ` make test-critical `
4068- [ ] No test regressions
69+ - [ ] For performance changes: Benchmark results attached
70+
71+ ---
72+
73+ ## Backward Compatibility
74+
75+ - [ ] API is backward compatible OR breaking change is documented
76+ - [ ] No removal of public APIs without deprecation period
77+ - [ ] Migration path documented for breaking changes
4178
4279---
4380
0 commit comments