from hipocap import Hipocap, observe
import os
# Initialize (from Step 3)
client = Hipocap.initialize(
project_api_key=os.environ.get("HIPOCAP_API_KEY"),
base_url="http://localhost",
http_port=8000,
grpc_port=8001,
hipocap_base_url="http://localhost:8006",
hipocap_user_id=os.environ.get("HIPOCAP_USER_ID")
)
@observe()
def get_user_data(user_id: str):
"""Retrieve user data - automatically traced."""
return {"user_id": user_id, "email": f"user{user_id}@example.com"}
@observe()
def process_user_request():
user_query = "What's my email?"
user_id = "123"
# Execute function
user_data = get_user_data(user_id)
# Analyze for security threats
result = client.analyze(
function_name="get_user_data",
function_result=user_data,
function_args={"user_id": user_id},
user_query=user_query,
user_role="user",
input_analysis=True, # Stage 1: Fast detection
llm_analysis=True, # Stage 2: Deep analysis
policy_key="default"
)
# Check if safe to use
if not result.get("safe_to_use"):
return {
"error": "Blocked by security policy",
"reason": result.get("reason")
}
return user_data