Skip to content

sanitongo

Modern MongoDB query sanitizer with layered security protection.

Features

  • Layered Security: Multiple protection layers against NoSQL injection
  • Pydantic Integration: Type-safe configuration and validation
  • Flexible Rules: Customizable sanitization rules
  • Production Ready: Battle-tested security patterns

Installation

pip install sanitongo

Or with uv:

uv add sanitongo

Quick Start

from sanitongo import create_sanitizer

# Create a sanitizer with strict mode
sanitizer = create_sanitizer(strict_mode=True)

# Check if a query is safe
query = {"name": "John", "age": {"$gte": 18}}
if sanitizer.is_query_safe(query):
    result = sanitizer.sanitize_query(query)
else:
    print("Query blocked!")

Author

Created by Krystian Safjan