Read-only. Always.
We analyze your account through a role you deploy and can revoke. This page is generated from the exact CloudFormation template we ask you to install — it can't claim a permission the role doesn't have.
No write access
Every action is a describe, list or read. The role cannot create, modify or delete anything.
Only you can grant it
The trust policy requires a unique external id and short 1-hour sessions, so the role can't be assumed without your explicit setup.
Yours to keep or revoke
The role is retained on stack deletion so it's never orphaned mid-analysis; delete the stack any time to cut access.
What we never request
- Object contents (s3:GetObject) — we read bucket names and settings, never your data.
- Secret values (secretsmanager:GetSecretValue) — names only.
- Any write, delete or permission-management action.
Every permission we ask for
Grouped by statement, straight from the template, with why each exists.
See the complete list of API calls, by access path
CostExplorerRead
Cost Explorer — commitment coverage / spend (rule COMMIT-C001).
ce:GetCostAndUsagece:GetReservationUtilizationce:GetReservationCoveragece:GetSavingsPlansUtilizationce:GetSavingsPlansCoverage
EC2Read
EC2 inventory — idle instances, orphan volumes, snapshots, EIPs, NAT. DescribeRegions lets us scan every enabled region, not just one.
ec2:DescribeRegionsec2:DescribeInstancesec2:DescribeVolumesec2:DescribeAddressesec2:DescribeSnapshotsec2:DescribeNatGatewaysec2:DescribeRouteTables
RDSRead
RDS inventory — idle databases, snapshots, reservations.
rds:DescribeDBInstancesrds:DescribeDBSnapshotsrds:DescribeReservedDBInstances
S3Read
S3 — bucket list + lifecycle config only (never object contents).
s3:ListAllMyBucketss3:ListBuckets3:GetLifecycleConfigurations3:ListBucketMultipartUploadss3:ListMultipartUploadParts
CloudWatchRead
CloudWatch — utilization metrics for "idle resource" rules.
cloudwatch:GetMetricDatacloudwatch:GetMetricStatistics
LambdaRead
Lambda — function inventory.
lambda:ListFunctions
CloudFrontRead
CloudFront — cross-check before recommending an S3 bucket removal (never suggest deleting a bucket that serves a live distribution).
cloudfront:ListDistributions
ELBRead
Load balancers — detect idle ALB/NLB with no healthy targets.
elasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeTargetGroupselasticloadbalancing:DescribeTargetHealth
LogsRead
CloudWatch Logs — log groups with no retention accumulate forever.
logs:DescribeLogGroups
DynamoDBRead
DynamoDB — provisioned tables sitting idle versus their capacity.
dynamodb:ListTablesdynamodb:DescribeTable
Route53Read
Route 53 — hosted zones billing a flat fee while hosting nothing.
route53:ListHostedZones
SelfPolicySimulation
Self-diagnosis of a missing permission, scoped to this role only.
iam:SimulatePrincipalPolicy