Safety filter settings for no-code agents created in Agent Designer?

I have a question about Agent Designer in Gemini Enterprise Agent Platform. I created an agent (no-code, using google-adk,
deployed as a Reasoning Engine) via Agent Designer.

In the agent’s edit screen, the only model-related option I can find is a simple model selector (e.g. switching between
Gemini 2.5 Flash and Gemini 3.7). I can’t find any setting for safety filters / content filters (harm category thresholds).

  • Is there a way to configure safety filters for agents created through Agent Designer?
  • If so, which screen/menu is it under?
  • If not, what safety filter settings are applied by default?

Update (self-reply): dug deeper via Cloud Trace + ADK source — sharing findings + follow-up questions

Since posting, I tried to verify this empirically rather than just from docs.

What I confirmed via the Console/API:

  • No safety filter / content filter setting exists anywhere in the Agent Designer edit UI (Name, Instructions, Flow, Tools,
    Knowledge, Personalization, Model — model picker only lets you switch between Gemini versions, no threshold controls).
  • reasoningEngines.get on the deployed Reasoning Engine also returns no safetySettings / generateContentConfig-equivalent
    field anywhere in spec.

What I tried next: inspect the actual Gemini request via Cloud Trace

I temporarily added ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS=true to the Runtime’s deployment env (via reasoningEngines.patch),
redeployed, made a real call through the agent, and pulled the resulting trace. Result: the call_llm span’s
gcp.vertex.agent.llm_request attribute was still “{}” — no request body, so no way to see whether safety_settings was
populated.

Why, per the ADK source:

Looking at google/adk-python (src/google/adk/telemetry/tracing.py / telemetry/context.py), gcp.vertex.agent.llm_request is
written by trace_call_llm(), gated by TelemetryConfig.should_add_content_to_legacy_spans, which reads
ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS and defaults to true in the current source (this per-request telemetry config landed
~2026-06-10, present through the latest release). So per current ADK, this env var shouldn’t even be needed — content
capture should be on by default.

The fact that it’s still “{}” on the deployed Reasoning Engine suggests the google-adk version Agent Designer pins for
auto-generated Runtimes doesn’t match this current default-on behavior (unconfirmed — I have no visibility into the
generated main.py / pinned requirements, so I can’t verify the exact version).

Separately, the runtime logs a warning: telemetry enabled but proceeding without GenAI instrumentation, because not all
packages (i.e. opentelemetry-instrumentation-google-genai) have been installed. Even that instrumentation package (checked
its source in open-telemetry/opentelemetry-python-contrib) doesn’t currently serialize safety_settings/thresholds into span
attributes anyway — there’s an open TODO in its code acknowledging this gap. So installing it wouldn’t have solved this
either.

Questions for the community / Google folks:

  1. Is there any supported way to inspect or set safety_settings for an Agent Designer–generated agent, short of exporting
    the code?
  2. Does Agent Designer pin a specific google-adk version for auto-generated Runtimes, and is it expected to lag behind the
    latest OSS release?
  3. Is Agent Gateway + Model Armor genuinely the only supported lever for safety/content filtering on no-code Agent Designer
    agents today?

Happy to share more trace/log details if useful (redacted for user content).