Names on this page are not in git. Cloudflare Access protects the served site; it does not protect the source repository, and git history cannot be cleanly erased. Contact records therefore live outside version control and are supplied to the build as an encrypted environment value. If that value is absent, this page degrades to IDs and roles rather than failing.
Members
No roster loaded. This build found neither private/committee_members.csv
nor a COMMITTEE_ROSTER_JSON environment value. That is the expected result of a clean
clone: member names are deliberately absent from this repository. Supply either source to populate
this page.
Declared conflicts
A declared conflict does not disqualify a member from the Committee. It removes them from ratification of the affected items, which is recorded alongside the decision.
No conflicts declared.
Keeping this current
Membership records — IDs, roles, terms, status — live in data/committee_members.csv and are versioned. Names, addresses, and phone numbers live only in the private contact file, which is excluded by .gitignore and supplied to the deployment separately.
Members are retired with a status flag rather than deleted, and IDs are never reused. A past member's participation history has to remain readable against the decisions they ratified.