Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions cognigate-api/app/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ class Settings(BaseSettings):
secret_key: str = "CHANGE_ME_IN_PRODUCTION"
access_token_expire_minutes: int = 30
admin_api_key: str = "CHANGE_ME_IN_PRODUCTION" # API key for admin endpoints
api_key: str = "CHANGE_ME_IN_PRODUCTION" # API key for pipeline endpoints (X-API-Key)

# Trust Engine
default_trust_level: int = 1
Expand All @@ -44,9 +45,9 @@ class Settings(BaseSettings):

# API Keys (set the one matching your provider)
anthropic_api_key: str = "" # Claude
openai_api_key: str = "" # GPT
google_api_key: str = "" # Gemini
xai_api_key: str = "" # Grok
openai_api_key: str = "" # GPT
google_api_key: str = "" # Gemini
xai_api_key: str = "" # Grok

# Model settings per provider
critic_model_anthropic: str = "claude-3-5-sonnet-20241022"
Expand All @@ -63,20 +64,22 @@ class Settings(BaseSettings):
redis_enabled: bool = True

# Logic API - External governance evaluation service
logic_api_url: str = "" # e.g. "https://logic.vorion.org/v1"
logic_api_key: str = "" # API key for Logic service
logic_enabled: bool = False # Feature flag — enable when Logic API is deployed
logic_timeout_seconds: float = 5.0 # Timeout for Logic API calls
logic_api_url: str = "" # e.g. "https://logic.vorion.org/v1"
logic_api_key: str = "" # API key for Logic service
logic_enabled: bool = False # Feature flag — enable when Logic API is deployed
logic_timeout_seconds: float = 5.0 # Timeout for Logic API calls

# Signature System
signature_enabled: bool = True
signature_private_key: str = "" # Base64-encoded PEM private key (optional)
signature_key_path: str = "" # Path to PEM private key file (optional)
signature_key_path: str = "" # Path to PEM private key file (optional)

# Cache TTLs (seconds)
cache_ttl_policy_results: int = 60 # Policy evaluation results
cache_ttl_trust_scores: int = 300 # Trust scores
cache_ttl_velocity_state: int = 0 # Velocity state (no expiry, but Redis will evict on memory pressure)
cache_ttl_policy_results: int = 60 # Policy evaluation results
cache_ttl_trust_scores: int = 300 # Trust scores
cache_ttl_velocity_state: int = (
0 # Velocity state (no expiry, but Redis will evict on memory pressure)
)


@lru_cache
Expand Down
Loading
Loading