Implement security best practices for Lindy AI integrations. Use when securing API keys, configuring permissions, or implementing security controls. Trigger with phrases like "lindy security",...
Secure Lindy workflows at the boundaries Lindy currently documents: generated Webhook Received secrets, per-action connected-account selection, target-service authentication in HTTP Request, Ask for Confirmation/draft modes, dedicated Computer Use sessions, Tasks, and Test Panel. Do not rely on an undocumented Lindy API key, webhook signature, role, connection-sharing level, fixed quota, or plan entitlement.
For every path, record source, destination, data fields, credential owner, selected connected account, allowed side effects, approver, failure path, and evidence source. Separate these directions:
| Direction | Supported boundary |
|---|---|
| Application to Lindy | Webhook Received URL + Lindy-generated bearer secret |
| Lindy to external service | HTTP Request + that service's authentication |
| External account action | Exactly the connected account selected on the action |
| Lindy callback to application | Receiver-owned trust boundary; no documented Lindy signature claim |
The bearer secret authenticates the caller to Lindy. It does not authenticate a callback from Lindy to your application, and Lindy's Webhooks guide does not document an HMAC signature or timestamp header for that callback.
Lindy documents that each action selects one connected account. For every action:
Do not invent local permission dictionaries or quotas and describe them as Lindy controls. Enforce application-owned authorization again at any external receiver.
Enable Ask for Confirmation on supported actions that send messages, update records, create events, or cause other consequential effects. Use draft mode where available. Add condition-based escalation for unknown/out-of-scope cases. Keep confirmation enabled until representative testing and review justify a deliberate change; money, contracts, access changes, deletion, and sensitive external communications should retain explicit approval.
text.Prompt instructions are defense in depth, not authorization. Conditions, selected accounts, receiver-side checks, confirmation, and schema validation must enforce the boundary even if model output is incorrect or adversarial.
Use synthetic data and test accounts. Lindy's Test Panel executes real actions. Verify valid flow plus wrong/missing webhook secret, oversized/unknown payload, unexpected outbound host, target 401/403/429/5xx, malformed response, attempted prompt injection, missing approval, and untrusted callback content. Each negative case must stop, quarantine, or request human review without completing its side effect.
Use Tasks to inspect the exact step order, selected paths, inputs/outputs, errors, and timestamps after testing and deployment. Review connected accounts and agent actions on a defined owner-approved cadence. For organization identity, audit, compliance, or contractual controls, verify current availability and configuration in Lindy's official security/pricing material and your workspace; do not freeze plan claims in this skill.
| Issue | Cause | Solution |
|---|---|---|
| Wrong caller reaches webhook | Missing/wrong generated bearer | Reject; rotate if exposure is suspected |
| Agent uses wrong account | Wrong account selected on action | Stop workflow and correct the explicit selection |
| Callback has no trusted auth boundary | Assumed Lindy signature | Quarantine; implement receiver-owned auth without claiming platform signing |
| Sensitive data appears in Tasks/logs | Payload/output too broad | Disable path, redact downstream copies, minimize schema, retest |
| Side effect runs during test | Production connection/no confirmation | Contain impact, restore state, use test account and confirmation |
| External receiver accepts excess authority | Lindy prompt treated as authorization | Enforce identity, schema, and authorization at receiver |
Return a security review containing:
For an inbound document event, the caller sends only a synthetic document reference to the generated Webhook Received URL using its generated bearer secret. The workflow uses a specifically selected read-only source account, transforms only the reference, and stages any external update behind Ask for Confirmation. A separate application receiver validates its own credential and minimal callback schema; it does not assume an undocumented Lindy signature or act on callback text alone.
Carry the completed trust map, negative-test receipts, and open risks into
lindy-prod-checklist; production readiness is not proven by this checklist alone.