What I think happens:
1. You submit a salary info struct, which includes time of submission. The struct does not contain a userId.
2. Your account's lastUpdatedSalaryDate gets updated, with only day/week/month level precision.
Someone with access to the entire database may be able to connect the two if the salary set for your job is small enough.
Then they weigh salary information based on how fresh the entry is. Stale entries don't get a good weight, and you updating your salary is just another info point, and it might go into another bucket if you got a title change (ex software eng -> sr. software eng.). If you got promoted, then the old salary info is probably still relevant for people in lower level positions.