# `ExUtcp.Search.Security`
[🔗](https://github.com/universal-tool-calling-protocol/elixir-utcp/blob/main/lib/ex_utcp/search/security.ex#L1)

Security scanning for search results using TruffleHog.

Scans tool definitions and provider configurations for sensitive data
and provides warnings or filtering capabilities.

# `add_security_warnings`

```elixir
@spec add_security_warnings([map()]) :: [map()]
```

Adds security warnings to search results.

# `filter_secure_results`

```elixir
@spec filter_secure_results([map()]) :: [map()]
```

Filters search results to exclude tools with sensitive data warnings.

# `has_sensitive_data?`

```elixir
@spec has_sensitive_data?(map()) :: boolean()
```

Checks if a search result contains sensitive data.

# `scan_provider`

```elixir
@spec scan_provider(map()) :: [map()]
```

Scans a single provider for sensitive data.

# `scan_providers`

```elixir
@spec scan_providers([map()]) :: %{required(String.t()) =&gt; [map()]}
```

Scans providers for sensitive data.

# `scan_tool`

```elixir
@spec scan_tool(ExUtcp.Types.tool()) :: [map()]
```

Scans a single tool for sensitive data.

# `scan_tools`

```elixir
@spec scan_tools([ExUtcp.Types.tool()]) :: %{required(String.t()) =&gt; [map()]}
```

Scans tools for sensitive data and returns security warnings.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
