Skip to content

v0.7.0

Latest

Choose a tag to compare

@Pratik653 Pratik653 released this 24 Oct 20:35
· 3 commits to main since this release

SQLGuard Ninja v0.7.0

Highlights

  • Interactive playground. Try SQL policy enforcement on a synthetic retail database with three roles: Sales Analyst, Customer Support and Store Manager. It has 20 example queries, explanations with fixes, lineage, tenant-isolation demonstrations, a role-permission browser, and a benchmark dashboard that labels every result as internal (1,070) and shows that no independent results exist (0). There is no login or API key: pip install "sqlguard-ninja[demo]" && sqlninja demo serve.
  • A sandbox the database enforces. Allowed queries run in an in-memory synthetic SQLite database with an authorizer allowlist, query_only, engine limits and a time budget. Denied and review queries never run.
  • Runs in the browser. scripts/build_static_demo.py builds a static site in which Pyodide runs the same code in a Web Worker. Everything is self-hosted and checksum-verified, and a browser test confirms the site makes no third-party requests.
  • Deployment references. A hardened Dockerfile, Compose and Kubernetes manifests with health checks, validated configuration, rate limiting, body limits, query timeouts, non-root execution and resource limits. CI builds and runs the container under those restrictions and validates the manifests.

Notes

  • Live demo: https://pratik653.github.io/SQLGuard_Ninjapy/ (GitHub Pages; added after release, once deployment was verified in an unauthenticated browser).
  • All benchmark results remain internal (issues #5 and #6). SQL Server and Oracle remain parser-level experimental.

Installation

python -m pip install "sqlguard-ninja[demo]==0.7.0"
sqlninja demo serve

PyPI: https://pypi.org/project/sqlguard-ninja/0.7.0/