NewGLM-5.3 is live as Abliterated Large v2.Try it now
Policy Gateway

Migrate from Azure OpenAI to Policy Gateway

Move your Azure OpenAI workloads to Policy Gateway to gain full control over safety filters, quotas, and audit logs.

Updated 2026-08-04

Azure OpenAI enforces strict content filters that you cannot fully control or disable. Policy Gateway allows you to replace those provider-imposed restrictions with your own policy-as-code.

By migrating to Policy Gateway and the abliterated model, you gain granular control over what is allowed, redacted, or refused.

curl https://api.abliteration.ai/policy/chat/completions \
  -H "Authorization: Bearer $POLICY_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Policy-User: user-12345" \
  -H "X-Policy-Project: finance-assistant" \
  -d '{
    "model": "abliterated-model",
    "messages": [{"role": "user", "content": "Summarize Q4 usage trends."}],
    "policy_id": "finance-policy"
  }'

Why migrate?

Azure OpenAI provides safety filters, but they are additive—you cannot remove the baseline censorship.

Enforce per-user and per-project quotas

Quotas are driven by policy_user and policy_project_id tags.

{
  "policy_id": "finance-policy",
  "org_controls": {
    "user_quotas": true,
    "project_keys": true,
    "user_quota": { "requests": 500, "tokens": 100000, "window": "daily" },
    "project_quota": { "requests": 20000, "tokens": 5000000, "window": "monthly" }
  }
}

Tag and export audit events

Audit logs include decision metadata plus the tags you send with each request.

Export logs to the SIEM or log platform your security team already uses.

Shadow mode and canary rollouts

Safely test your new policies before switching over production traffic.

{
  "rollout": {
    "shadow": { "enabled": true, "sample_percent": 20, "targets": ["finance-assistant"] },
    "canary": { "enabled": true, "sample_percent": 5, "targets": ["finance-assistant"] },
    "rollback_on_spike": true
  }
}

Migration checklist

FAQ

Frequently asked questions.

How do I fix a 401 Unauthorized error from abliteration.ai?

Check that your API key is set and sent as a Bearer token.

How do I fix a 404 Not Found error from abliteration.ai?

Make sure the base URL ends with /v1 and you call /chat/completions.

How do I fix a 400 Bad Request error from abliteration.ai?

Verify the model id and that messages are an array of { role, content } objects.

How do I fix a 429 Rate limit error from abliteration.ai?

Back off and retry. Use the Retry-After header for pacing.