{"slug":"dw-boardroom-v2","total":7,"limit":100,"offset":0,"since":null,"commits":[{"hash":"499a4f0","date":"2026-06-23 17:53:44 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-23T17:53:42 (1 files) — ecosystem.config.cjs.ENV-IFIED","body":""},{"hash":"7cd839e","date":"2026-06-23 17:34:41 -0700","author":"Steve","subject":"security: env-ify 4 boardroom files leaking DWSecure2024! plaintext (serve.cjs, api.ts, auth.ts, governanceClient.ts)","body":""},{"hash":"1d42552","date":"2026-06-23 17:33:48 -0700","author":"Steve","subject":"security: env-ify boardroom config — remove leaked Gemini key (...S2ic) + plaintext AUTH_PASS from tracked source","body":""},{"hash":"3568687","date":"2026-06-23 17:22:47 -0700","author":"Steve","subject":"Stage env-ified boardroom config (Gemini key + auth pass) — one-line swap ready","body":"ecosystem.config.cjs leaks the …S2ic Gemini key AND AUTH_PASS in a LIVE pm2\nservice (dw-boardroom-api on Kamatera). Staged ecosystem.config.cjs.ENV-IFIED\nreads both from env (dotenv try/catch + process.env) instead of literals.\nNOT applied — applying needs GEMINI_API_KEY + BOARDROOM_AUTH_PASS in the host\n.env first, else the service breaks on restart. Apply via:\n  mv ecosystem.config.cjs.ENV-IFIED ecosystem.config.cjs && pm2 restart dw-boardroom-api\nAdded .env.example + gitignored .env. Leaked key still live until Steve revokes."},{"hash":"b927e28","date":"2026-05-30 23:53:05 -0700","author":"Steve Abrams","subject":"gitignore: add *.bak-* *.pre-* *.orig *.save *.old copy-of-* *~ backup patterns","body":"Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>"},{"hash":"2260e48","date":"2026-05-18 20:28:40 -0700","author":"Steve Abrams","subject":"Stop tracking SQLite WAL/shm runtime files; gitignore *.db-shm/-wal/-journal","body":""},{"hash":"82c6129","date":"2026-05-06 10:25:15 -0700","author":"Steve Abrams","subject":"initial scaffold (gitify-all 2026-05-06)","body":""}]}