Changelog

Your Data, Your Control

Export everything with one click, delete your account without hoops, and see exactly which services handle your data. Data that no longer serves you is now removed on a fixed schedule.

  • Download all your data as JSON from Settings
  • Deleting your account cancels an active subscription automatically
  • Alert history older than 18 months is deleted automatically
  • Disconnected AWS accounts are permanently removed after 30 days
  • Your data is never used to train AI models, enforced at the gateway
  • No session recording, no tracking cookies, so no cookie banner
  • Unsubscribe from product emails in one click, right from your inbox
  • Privacy policy updated with the complete list of services that process your data, and how long each kind of data is kept

Narrower Lambda Permission (Template Update)

The stack's Lambda permission was scoped to a QuietBill-* name prefix, which also covered any unrelated function you happened to name QuietBill-something. It is now scoped to the stack's own generated names, matching how roles, topics and alarms were already scoped. This update only removes access.

  • Lambda write permissions scoped to the stack's own resources instead of a QuietBill-* name prefix

IAM Permission Changes (read-only)

- lambda:* on arn:aws:lambda:*:<account>:function:QuietBill-* (now scoped to <StackName>-*)

Infrastructure Catalog and Bill Coverage (Template Update)

More resource config in Infrastructure (NAT, Route 53, SQS, Config, Backup, EBS), clearer bill coverage when spend is not tied to a named resource, and /status month-to-date coverage when material.

  • NAT gateway chips show private connectivity and non-available state
  • Route 53 hosted zone chips show private zones
  • SQS queue attributes read during daily inventory refresh (capped per region)
  • Infrastructure rows show a FIFO chip for FIFO queues (standard queues stay unlabeled)
  • Coverage line names top bill-only services and splits tax from operational spend
  • Config recorder, Backup vault, Backup plan, and EBS volume inventory (floor tier)
  • Load balancer per-resource cost from hourly base plus CloudWatch ConsumedLCUs (reconciled to ELB bill lines)
  • /status shows month-to-date bill coverage when material

IAM Permission Changes (read-only)

+ sqs:GetQueueUrl
+ sqs:GetQueueAttributes
+ config:DescribeConfigurationRecorders
+ backup:ListBackupVaults
+ backup:ListBackupPlans

S3 Bucket Discovery for Infrastructure (Template Update)

QuietBill can now find S3 buckets in your infrastructure view even when they have no recent CloudWatch activity — including empty or idle buckets that still show up on your bill.

  • S3 buckets discovered via bucket location lookup when S3 is on your active services list
  • Fixes missing buckets in per-resource cost and alert context for accounts that bill for S3 but emit few metrics

IAM Permission Changes (read-only)

+ s3:GetBucketLocation

S3 Versioning, Lambda Memory & DynamoDB Capacity Scanners (Template Update)

QuietBill now catches three common silent cost leaks: S3 buckets with versioning enabled but no lifecycle rules, Lambda functions with over-provisioned memory, and DynamoDB tables paying for capacity they never use.

  • S3 versioning bloat: detects buckets where old versions pile up without expiration rules
  • Lambda memory right-sizing: flags functions with high memory but short durations, estimates savings
  • DynamoDB over-provisioned capacity: finds tables using <20% of their provisioned RCU/WCU

IAM Permission Changes (read-only)

+ s3:ListAllMyBuckets
+ s3:GetBucketVersioning
+ s3:GetBucketLifecycleConfiguration
+ lambda:ListFunctions
+ dynamodb:ListTables
+ dynamodb:DescribeTable

Cost Forecasting, Right-Sizing & Budget Pacing

