Company
DevLeep provisions real AWS infrastructure on your behalf. We take the security of that access seriously. This page describes how we handle credentials, what permissions we use, and how to report vulnerabilities.
DevLeep uses cross-account IAM role assumption — the same pattern used by AWS-native tools like CloudFormation StackSets and AWS Control Tower. We never ask for or store your AWS Access Key ID or Secret Access Key.
Cross-account role assumption
You create an IAM role in your account with a trust policy that allows only our platform account to assume it, and only when the correct external ID is provided. Without the external ID, the assume-role call fails even if someone knows the role ARN.
External ID
Every DevLeep account gets a unique external ID generated at registration time. This prevents confused deputy attacks — a third party that learns your role ARN cannot assume it without the external ID.
Temporary credentials only
When you start a lab, we call sts:AssumeRole to obtain a set of temporary credentials scoped to that session. Those credentials expire when the session ends (default: 4 hours maximum). We do not cache or reuse credentials between sessions.
Least-privilege permissions
The permissions policy we recommend grants access only to the services needed by lab terraform modules: EC2, VPC networking, and EKS for Kubernetes labs. We publish the exact policy in the setup guide so you can review it before attaching it.
Because labs run in your AWS account, you control the blast radius of our access:
If you find a security vulnerability in DevLeep, please report it responsibly. We are a small team and take every report seriously.
Please do not publicly disclose the vulnerability until we have had a chance to investigate and release a fix. We will credit researchers who report valid issues.