Transparency
Who sees what.
Every role. Every data type. Every visibility level. One canonical matrix. The same table renders here for the public and inside the product for your employees. If these answers ever differ, that is a bug.
| Role | Individual message | Channel aggregate | Group aggregate | Team signal | Retention signal | Org signal | Opt-in status |
|---|---|---|---|---|---|---|---|
| You (employee) | never | aggregate only | aggregate only | aggregate only | aggregate only | aggregate only | visible |
| Your manager | never | aggregate only | aggregate only | aggregate only | aggregate only | aggregate only | never |
| HR / People | never | aggregate only | aggregate only | aggregate only | aggregate only | aggregate only | never |
| ClarityLift admin | never | aggregate only | aggregate only | aggregate only | aggregate only | aggregate only | never |
| Founder / CEO | never | aggregate only | aggregate only | aggregate only | aggregate only | aggregate only | never |
Individual messages are never retained. Aggregate cells count patterns across 10 or more human opted-in employees. Your opt-in status is visible only to you on /my-data.
What each column means
Every column is a data shape ClarityLift can produce. The matrix above says which roles can see each shape and at what resolution.
Individual message
A single message sent by a single employee in a channel or DM. The database has no column for this. It is structurally prevented. The "never" entries in this column are the same answer the system itself would give if asked.
Channel aggregate
Counts, topic clusters, tone indicators rolled up across a single channel. Only produced when the channel has 10 or more active participants. Employees, managers, HR, and admins see the same aggregate view.
Group aggregate
Same shape as channel aggregate but for a group conversation. Group DMs additionally require every participant to have explicitly opted in. Without unanimous consent the group produces no signal at all.
Team signal
Health scores and pillar breakdowns for a team. Friction, disengagement, communication health, culture drift, retention signals. Rolls up from channel and group aggregates. Always team-level, never employee-level.
Retention signal
Team stability patterns derived from communication volume and tone. Never shown to employees about their own team because the signal is noisier at that granularity. Managers, HR, admins, and founders see it at team level.
Org signal
Org-wide rollups of team signals. Useful for leadership and board reporting. Never attributable to individuals or small teams.
Opt-in status
Whether a specific employee has opted in, opted out, or is pending. Visible only to that employee on /my-data. Every other role sees only the aggregate rate for the workspace, not individual answers.
Three invariants enforce this table
No DMs. Ever.
Direct messages are never processed. The bot never requests DM scopes. Private conversations stay private, regardless of plan, role, or policy change.
Aggregate-only with a 10-person floor
Every analyzed conversation needs at least 10 human participants. The system does not count smaller groups because there is no shape of output at that size that avoids individual attribution.
Structurally prevented, not policy-promised
The "never" cells above are not "we promise not to look." The database has no column for individual attribution. It cannot answer a question it has no shape for.
Every employee sees this table too.
The same matrix is embedded on /my-data when an employee logs in. What your leadership sees is what your employees see. No hidden columns. No elevated views.