Most observability tools demand heavy cluster agents, root privileges, or execution of your test suites. EcoAudit enforces a strict boundary: we ingest read-only signals, parse ASTs, and never run your code.
Never install or run a daemon on developer laptops or build runners. Traditional APMs drain battery and CPU cycles running passive profilers; EcoAudit operates purely via asynchronous webhooks and cloud metrics.
Never grant write or mutate permissions to your repositories or AWS account. We authenticate via a scoped cross-account IAM role with pure read-only Telemetry and Cost Explorer actions.
We never run your code, execute test suites, or spin up containers with your binaries. Static AST checks use Semgrep and Tree-sitter parsers to evaluate syntax trees without executing runtime instructions.
Inspect the exact IAM statement you attach to your read-only role. Only read metrics, zero write actions.
Configure once through our read-only dashboard. Once connected, every git push triggers lightweight delta scans with zero ongoing operational overhead.
Install our GitHub App or authorize read-only OAuth. We only parse dependency manifests, infrastructure configs, and ASTs.
push, pull_requestEvery audit surfaces exact file locations, defensible environmental impact ranges, and a pre-engineered prompt ready for your AI coding assistant (Cursor, Claude Code, Gemini CLI).
A database query is dispatched inside an iterative forEach loop rather than batched with an IN clause or JOIN. Multiplies network round-trips and keeps database connection threads active unnecessarily.
// Inefficient: queries DB once per order item
const items = await getOrderItems(orderId);
for (const item of items) {
const stock = await db.query('SELECT stock FROM inventory WHERE id = $1', [item.id]);
}You are optimizing code for software sustainability and compute efficiency. Finding: N+1 Database Query Pattern in src/api/routes/orders.ts:74 Evidence: An unbatched database query is invoked inside a loop over order items. Goal: Refactor this query to fetch all item stocks in a single batched query using 'WHERE id = ANY($1)' or bulk IN clause. Preserve exact return semantics and add typing.
Finding scans run on a fast event-driven clock, while environmental estimates run on a periodic and trigger clock with a strict materiality gate. We never recompute estimates if code deltas didn’t shift your profile.
When you push a commit or open a pull request, GitHub sends an HMAC-authenticated webhook to our API Gateway. Step Functions parses only the touched files and dependencies.
EcoAudit is deployed in AWS Stockholm (eu-north-1), running entirely on renewable energy with a 100% serverless, event-driven topology.
AWS Lambda (arm64 Graviton)
Drop an exported report.json from your CI pipeline or explore our pre-computed e-commerce benchmark audit right in your browser.
All parsing happens client-side in your browser. No files or code are uploaded to external servers.