Decide: viewer access to raw usage rows vs calculated summaries only #17
Labels
No labels
bug
decision
docs
enhancement
integration
ops
security
tech-debt
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/BatteryStorageCalculator#17
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Open Question carried over from
docs/roadmap.md.Privacy-relevant: hourly whole-home usage data reveals occupancy patterns. A ''viewer'' shared with someone outside the household is a different trust level than a co-owner.
Current state: viewer/editor/owner authorization is enforced on home-scoped routes, and role-aware shared dashboards exist. This question is about whether the viewer role should be able to reach the raw
usagerows at all, or be restricted to aggregates.Answering this may narrow existing route permissions rather than add new code.
Decision (Ryan, 2026-07-17): viewers get aggregates, calculated summaries, and reports only — no raw hourly usage rows.
Rationale: hourly whole-home data reveals occupancy patterns, and nothing a viewer legitimately needs requires row-level access. A viewer shared outside the household is a different trust level than a co-owner.
Implementation: narrow the existing route permissions so raw
usageReadings(and any other row-level usage endpoints) require editor/owner, leaving calculation results, analytics summaries, and reports at viewer level. This is folded into the #27 authorization pass — one trust-boundary PR instead of two.Closing as decided; implementation tracked in #27.