> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ingress Attribution • AI Agent SDK

> IngressAttribution: Resolved answer to 'who/where is this request from', consulted before

# IngressAttribution

> Defined in the [**protocols**](../modules/protocols) module.

<Badge color="blue">AI Agent</Badge>

Resolved answer to "who/where is this request from", consulted before
any per-IP policy.

Attributes:
trust: The :data:`IngressTrust` classification.
client\_ip: The subject to key per-IP policy on. The *real* client only
when it was resolved across trusted hops; otherwise the raw socket
peer (never a spoofable header value).
via\_proxy: Whether forwarded headers were present at all.
fail\_closed: True when the request was proxy-shaped but unattributable —
the caller must rate-limit it as a single bucket keyed on the socket
peer and must never trust a client IP from a header.

## Properties

<ResponseField name="trust" type="IngressTrust">
  No description available.
</ResponseField>

<ResponseField name="client_ip" type="str">
  No description available.
</ResponseField>

<ResponseField name="via_proxy" type="bool">
  No description available.
</ResponseField>

<ResponseField name="fail_closed" type="bool">
  No description available.
</ResponseField>

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/gateway/protocols.py#L2599">
  `praisonaiagents/gateway/protocols.py` at line 2599
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.