Thanks for helping improve SentinelGuard. Contributions can be code, tests, benchmark cases, docs, examples, issue reports, deployment recipes, or security review.
- Add labeled benchmark cases for prompt injection, PII, PCI, PHI, secrets, or benign negatives.
- Improve examples for Docker, Kubernetes, ECS, EC2, IDEs, or SDK clients.
- Add provider configuration examples for OpenAI-compatible model servers.
- Improve scanner docs with realistic safe test cases.
- Add focused tests around a bug or behavior change.
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,gateway,monitoring]"Optional model-backed scanner work:
pip install -e ".[dev,gateway,monitoring,models]"SentinelGuard is a Python/FastAPI project and does not require Node.js for the
current gateway or documentation flow. If future dashboard or frontend tooling
is added, use Node.js 24. The repo pins this with .nvmrc and .node-version.
nvm use
node --versionruff check sentinelguard tests examples/test_apps/gateway_test_client.py
pytestFor focused gateway work:
pytest tests/test_gateway.py tests/test_cli.pyFor docs:
pip install -r requirements-docs.txt
mkdocs build --strict- Open an issue or describe the problem in the pull request.
- Keep changes focused. Avoid unrelated formatting churn.
- Add or update tests for behavior changes.
- Update docs and examples when user-facing behavior changes.
- Run the relevant checks before opening the pull request.
- Include screenshots or command output when changing docs, CLI output, or UI behavior.
- Do not commit real API keys, tokens, credentials, PHI, PCI data, or personal information.
- Use synthetic examples for secrets, PII, PCI, and PHI.
- If a test needs token-shaped strings, make sure they are fake and documented as fake.
- For vulnerability reports, follow SECURITY.md instead of opening a detailed public issue.
Keep docs practical:
- install
- configure
- run
- verify
- troubleshoot
Prefer examples users can copy into local development, Docker, Kubernetes, EKS, ECS, EC2, or an OpenAI-compatible SDK client.
By contributing, you agree that your contribution will be licensed under the Apache License 2.0 used by this project.