Awesome Reviewers

Use fail-closed security boundaries and secret-safe observability by default.

1) Auth/CSRF: never store or act on unverified callbacks

Example (deny-by-default, allow only explicit “Store”):

if (authNonce !== state) {
  const choice = await vscode.window.showWarningMessage(
    `Auth callback could not be verified. Store token returned from ${uri.path}?`,
    { modal: true },
    "Store",
  );
  if (choice !== "Store") return; // fail closed on dismiss
}
// proceed to store token only after verified

2) Authorization/ownership: never “silently takeover” security-critical actions

3) Credentials/state updates: only override the specific credential channel you intend

4) Sandboxes/path access: minimize writable roots and validate real boundaries

5) Secret-safe logging: redact by policy, not by call-site hope

6) Sensitive-file handling: protect against “unknown filename” secrets

Adopt these as team coding standards: deny-by-default on security checks, no silent ownership/credential takeover, tight filesystem write boundaries, and redaction-first observability.