Not every user in a tenant should have access to every site — a field technician working one project should not be able to edit data for another. The SiteAccess model enforces this by recording a userId, a siteId, and a role for each access grant. The role field maps to the SiteRole enum: Admin users can manage access and configure the site, Editors can enter and edit data, and Viewers can read results and reports only. Administrators manage SiteAccess records to control which team members work each site.
Technical section
Data model, API, and internals — visible to developers.
