← Platform

Scope each agent to what it needs

Allow lists per policy. Everything else is held.

Define the destinations each agent role may reach. Entries carry a source, a reference and an expiry. Anything outside the list is held by the Greywall or denied by default.

control.securd.com/gateway/acme/policies/research-agent
Policy: research-agent Published
Greywall Mode
Enforce
Hold Time
86400 s
Default Action
Deny Traffic
Allow list4 entries
  • api.openai.com
  • api.anthropic.com
  • api.tavily.com
  • api.smith.langchain.com
Block list2 entries
  • pastebin.com
  • transfer.sh
DoH providersMalwareC2ParkedSinkhole
One policy: four approved hosts, two blocked, the security categories, deny by default.
The problem

Blocklists describe the internet. Allow lists describe the agent.

A block list can never be complete. An allow list for an agent role is short, reviewable and true: the model provider, the tools, the data sources. The work is building it from real traffic instead of guessing, and keeping it honest as the agent changes.

Lists need provenance

Who added the entry, from which template or ticket, and when it should expire.

Templates prevent day-one noise

The OpenAI, Anthropic, Bedrock and Vertex hosts are documented. Import them; do not rediscover them.

Scope must not leak

An approval for one role must never widen another. Lists belong to a policy.

How it works

Build the list from traffic

Capabilities

Scope list capabilities

Allow and block lists

Per policy, bound to the policies you choose. Domain and CIDR entries.

Provenance per entry

Source, reference, confidence and expiry on every entry. Expired entries leave on their own.

Templates

Vendor-documented hostnames, verified monthly, imported as entries that name the template as their source.

Greywall for the rest

Anything outside the list is held on first sight. No need to enumerate what to block.

Global and inherited lists

MSSP parents push lists into every tenant. Tenant lists apply alongside.

API

Create entries, bulk import, push verdicts. Scoped keys, every change logged.

Bulk import

A template becomes list entries

Entries carry the template name as their source, so the change log records where every host came from.

bulk import
POST /api/v1/gateway/list-entries/{allow_list_uuid}/entries/bulk
{ "entries": [
  { "value": "api.openai.com",    "source_ref": "template:openai-runtime" },
  { "value": "api.anthropic.com", "source_ref": "template:anthropic-runtime" }
] }

Questions teams ask

Do templates use wildcards?

No. Approving an entire cloud provider domain removes the scope the policy is meant to provide. Templates show patterns with the region or resource as a placeholder.

Can an entry expire?

Yes. Set expires_in on the entry. It leaves the list on its own and the removal is logged.

What about CIDR blocks?

Network allow and block lists accept CIDR entries and apply to the resolved address.

Build one agent's allow list from real traffic

Import the templates, learn for a week, deny by default.