Your weekly digest now tells you where your bill is heading, which instances are oversized, and whether you're on budget — before month-end surprises.

  • Monthly cost forecast: projected end-of-month spend based on current daily pace, right in your digest
  • Budget pacing: see if you're on track, ahead, or over budget each week (set your monthly budget in settings)
  • Right-sizing suggestions: EC2 instances running at <20% CPU get a cheaper alternative recommendation with estimated savings
  • "What changed" correlation: cost spike alerts now show the likely CloudTrail event that caused them
  • Per-service % changes in weekly digest: see +47% on Lambda at a glance, not just +$12
  • Recommended mutes: new accounts get smart preset that silences CloudFormation, CodeBuild, and other IaC noise

Expanded Resource Coverage (Template Update)

ECS task definitions and EventBridge rules are now visible — idle services and broken event targets get caught before they pile up costs.

  • Idle ECS services detected via task definition analysis
  • Broken EventBridge targets flagged before they silently fail

IAM Permission Changes (read-only)

+ ecs:DescribeTaskDefinition
+ events:ListRules

Design System & Theming Foundation

Every color in the app now comes from a single design token system — consistent look across every page, and the groundwork for custom themes.

  • Unified color tokens: all UI surfaces, text, borders, and accents reference a shared palette
  • Consistent severity colors across alerts, dashboards, pricing, and settings
  • Landing, login, signup, changelog, and terms pages aligned to the same visual language

Runtime Usage Monitoring & Alert Controls

CloudTrail catches resource creation. Now we also detect runtime cost spikes — Lambda loops, NAT data charges, DynamoDB throughput surges — within 15 minutes.

  • Usage spot-check: 15-minute CloudWatch metrics scan detects runtime cost spikes ($5/hr threshold)
  • Event-type muting: silence specific AWS event types you don't need alerts for
  • Timezone-aware delivery: daily reports arrive at 09:00 your local time
  • Infrastructure inventory: dashboard shows active resource counts with cost attribution
  • Region selector: choose which AWS regions to monitor for usage data
  • Alert severity pipeline: every alert carries critical/warning/info severity from generation to display
  • Alert History page redesigned with severity beams, service icons, parsed message sections
  • Multi-line cost formatting in Telegram, Slack & email — no more unreadable bold blocks

Brand Voice & Billing Migration

AI alerts now speak like a human teammate, not a monitoring tool. Migrated to Paddle for simpler checkout.

  • AI prompt enforces brand voice — first-name addressing, single actionable hint per alert
  • Migrated billing from Polar to Paddle — checkout overlay, webhook sync, customer portal
  • Dashboard never calls AWS Cost Explorer on page load — cache-only reads
  • Lambda cost text and estimatedCost separators rewritten for clarity

Connection Controls & Passkey UX

Soft-delete AWS accounts with 30-day retention. Mute notification channels without removing them.

  • AWS account soft-delete with 30-day recovery window
  • Notification channel mute/unmute — pause alerts without disconnecting
  • Passkey inline rename in settings

Alert Resolution & Expanded Coverage

When a risky resource is deleted, the original alert is resolved with a reaction — no second anxiety-inducing message.

  • In-place alert resolution for Telegram, Slack & email (reaction on resolved alerts)
  • ECR lifecycle-policy and AWS Config recorder cost-risk coverage

AWS Cost Optimization & PWA

35% reduction in AWS API costs per account. Progressive Web App support.

  • Batched trend chart (7 CE calls → 1), STS credential caching, health check merged into daily cron
  • PWA manifest with shortcuts, maskable icons, mobile-web-app support
  • SEO audit: noindex on protected routes, sitemap cleanup
  • Pending invoice uses AWS native Estimated flag instead of hardcoded date window

Connection Health & Real-Time Alerts

Automated connection monitoring, broken-connection alerts with inline Telegram buttons, and duplicate prevention.

  • Automated connection health monitoring (Trigger.dev scheduled task)
  • Connection-broken/restored Telegram+Slack alerts with inline buttons
  • Re-onboarding flow for broken accounts — updates existing record
  • Month-end pending invoice banner
  • Cost Explorer self-cost alert when monitoring overhead exceeds $1/day