Model Armor
A model-agnostic security layer that screens prompts and responses for prompt injection, jailbreak attempts, sensitive data exposure, and malicious URLs, regardless of which LLM backend is serving the request.
Google Model Armor is a model-agnostic security layer that screens prompts and responses for prompt injection, jailbreak attempts, sensitive data exposure, and malicious URLs across any LLM backend. Vertex AI Safety Filters are a native Vertex AI feature that screens content generated by Gemini models for responsible-AI harm categories such as hate speech, harassment, and dangerous content. They address different risk types at different points in the pipeline and are not interchangeable.
Both controls sit near the model, but they are built to catch different categories of risk. Understanding what each one screens for is the starting point for deciding how, and whether, to run them together.
A model-agnostic security layer that screens prompts and responses for prompt injection, jailbreak attempts, sensitive data exposure, and malicious URLs, regardless of which LLM backend is serving the request.
A native Vertex AI feature embedded in the Gemini serving stack that screens generated content for responsible-AI harm categories such as hate speech, harassment, and dangerous content.
The two controls differ in scope, in the models they cover, and in the type of harm they are designed to catch.
| Dimension | Model Armor | Vertex AI Safety Filters |
|---|---|---|
| Model scope | Any LLM backend; model-agnostic | Gemini models served through Vertex AI |
| Risk types covered | Prompt injection, jailbreak attempts, sensitive data exposure, malicious URLs | Responsible-AI harm categories: hate speech, harassment, dangerous content |
| Enforcement point | Pre-inference and post-inference, outside the model's own serving stack | Inline, inside Vertex AI's serving stack as content is generated |
Where each control sits relative to a model call determines what it can and cannot catch.
Model Armor can screen incoming prompts for injection or jailbreak patterns before they reach any model.
Vertex AI Safety Filters operate inside Vertex AI's own serving stack as content is generated by Gemini models.
Model Armor can also screen outbound responses for sensitive data or malicious links, independent of which model produced them.
Neither control extends to what happens after a response is returned, such as tool execution or downstream agent actions.
When Model Armor sits in front of a Vertex AI model, both controls may independently evaluate the same harmful content, one at the prompt/response layer and one inside the Gemini serving stack. That overlap is not a conflict by itself, but it means teams should know which control is expected to catch a given risk category rather than assuming coverage by default.
The clearer gap is model coverage. Vertex AI Safety Filters only apply to content generated by Gemini models served through Vertex AI. Any non-Vertex or self-hosted model in the stack falls outside that protection entirely, leaving Model Armor, where deployed, as the only control screening those requests and responses.
Both controls stop at the boundary of the model call itself. Neither Model Armor nor Vertex AI Safety Filters extends to what happens after a response is returned, including tool execution or multi-step agent actions. Neither control governs agent tool-use or multi-step action authorization; that is a distinct governance problem that requires a separate runtime layer.
Teams running both controls together should confirm the following before treating coverage as complete.
Both controls address prompt and content risk at the model boundary. Agent tool-use and multi-step action authorization sit outside both, and need their own runtime governance layer.
Model Armor and Vertex AI Safety Filters address prompt and content risk. If your AI agents also call tools or take multi-step actions, that requires a separate layer of runtime governance.
Explore Runtime Governance