Security

The controls, written down. No badges we have not earned.

GenTool makes no SOC 2 claim. This page lists what is in place and names the sub-processors. A dated self-assessment summary is below; 'SOC 2 in progress' appears here only once an auditor is engaged.

No sending, no credentials

GenTool never operates a LinkedIn or email account and never stores those credentials. Sending is a human action you record with a receipt.

Envelope-encrypted keys

Each AI or data key you add gets its own AES-256-GCM data key, wrapped by a key-encryption key that exists only as a Wrangler secret. Plaintext exists only inside the provider call that needs it; it is never logged and never returned to the browser.

Row-level tenancy

Every table that holds workspace data carries your organisation id and a row-level-security policy. Tenant identity comes from the verified token on every door, never from a request argument.

Append-only audit log

Every tool call records who, through which door (dashboard, Claude, ChatGPT, API), which tool and what it touched. The log records that a key was used, never what it was.

One tool layer, three doors

The dashboard, the connector and the API call the same functions with the same authorisation; there is one place to secure and one place to log.

Untrusted text

Every fetched page is wrapped and labelled as data before it reaches a model; instructions found inside it are stripped and the finding is logged. Models get no tools and return JSON that code validates before storing.

Identity

Clerk handles sign-in, MFA and organisations; Claude and ChatGPT connect with OAuth 2.1 through Clerk, and GenTool publishes the metadata. Connector tokens are per user and act in the workspace you choose on Settings; API tokens are scoped, expire after 90 days and are revocable from Settings.

Edge

Cloudflare WAF managed rules, rate limits on the machine doors and sign-in, Turnstile on key entry, Clerk's bot protection on signup, secrets only through Wrangler.

Sub-processors

Who handles data, and what they see.

ProviderRoleSees
CloudflareHosting (Workers, Workflows, Queues), WAF, TurnstileRequests, application data in transit
SupabasePostgres and RealtimeApplication data at rest, encrypted keys (ciphertext only)
ClerkIdentity, organisations, OAuth 2.1 for connectorsAccount identity, sessions
StripeBillingPayment details (never stored by GenTool)
AI and data providers you chooseResearch, copy, review; contact verificationThe aliased evidence packet; a name and a domain for verification

Last self-assessment: 2026-10-27 (initial build). Retention: prospect rows untouched for 18 months are purged; evidence excerpts are short quotes with their URL, never whole pages.