Works with your stack
IRIS does not compete with observability or routing tools. Keep your Langfuse or LiteLLM setup. IRIS reads what you're running and tells you which regulations apply — with tamper-evident proof.
Langfuse
Derive a WorkloadProfile from Langfuse trace and observation metadata over a lookback window.
from iris_langfuse import profile_from_langfuse
profile = profile_from_langfuse(lookback_days=30)
Profile data IRIS derives: models and providers actually used, frameworks inferred from tags/metadata, call volume signals, autonomy heuristics from tool-call observations.
Privacy: IRIS scans trace names, tags, and metadata only — never prompt or output content.
iris compliance scan --from langfuse --push
LiteLLM
Derive a WorkloadProfile from a static config.yaml or a live LiteLLM proxy (/model/info + spend endpoints).
from iris_litellm import profile_from_litellm_config
profile = profile_from_litellm_config("./litellm.config.yaml")
Profile data IRIS derives: configured and invoked models, inferred providers, LiteLLM as framework signal, agent count from model list size.
iris compliance scan --from litellm --proxy https://litellm.internal
Not tracing. Not routing. Langfuse and LiteLLM own observability and model routing. IRIS adds compliance intelligence on top — see Compliance Intelligence for the full loop.