This is an automated email from the ASF dual-hosted git repository.

kaxil pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 7eac9ac7c1b Add connections and agent-security entries to the 
common.ai sidebar (#73837)
7eac9ac7c1b is described below

commit 7eac9ac7c1b82de23b3843424dfea934ac2dbf61
Author: Kaxil Naik <[email protected]>
AuthorDate: Mon Sep 28 13:18:37 2026 +0100

    Add connections and agent-security entries to the common.ai sidebar (#73837)
    
    Reviewer feedback on the reorganized sidebar raised three gaps. The
    Security entry, which the provider docs template fixes to the
    vulnerability-reporting policy, sits prominently in Basics and reads as
    if it were about securing agents; the Securing agent tools page now sits
    directly under it, and opens by naming both sides of agent security, the
    tools an agent can reach and the data that flows in and out. Connections
    had no top-level entry after the reorg although readers go to them
    often; a new Connections page lists the seven connection types with what
    each is for and links to the reference for each. The Operators entry is
    now "Operators and decorators", since every decorator is an operator
    underneath and readers looking for @task.llm did not find it.
---
 providers/common/ai/docs/agent_security.rst    | 22 ++++++++-
 providers/common/ai/docs/connections/index.rst | 62 ++++++++++++++++++++++++++
 providers/common/ai/docs/index.rst             |  4 +-
 providers/common/ai/docs/operations.rst        |  1 -
 providers/common/ai/docs/operators/index.rst   |  4 +-
 5 files changed, 88 insertions(+), 5 deletions(-)

diff --git a/providers/common/ai/docs/agent_security.rst 
b/providers/common/ai/docs/agent_security.rst
index 04b7b4c5411..41b1e236245 100644
--- a/providers/common/ai/docs/agent_security.rst
+++ b/providers/common/ai/docs/agent_security.rst
@@ -21,6 +21,19 @@ Securing agent tools
 LLM agents call tools based on natural-language reasoning. This makes them
 powerful but introduces risks that don't exist with deterministic operators.
 
+Securing an agent has two sides. The first is what the agent can reach: the
+tools you register, the connections behind them, and the limits on each. Most
+of this page is about that side, because it is where the provider gives you
+controls. The second side is what reaches the agent and what leaves it, and
+that one belongs to the Dag author: keep sensitive data out of the prompt and
+the tool results when the agent can also reach an untrusted system such as the
+web, and treat the agent's output as untrusted input for whatever consumes it
+downstream. The :ref:`checklist <agent-security-checklist>` at the end covers
+both.
+
+The :doc:`security` page is the provider's vulnerability-reporting policy, not 
a
+guide to securing agents.
+
 What the agent can and cannot reach
 -------------------------------------
 
@@ -241,6 +254,8 @@ Recommended configuration
         max_rows=100,
     )
 
+.. _agent-security-checklist:
+
 Production checklist
 ^^^^^^^^^^^^^^^^^^^^
 
@@ -264,4 +279,9 @@ Before deploying an agent task to production:
    "Only query tables related to the question. Never modify data.").
 8. **Prompt injection**: Be cautious when the prompt includes untrusted data
    (user input, external API responses, upstream XCom). Consider sanitizing
