33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
"""Configuration for the PII detection service.
|
|
|
|
All settings are read from environment variables with safe defaults for local dev.
|
|
"""
|
|
|
|
import base64
|
|
import os
|
|
|
|
# Redis connection
|
|
REDIS_URL: str = os.getenv("PII_REDIS_URL", "redis://localhost:6379")
|
|
|
|
# AES-256-GCM key — must be 32 bytes, base64-encoded.
|
|
# Default is a fixed dev key; MUST be overridden in production.
|
|
_DEFAULT_DEV_KEY = base64.b64encode(b"veylant-dev-key-32bytes-padding-").decode()
|
|
ENCRYPTION_KEY_B64: str = os.getenv("PII_ENCRYPTION_KEY", _DEFAULT_DEV_KEY)
|
|
|
|
# TTL for pseudonymization mappings in Redis (seconds)
|
|
DEFAULT_TTL: int = int(os.getenv("PII_TTL_SECONDS", "3600"))
|
|
|
|
# Layer 2 NER control
|
|
NER_ENABLED: bool = os.getenv("PII_NER_ENABLED", "true").lower() == "true"
|
|
NER_CONFIDENCE: float = float(os.getenv("PII_NER_CONFIDENCE", "0.85"))
|
|
|
|
# spaCy model names
|
|
SPACY_FR_MODEL: str = os.getenv("PII_SPACY_FR_MODEL", "fr_core_news_lg")
|
|
SPACY_EN_MODEL: str = os.getenv("PII_SPACY_EN_MODEL", "en_core_web_sm")
|
|
|
|
# gRPC server port
|
|
GRPC_PORT: int = int(os.getenv("PII_GRPC_PORT", "50051"))
|
|
|
|
# FastAPI / health port
|
|
HTTP_PORT: int = int(os.getenv("PII_HTTP_PORT", "8000"))
|