Skip to content

HIPAA-13E: Restrict service-hours writes to assigned doula or admin - #18

Open
sokanacollectiveCRM wants to merge 324 commits into
disc-template:mainfrom
sokanacollectiveCRM:fix/hipaa-13e-service-hours-idor
Open

HIPAA-13E: Restrict service-hours writes to assigned doula or admin#18
sokanacollectiveCRM wants to merge 324 commits into
disc-template:mainfrom
sokanacollectiveCRM:fix/hipaa-13e-service-hours-idor

Conversation

@sokanacollectiveCRM

Copy link
Copy Markdown

Summary

  • Closes INV-09 IDOR on POST /users/:id/addhours by enforcing role (admin | doula), approved account status, active assignment (canAccessSensitive), and IDOR guards on path/body doula_id.
  • Adds 11 negative/success authorization tests in addHoursAuthorization.test.ts.
  • Adds ticket evidence doc docs/HIPAA_13E_SERVICE_HOURS_IDOR_STATUS.md.

Test plan

  • npm test -- addHoursAuthorization.test.ts — 11/11 pass
  • Full suite npm test — 51 suites / 413 tests pass
  • Production deploy + live negative auth spot-check (doula unassigned → 403; assigned → 200)
  • Formal closure sign-off in status doc

Made with Cursor

jbony2888 and others added 25 commits July 17, 2026 18:16
…safe-logging

Secure backend production logging for SEC-01
Keep Cloud SQL socket connections working in production by not forcing TLS when CLOUD_SQL_SSLMODE=disable or host is /cloudsql/..., and fix the gcloud deploy flag plus the QB sync unit mock.

Co-authored-by: Cursor <cursoragent@cursor.com>
fix(cloud-sql): honor SSL disable on Cloud Run unix sockets
Mount /contracts/templates with cache-busting, harden role checks, and list storage DOCX templates so Cloud Run no longer 404s the admin templates panel.

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

Expose contract templates API for Contracts page
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>
@vercel

vercel Bot commented Aug 23, 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.

Record PR #80 / revision 00040-n2d verification, board INV-09 closure, and optional prod re-check script.

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