-   inputs before passing them to the agent.
+   inputs before passing them to the agent. A tool that reads an untrusted
+   source, a web page or a shared inbox for example, brings that text into the
+   context too, so do not pair such a tool with sensitive data in the same run.
+9. **Output handling**: The agent's answer is model output. Validate it with
+   ``output_type`` where a shape is expected, and treat free text as untrusted
+   before a downstream task acts on it, posts it, or writes it somewhere.
diff --git a/providers/common/ai/docs/connections/index.rst 
b/providers/common/ai/docs/connections/index.rst
new file mode 100644
index 00000000000..1068ac542ee
--- /dev/null
+++ b/providers/common/ai/docs/connections/index.rst
@@ -0,0 +1,62 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+Connections
+===========
+
+Every model call and every MCP server in this provider goes through an Airflow
+connection. The connection holds the credential and, for model connections, 
the model
+name in ``provider:model`` form, so a Dag names a connection id and never a 
key or a
+vendor. Create connections in the UI under **Admin > Connections**, with an
+``AIRFLOW_CONN_<ID>`` environment variable, or through a secrets backend.
+
+.. list-table::
+   :header-rows: 1
+   :widths: 22 38 40
+
+   * - Connection type
+     - Use it for
+     - Page
+   * - ``pydanticai``
+     - Any vendor pydantic-ai supports through an API key and an optional base 
URL:
+       OpenAI, Anthropic, Google Gemini, Groq, Mistral, DeepSeek, Ollama, vLLM,
+       TypeSafe and others. The default for every operator and decorator.
+     - :doc:`pydantic_ai`
+   * - ``pydanticai_azure``
+     - Azure OpenAI, with the endpoint and API version Azure needs.
+     - :doc:`pydantic_ai_azure`
+   * - ``pydanticai_bedrock``
+     - AWS Bedrock, with IAM keys, a bearer token or the default credential 
chain.
+     - :doc:`pydantic_ai_bedrock`
+   * - ``pydanticai_vertex``
+     - Google Vertex AI, with a project, a location and a service account.
+     - :doc:`pydantic_ai_vertex`
+   * - ``mcp``
+     - An MCP server the agent calls as a toolset, over HTTP, SSE or a stdio 
subprocess.
+     - :doc:`mcp`
+   * - ``langchain``
+     - Chat and embedding models built through LangChain, for the LangChain 
hook and
+       toolset bridge.
+     - :doc:`langchain`
+   * - ``llamaindex``
+     - OpenAI models for the LlamaIndex embedding and retrieval operators.
+     - :doc:`llamaindex`
+
+Which vendors work, and the extra and model prefix each one needs, is on
+:doc:`../model_providers`. Vendor outages can fail over to a second connection 
with
+:doc:`../provider_fallback`. Error messages from a misconfigured connection 
are listed
+with their fixes in :doc:`../troubleshooting`.
diff --git a/providers/common/ai/docs/index.rst 
b/providers/common/ai/docs/index.rst
index 0da4eec1bde..d986d937455 100644
--- a/providers/common/ai/docs/index.rst
+++ b/providers/common/ai/docs/index.rst
@@ -85,6 +85,7 @@ waits for the result, use that vendor's provider.
     Home <self>
     Changelog <changelog>
     Security <security>
+    Securing agent tools <agent_security>
 
 .. toctree::
     :titlesonly:
@@ -102,8 +103,9 @@ waits for the result, use that vendor's provider.
     :caption: Guides
 
     What you can build <use_cases/index>
+    Connections <connections/index>
     Models and providers <model_providers>
-    Operators <operators/index>
+    Operators and decorators <operators/index>
     Toolsets <toolsets/index>
     LLM and agent features <features>
     Document and RAG pipelines <rag_pipelines>
diff --git a/providers/common/ai/docs/operations.rst 
b/providers/common/ai/docs/operations.rst
index 77226593e30..9a0ddb28025 100644
--- a/providers/common/ai/docs/operations.rst
+++ b/providers/common/ai/docs/operations.rst
@@ -41,5 +41,4 @@ An AI task fails in more ways than a SQL task, and it costs 
money each time it r
     Durable execution <durable_execution>
     Retry policies <retry_policies>
     Observability <observability>
-    Securing agent tools <agent_security>
     Troubleshooting <troubleshooting>
diff --git a/providers/common/ai/docs/operators/index.rst 
b/providers/common/ai/docs/operators/index.rst
index 4b4ffb9f1d7..67ba23eb9c5 100644
--- a/providers/common/ai/docs/operators/index.rst
+++ b/providers/common/ai/docs/operators/index.rst
@@ -15,8 +15,8 @@
     specific language governing permissions and limitations
     under the License.
 
-Choosing an operator
-====================
+Operators and decorators
+========================
 
 By use case
 -----------

Reply via email to