Inventory capabilities, not endpoints
For each integration, list whether it sends email, opens SMTP sessions, resolves DNS, fetches URLs, uploads messages, checks lists, reads mailboxes, triggers provider jobs, accepts webhooks, or exports data. Record input source, remote target selection, credentials, personal data, cost, rate, retention, and result exposed to users.
Classify harms: spam/harassment, mailbox enumeration, SSRF/internal access, DNS amplification, credential leakage, cross-tenant data, paid-quota exhaustion, unsafe file/XML parsing, forged/replayed webhook, and misleading “clean” results during outages.
Require authorization and purpose
Anonymous public tools should permit only low-risk bounded operations. Sending/SMTP probing, bulk verification, seed placement, raw-message access, and operator mutations need authenticated accounts, verified ownership or attestation, quotas, and sometimes step-up approval. Enforce resource ownership centrally; never trust a browser-supplied user or tenant ID.
Constrain network behavior
Use fixed provider endpoints and TLS verification. For user-influenced URL fetches, restrict schemes, resolve/reject private/reserved/link-local addresses, revalidate redirects, cap hops/time/bytes, and isolate egress. For DNS/SMTP, cap targets, commands, answers, concurrency, attempts, and duration; block arbitrary ports and private ranges.
Queue long work with idempotency, per-principal/domain/provider/global rate limits, circuit breakers, and cancellation. A global IP limit alone is not enough.
Protect secrets and outputs
Store credentials in a secret manager with least privilege, environment isolation, rotation, and redacted logs. Validate provider response schemas and expose allowlisted evidence only. Never return internal paths, stack traces, mailbox credentials, arbitrary provider text, or raw bodies to public reports.
Verify webhooks with provider-supported signatures, timestamps/replay windows, and event-ID deduplication; process asynchronously with size limits.
Fail closed and review continuously
Unconfigured or unlicensed capabilities stay unavailable. Timeouts and license errors remain unknown/unavailable. Test abuse cases, tenant isolation, cost exhaustion, SSRF, replay, malformed payloads, and provider outage before enabling.
The review passes when every network action has an owner, bounded authorization, observability, and a kill switch—and when disabling a provider cannot fabricate a favorable result.