AWS Login Scheduler

Security

This page says plainly what the extension does and does not protect, so you can decide what to trust it with. It is written for someone who will be handing it an AWS password.

The limitation, stated first

Your AWS password and TOTP secret are stored unencrypted on your own device. They live in the extension's local storage as plain text.

What that does protect against:

What it does not protect against:

Why it is not encrypted

Because the honest answer is better than encryption that only looks like protection.

The extension's entire purpose is to sign in at 09:00 with nobody present. Any key it can use unattended is a key it must be able to obtain without you — which means storing it on the same disk, in the same profile, reachable by exactly the same attacker who could have read the password directly. Encrypting under such a key moves the problem one file to the left and changes nothing about who can read your credentials.

That includes the option that looks strongest on paper: a non-extractable Web Crypto key kept in the browser's own database. The Web Crypto specification explicitly declines to guarantee that key material is not written to disk unencrypted, and Chrome gives such keys no operating-system keystore or hardware backing. Marking a key non-extractable constrains the JavaScript API; it does not protect storage.

Chrome's own password manager does better because it encrypts under a key held in the OS keychain. No extension API exposes that. The W3C WebExtensions secure-storage proposal exists precisely because there is no such API today — and it remains a proposal.

Shipping something that reviewers and users would read as “the credentials are encrypted” when the practical security is identical to plain text would be worse than this page.

What would actually fix it

Two designs genuinely protect credentials at rest. Both cost something:

Choosing between them is a product decision, not pending work. Until one lands, the storage layer is marked development-only in the source, and the extension states this where you type your password.

What to do in the meantime

Design decisions you can verify

These are enforced by tests that read the source itself, so they survive future changes rather than depending on review.

Reporting something

If you find a security problem, please report it privately using the contact address on the Privacy Policy page. Never include a password, a TOTP code, a session cookie or a full AWS URL in a report.