Skip to content

Getting Started

Installation

Using pip

pip install sanitongo

Using uv

uv add sanitongo

Development Installation

git clone https://github.com/izikeros/sanitongo.git
cd sanitongo
make dev

Basic Usage

Creating a Sanitizer

from sanitongo import create_sanitizer

# Default configuration
sanitizer = create_sanitizer()

# Strict mode - blocks more potentially dangerous patterns
sanitizer = create_sanitizer(strict_mode=True)

Validating Queries

query = {"username": "admin", "password": {"$ne": None}}

# Check if query is safe
if sanitizer.is_query_safe(query):
    # Query passed validation
    safe_query = sanitizer.sanitize_query(query)
else:
    # Query contains potentially dangerous patterns
    print("Query blocked!")

Handling Blocked Queries

from sanitongo import create_sanitizer, SanitizationError

sanitizer = create_sanitizer(strict_mode=True)

try:
    result = sanitizer.sanitize_query(malicious_query)
except SanitizationError as e:
    print(f"Query blocked: {e}")

Configuration

Custom Rules

from sanitongo import create_sanitizer, SanitizerConfig

config = SanitizerConfig(
    blocked_operators=["$where", "$expr"],
    max_depth=10,
    allow_regex=False,
)

sanitizer = create_sanitizer(config=config)

Next Steps