diff --git a/docs/my-website/blog/vanta_compliance_recertification/index.md b/docs/my-website/blog/vanta_compliance_recertification/index.md new file mode 100644 index 0000000000..cf1c90fbd0 --- /dev/null +++ b/docs/my-website/blog/vanta_compliance_recertification/index.md @@ -0,0 +1,18 @@ +--- +slug: vanta-compliance-recertification +title: "LiteLLM + Vanta: SOC 2 Type 2 and ISO 27001 Recertification" +date: 2026-03-30T10:00:00 +authors: + - krrish +description: "LiteLLM is partnering with Vanta on SOC 2 Type 2 and ISO 27001 recertification and engaging independent auditors for verification." +tags: [security, compliance] +hide_table_of_contents: true +--- + +![LiteLLM x Vanta SOC-2 Recertification](/img/blog/vanta_soc2_recertification.png) + +We are partnering with [Vanta](https://www.vanta.com/) to recertify LiteLLM's compliance for SOC 2 Type 2 and ISO 27001. + +As part of this process, we are also identifying independent auditors to validate and verify our compliance posture. + +Our goal is to be the most secure and transparent AI Gateway possible. diff --git a/docs/my-website/static/img/blog/vanta_soc2_recertification.png b/docs/my-website/static/img/blog/vanta_soc2_recertification.png new file mode 100644 index 0000000000..c1c5644fbe Binary files /dev/null and b/docs/my-website/static/img/blog/vanta_soc2_recertification.png differ diff --git a/litellm/setup_wizard.py b/litellm/setup_wizard.py index ee5918e127..666915669f 100644 --- a/litellm/setup_wizard.py +++ b/litellm/setup_wizard.py @@ -71,7 +71,7 @@ PROVIDERS: List[Dict] = [ "id": "azure", "name": "Azure OpenAI", "description": "GPT-4o via Azure", - "env_key": "AZURE_API_KEY", + "env_key": "AZURE_AI_API_KEY", "key_hint": "your-azure-key", "test_model": None, # needs deployment name — skip validation "models": [], @@ -428,7 +428,7 @@ class SetupWizard: f" {blue('❯')} Azure endpoint URL {grey(p.get('api_base_hint', ''))}: " ) if api_base: - env_vars[f"_LITELLM_AZURE_API_BASE_{p['id'].upper()}"] = api_base + env_vars[f"_LITELLM_AZURE_AI_API_BASE_{p['id'].upper()}"] = api_base deployment = _styled_input( f" {blue('❯')} Azure deployment name {grey('(e.g. my-gpt4o)')}: " ) @@ -557,7 +557,7 @@ class SetupWizard: f' api_base: "{_yaml_escape(str(p["api_base"]))}"' ) elif p.get("needs_api_base"): - azure_base_key = f"_LITELLM_AZURE_API_BASE_{p['id'].upper()}" + azure_base_key = f"_LITELLM_AZURE_AI_API_BASE_{p['id'].upper()}" if azure_base_key in env_copy: lines.append( f' api_base: "{_yaml_escape(env_copy.pop(azure_base_key))}"' diff --git a/tests/llm_translation/test_fireworks_ai_translation.py b/tests/llm_translation/test_fireworks_ai_translation.py index 24c0d546e2..1cc6aabdca 100644 --- a/tests/llm_translation/test_fireworks_ai_translation.py +++ b/tests/llm_translation/test_fireworks_ai_translation.py @@ -77,18 +77,6 @@ def test_map_response_format(): } -@pytest.mark.skip(reason="fireworks is having an active outage") -class TestFireworksAIChatCompletion(BaseLLMChatTest): - def get_base_completion_call_args(self) -> dict: - return { - "model": "fireworks_ai/accounts/fireworks/models/llama-v3p1-8b-instruct" - } - - def test_tool_call_no_arguments(self, tool_call_no_arguments): - """Test that tool calls with no arguments is translated correctly. Relevant issue: https://github.com/BerriAI/litellm/issues/6833""" - pass - - class TestFireworksAIAudioTranscription(BaseLLMAudioTranscriptionTest): def get_base_audio_transcription_call_args(self) -> dict: return { @@ -252,7 +240,5 @@ def test_global_disable_flag_with_transform_messages_helper(monkeypatch): json_data = json.loads(mock_post.call_args.kwargs["data"]) assert ( "#transform=inline" - not in json_data["messages"][0]["content"][1]["image_url"][ - "url" - ] + not in json_data["messages"][0]["content"][1]["image_url"]["url"] )