Skip to main content

Security

18.1 Path Validation

Import: from gaia.security import PathValidator
from gaia.security import PathValidator

# Initialize validator
validator = PathValidator()

# Check if path is allowed
if validator.is_path_allowed("/home/user/documents/file.txt"):
    # Safe to access
    process_file("/home/user/documents/file.txt")

# Add allowed path
validator.add_allowed_path("/home/user/work")

# Paths are persisted in ~/.gaia/cache/

from gaia.rag.sdk import RAGSDK, RAGConfig

# RAG automatically detects and blocks symlinks
rag = RAGSDK(RAGConfig())

# This is blocked if it's a symlink
try:
    rag.index_document("/suspicious/symlink.pdf")
except SecurityError as e:
    print(f"Security error: {e}")

18.3 File Size Limits

from gaia.rag.sdk import RAGConfig, RAGSDK

config = RAGConfig(
    max_file_size_mb=50  # Reject files > 50MB
)

rag = RAGSDK(config)

# Automatically rejects large files
try:
    rag.index_document("huge_file.pdf")  # 100MB
except ValueError as e:
    print(f"File too large: {e}")