Product Research Pricing About Careers Blog Alpha Talk to us ⬇ Download Alpha Build
Research Measurement integrity · 20 August 2025 · 10 min read

What an org dashboard should refuse to show: aggregation limits on individual skill data

We built a skill graph accurate enough to be dangerous. This paper sets out the re-identification results that determined which views we ship, which we deliberately degrade, and which we will not build.

ReportAWL-2025-01
Versionv1.1
AreaMeasurement integrity

Updated 20 August 2025 · v1.1 documents the two declined enterprise requests

Abstract

We tested re-identification risk on aggregated skill views across 14 organisations. Team-level concept coverage on teams of five or more resisted re-identification, with a maximum single-engineer attribution confidence of 0.31. Below five engineers, or with any time-series granularity finer than monthly, attribution confidence exceeded 0.8 in 44% of cases. We describe the resulting product constraints: a hard minimum aggregation size, monthly-only trend granularity, suppression of concept-level detail on small teams, and refusal to expose individual comprehension scores to management under any configuration.

0.31maximum attribution confidence on teams of five or more, monthly granularity
44%of small-team views where attribution confidence exceeded 0.8
0configurations in which individual scores are exposed to management

The uncomfortable consequence of measuring comprehension well is that you now hold a per-engineer record of what each person does not understand. There is a version of this product that sells that record to management, and it would probably sell better than the one we built.

This paper is the measurement work behind refusing to. It is a privacy paper with an unusual property: the attacker we model is the paying customer.

Threat model

The adversary is an engineering manager or executive with legitimate dashboard access who wants to determine an individual's comprehension profile from aggregate views. They know their own organisation: who is on which team, who joined when, who works on what. That side knowledge is the whole problem, and no amount of aggregation removes it.

Adversary
Authenticated dashboard user with full org knowledge
Goal
Attribute a concept-level gap to a named individual
Views tested
Coverage heatmap, trend series, concept drill-down, bus-factor list
Organisations
14, team sizes 2 to 34
Method
Simulated attribution against known ground truth, 2,400 attempts
Metric
Attribution confidence, calibrated posterior on the correct individual

Where aggregation holds and where it fails

Figure 025507510035102030+Monthly granularityWeekly granularity
Maximum attribution confidence by team size and time granularity

On teams of five or more with monthly granularity, maximum attribution confidence was 0.31, which is close to what a well-informed manager could guess without the dashboard. Below five engineers the picture collapses. On teams of three, weekly granularity produced attribution confidence above 0.8 in 44% of attempts.

Time granularity turned out to matter as much as team size, which we did not anticipate. A weekly series lets an observer align a dip in team coverage with the week a specific person was on the specific module. Monthly aggregation blurs the alignment enough to break most attributions.

ViewTeam size 3Team size 5Team size 10Team size 20+Shipped?
Coverage heatmap, monthly0.720.310.180.095+ only
Coverage heatmap, weekly0.880.640.370.16no
Concept drill-down, monthly0.910.580.290.1410+ only
Trend series, monthly0.660.280.150.085+ only
Bus-factor module list0.940.890.850.81see below
Maximum attribution confidence across 2,400 simulated attempts. Lower is better.
The bus-factor list is unfixable, so we changed what it says

A list of modules with one comprehending engineer is inherently identifying: in most organisations the reader can name the person immediately. Aggregation cannot solve this. Instead the view names the module and never the engineer, states the count and not the identity, and is visible only to users who already have repository access. The information leak is real and we accept it, because a bus-factor warning nobody can act on is useless.

What we ship, degrade, and refuse

Hard constraints in the product

What we were asked for and declined

During the alpha we received requests for a per-engineer skill scorecard (eleven times), a ranked list of engineers by comprehension score (four times), and an export of individual scores into an HR system (twice). We declined all of them. Two prospective customers ended the conversation over it, and we have written this paper partly so the next such conversation can start from published reasoning rather than an assertion.

17requests for individual-level views during the alpha
0granted
2prospective customers lost over the constraint

Limits

The simulation harness, attribution model and per-view confidence distributions are published so that customers can check our arithmetic rather than trust our restraint. Organisation-level inputs are not released.

The re-identification hazard we model is the one Sweeney [1] demonstrated with supposedly anonymous records and Narayanan and Shmatikov [2] generalised to sparse high-dimensional data, which is exactly the shape of a concept-coverage matrix. Dinur and Nissim [3] establish why repeated aggregate queries leak, motivating our monthly-only granularity, and Dwork [4] provides the formal frame we do not yet claim to satisfy. The minimum-aggregation-size approach is k-anonymity in the sense of Sweeney [5], with its known weaknesses against an adversary holding side knowledge, which our threat model assumes. Ajunwa and colleagues [6] survey the workplace monitoring harms that motivate the constraints rather than the arithmetic. The underlying individual measure is documented in AWL-2026-06 [7].

Artefacts

Everything below is published or available on request. A number nobody can reproduce is an advertisement, not a result.

CodeAttribution simulation harnessPython, MIT
InstrumentAttribution model and posterior specificationPDF, 8 pages
DataPer-view confidence distributionsCSV plus notebooks
CodeShipped aggregation constraints as executable policyPython, MIT
DataDeclined-request log, redactedPDF, 2 pages

References

  1. Sweeney, L. (2002). k-Anonymity: A Model for Protecting Privacy. International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, 10(5).
  2. Narayanan, A., & Shmatikov, V. (2008). Robust De-anonymization of Large Sparse Datasets. IEEE Symposium on Security and Privacy.
  3. Dinur, I., & Nissim, K. (2003). Revealing Information While Preserving Privacy. PODS.
  4. Dwork, C. (2006). Differential Privacy. ICALP.
  5. Sweeney, L. (2000). Simple Demographics Often Identify People Uniquely. Carnegie Mellon University, Data Privacy Working Paper 3.
  6. Ajunwa, I., Crawford, K., & Schultz, J. (2017). Limitless Worker Surveillance. California Law Review, 105(3).
  7. Bhardwaj, M. (2026). The comprehension gap: 200 engineers, 12 months, and what agentic coding did to recall. AI Work Lab Research, AWL-2026-06.
Cite this work

Bhardwaj, M. (2025). What an org dashboard should refuse to show: aggregation limits on individual skill data. AI Work Lab Research, AWL-2025-01.

Mohit Bhardwaj

Head of Research · aiworklab

Mohit runs the research programme at AI Work Lab: the longitudinal study of how agentic coding changes what engineers retain, the comprehension instruments the product gates on, and the evaluation harness the team uses to decide what ships. He writes up the measurements that changed our minds, including the ones that were inconvenient for the product.