Feature area
Integration logic/state
Problem or use case
No chore can be hidden from specific profiles. Every chore is visible to everyone — sensor, dashboard, OpsCenter, calendar. That's fine for shared tasks, but breaks for things one household member manages about another member who's also a ChoreOps user:
- Gift prep — "Wrap Sarah's birthday present" shouldn't show on Sarah's dashboard or calendar.
- Surprise parties — prep chores need to stay invisible to the honoree while still shared among everyone else in on it.
- Managing another member's medical schedule — trackable/notifiable is exactly what ChoreOps is good at, but it shouldn't sit on a shared wall tablet visible to the whole household.
Dashboard preferences (pref_exclude_states, etc.) don't solve this — they only hide a card from a default template. The underlying entity is still exposed via Developer Tools, custom cards, or OpsCenter, so it's not an actual access boundary.
Proposed solution
- Optional
visible_to: [profile_id, ...] on chore config, default = all profiles (fully backward compatible).
- When set, the chore's entity/sensor/button is withheld from excluded profiles' dashboard context — not just filtered from a template.
- Calendar entries respect the same scope (otherwise a hidden chore still leaks through the shared calendar).
- Needs its own rule for admin/approver visibility: an admin who's also the gift recipient shouldn't see it via OpsCenter just because they're admin.
- Dashboard generation excludes scoped chores entirely for excluded profiles, rather than present-but-hidden.
Expected outcome
ChoreOps can handle genuinely private household coordination (gifts, surprises, one member's schedule) without a separate tool — currently that use case forces people out of ChoreOps entirely.
Scope caveat, to set expectations correctly: this can only ever be discretion from ChoreOps' own generated dashboards, OpsCenter, and calendar views — not real access control. Any HA admin can still see the underlying entity via Developer Tools → States regardless of this setting, since HA has no per-entity ACL for admins. This is worth having even with that limitation (it stops the accidental/default-view leak, which covers most real households), but it shouldn't be described as "private" in a security sense — more like "hidden from the obvious places."
Alternatives considered
Second ChoreOps instance — heavyweight, still visible to any admin.
Additional context
Yuvomi (a self-hosted family-planner app, formerly named Oikos) already uses this exact pattern — a per-item scope (family / restricted / private, default family) on its Documents module. Its Tasks module doesn't have it yet either, for what it's worth, so this isn't "copy a competitor's task feature," just a precedent for the shape of the scope field itself.
Feature area
Integration logic/state
Problem or use case
No chore can be hidden from specific profiles. Every chore is visible to everyone — sensor, dashboard, OpsCenter, calendar. That's fine for shared tasks, but breaks for things one household member manages about another member who's also a ChoreOps user:
Dashboard preferences (
pref_exclude_states, etc.) don't solve this — they only hide a card from a default template. The underlying entity is still exposed via Developer Tools, custom cards, or OpsCenter, so it's not an actual access boundary.Proposed solution
visible_to: [profile_id, ...]on chore config, default = all profiles (fully backward compatible).Expected outcome
ChoreOps can handle genuinely private household coordination (gifts, surprises, one member's schedule) without a separate tool — currently that use case forces people out of ChoreOps entirely.
Scope caveat, to set expectations correctly: this can only ever be discretion from ChoreOps' own generated dashboards, OpsCenter, and calendar views — not real access control. Any HA admin can still see the underlying entity via Developer Tools → States regardless of this setting, since HA has no per-entity ACL for admins. This is worth having even with that limitation (it stops the accidental/default-view leak, which covers most real households), but it shouldn't be described as "private" in a security sense — more like "hidden from the obvious places."
Alternatives considered
Second ChoreOps instance — heavyweight, still visible to any admin.
Additional context
Yuvomi (a self-hosted family-planner app, formerly named Oikos) already uses this exact pattern — a per-item scope (
family/restricted/private, defaultfamily) on its Documents module. Its Tasks module doesn't have it yet either, for what it's worth, so this isn't "copy a competitor's task feature," just a precedent for the shape of the scope field itself.