Integrations

EVE + OpenAI Python Client

Compatibility: Experimental integration — structurally implemented but not included in the supported release-candidate adapter matrix.

This page covers governing tool calls made by an application that uses the OpenAI Python client directly (the API client, not the OpenAI Agents SDK — see openai-agents.md for that). The OpenAI Python client was present during release-candidate validation and its interception path is recorded, but this adapter is a wrapper-enforced integration and is not part of the supported adapter matrix. Only the generic adapter is SUPPORTED.

How governance works here

When your app decides to execute a tool that the model requested, you route that execution through EVE first. CoreGuard makes a deterministic ALLOW / BLOCK / MODIFY decision before the tool runs, with no LLM in the decision path, and can produce a signed evidence record.

from eve_coreguard import CoreGuardClient

client = CoreGuardClient(api_key="eve_sk_...")

# You have a tool call the model asked for; govern it before executing.
result = client.evaluate(
    request_id="req-88c1",
    tenant_id="tenant_demo",
    proposed_action={"type": "lookup_customer", "email": "[email protected]"},
    model_output={"decision": "call_tool", "confidence": 0.9},
    context={"principal_id": "assistant_main", "session_id": "sess_88c1"},
    policy_set="pii_handling",
)

# evaluate returns an EvaluationResult (decision.status / decision.action / risk / ...).
if result.decision.status == "BLOCKED":
    tool_output = {"error": "blocked_by_policy", "action": result.decision.action}
else:
    tool_output = lookup_customer(email="[email protected]")

The eve-coreguard Python package (0.2.7) is published on public PyPI (pip install eve-coreguard). The primary entry point is the CoreGuardClient class.

Hardened alternative

A wrapper only governs the call sites you route through it. A code path that calls the underlying tool directly is not intercepted. For an enforcement boundary a direct call cannot route around, choose one of:

  • A restricted server-side tool registry: the model-facing app never holds direct tool functions; tools are only reachable through the governed server path.
  • A sidecar through which tool execution is proxied, so governance runs out-of-process.
  • Network enforcement so tool endpoints are only reachable via the governed path.

Readiness

  • This adapter: experimental (wrapper-enforced; not in the supported release-candidate adapter matrix).
  • Generic Python adapter: SUPPORTED — use it directly if you control the tool call site.
  • EVE SDK core: RELEASE CANDIDATE WITH EXCLUSIONS.

Limitations

  • Wrapper-enforced integration: bypassable by a direct call to the underlying tool. Hard enforcement requires a gateway/sidecar or a restricted server-side tool registry.
  • The OpenAI Agents SDK is a distinct integration and was not validated against a pinned live version — see openai-agents.md.
  • The pip client governs via hosted mode and needs a reachable endpoint; embedded governance is the EVE service.
  • Signed-evidence integrity is verifiable offline; independent verification needs the ECDSA P-384 public key. Verification proves authenticity, not decision correctness.
Part of the EVE AI Core control plane Deterministic AI Governance Control Plane → Policy decisions that return the same result for the same input every time, before execution.