Skip to content

Close INV-11: remove hardcoded SMTP credential - #21

Open
sokanacollectiveCRM wants to merge 332 commits into
disc-template:mainfrom
sokanacollectiveCRM:chore/pre-commit-lint-hook
Open

Close INV-11: remove hardcoded SMTP credential#21
sokanacollectiveCRM wants to merge 332 commits into
disc-template:mainfrom
sokanacollectiveCRM:chore/pre-commit-lint-hook

Conversation

@sokanacollectiveCRM

Copy link
Copy Markdown

Summary

  • Remove hardcoded Gmail app password from src/scripts/sendTestEmail.ts; enforce EMAIL_PASSWORD from environment only.
  • Add smtpCredentialContainment.test.ts to prevent regression.
  • Add verification sign-off: docs/HIPAA_INV11_SMTP_CREDENTIAL_SIGNOFF.md.
  • Also includes Husky pre-commit lint hook on this branch.

Test plan

  • npm test -- src/__tests__/smtpCredentialContainment.test.ts
  • Post-rotation SMTP send returned Gmail 250 2.0.0 OK
  • CI on merge

Closure references

  • Commits: 0cf9088, 072efc3
  • Sign-off: docs/HIPAA_INV11_SMTP_CREDENTIAL_SIGNOFF.md
  • Production config evidence recorded in sign-off (no secret values)

Made with Cursor

jbony2888 and others added 25 commits August 14, 2026 15:44
Protect auth, webhooks, and public intake; keep staff roles in Cloud SQL; add CI/Cloud Build test gates so a merge to main can deploy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Repo-wide prettier/eslint is not clean yet; the workflow was failing on thousands of legacy files. Scope the GitHub lint job to this change set so the P0 deploy PR can pass.

Co-authored-by: Cursor <cursoragent@cursor.com>
…dening

P0 security hardening for Cloud Run deploy
Phones still need the frontend header-token fallback; this only helps browsers that honor CHIPS.
Persist home intake fields on operational updates, merge them in GET/PUT responses, expand PHI field aliases, and fall back to Cloud SQL when the PHI broker is unreachable in primary mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…me-type

Fix client profile saves for home type and PHI broker fallback
* Merge full intake profile fields on client GET and PUT responses.

Map missing phi_clients columns, extend operational updates, and return services, contact, health, and demographics fields so the Lead Profile form reads and persists saved values.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Add intake_age_years to User entity for profile field mapping.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix Prettier formatting in User entity for CI lint.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Jerry Bony <info@techluminateacademy.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
HIPAA-13A: admin-only /clients/fetchCSV with full phi_clients columns, deny audit logs, and tests. Also always mount /api/payment-methods so Payment Schedule card-on-file works when FEATURE_QUICKBOOKS is false.
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…payment-methods-mount

HIPAA-13A CSV admin-only + always mount payment-methods
Gate PUT /clients/:id/birth-outcomes with canAccessSensitive, reject birth-outcome keys on generic client update, and stop exposing free-text birth_outcomes in API responses.

Co-authored-by: Cursor <cursoragent@cursor.com>
Record Cloud Run revision IDs and build metadata after live deploy verification.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…payment-methods-mount

INV-12: Enforce birth-outcomes assignment and retire legacy narrative
Closes INV-09 IDOR on POST /users/:id/addhours by enforcing role, assignment, and IDOR guards with negative authorization tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
…-hours-idor

HIPAA-13E: Restrict service-hours writes to assigned doula or admin
* Minimize public intake emails to client number and CRM link (HIPAA-13F).

Stop sending clinical and identity intake payloads over ordinary staff Gmail;
staff are directed to the authenticated CRM deep-link instead.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix Prettier formatting for HIPAA-13F PR files.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Jerry Bony <info@techluminateacademy.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
)

Co-authored-by: Jerry Bony <info@techluminateacademy.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* Minimize doula assignment emails to client number + CRM link (HIPAA-05).

Remove client name, email, and assignment notes from doula match notifications;
direct doulas to authenticated activities deep-link with privacy tests.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix Prettier formatting on HIPAA-05 docs and preflight context.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Jerry Bony <info@techluminateacademy.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
… email path.

Co-authored-by: Cursor <cursoragent@cursor.com>
Run scoped ESLint and Prettier on staged files before each commit so local
checks match the pull-request lint workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
…uth.

Rotated Gmail app password is now loaded from EMAIL_PASSWORD (Secret Manager in prod); add containment tests and verification sign-off.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown

@jbony2888 is attempting to deploy a commit to the DISC NU's projects Team on Vercel.

A member of the Team first needs to authorize it.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants