Sensitive data trace
A unique marker was planted in every personal, sensitive and secret field. A student then used the app by text, on the web and through the API, sent a mentor introduction and registered a webhook. Every place data can land was searched for every marker. How it works, and every field's class.
measured at 2011d91
21
markers planted
54
sightings, all checked
0
leaks
3
sealed facts and secrets seen nowhere
Where each marker turned up
| Field | Class | store | sealed store | consent ledger | evidence | student export | student API | student screens | texts to the student | calendar feed | sent with approval | network: campus services | network: webhooks | app admin | outcomes | server logs |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
students.chosenName | personal | ✓ | · | · | · | ✓ | ✓ | ✓ | · | ✓ | ✓ | ✓ | · | · | · | · |
students.phone | personal | ✓ | · | · | · | ✓ | · | · | · | · | · | · | · | · | · | · |
students.pronouns | sensitive | ✓ | · | · | · | ✓ | ✓ | ✓ | · | · | · | · | · | · | · | · |
students.goal | personal | ✓ | · | · | · | ✓ | · | · | · | · | · | · | · | · | · | · |
students.household.monthlyGrossIncome | sensitive | ✓ | · | · | · | ✓ | · | ✓ | · | · | · | · | · | · | · | · |
classes.room | personal | ✓ | · | · | · | ✓ | ✓ | ✓ | · | · | · | · | · | · | · | · |
shifts.employer | personal | ✓ | · | · | · | ✓ | ✓ | ✓ | · | · | · | · | · | · | · | · |
deadlines.title | personal | ✓ | · | · | · | ✓ | ✓ | ✓ | · | ✓ | · | · | · | · | · | · |
reminders.text | personal | ✓ | · | · | · | ✓ | · | · | · | · | · | · | · | · | · | · |
meetings.attendees | personal | ✓ | · | · | · | ✓ | · | · | · | · | · | · | · | · | · | · |
money.bills | sensitive | ✓ | · | · | · | ✓ | · | · | · | · | · | · | · | · | · | · |
money.balance | sensitive | ✓ | · | · | · | ✓ | · | · | · | · | · | · | · | · | · | · |
vault.name | sensitive | ✓ | · | · | · | ✓ | · | · | · | · | · | · | · | · | · | · |
sealed: doc contents | sensitive | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
sealed: justice_involvement | sensitive | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
sealed: class_site_token | secret | · | · | · | · | · | · | · | · | · | · | ✓ | · | · | · | · |
api_tokens.label | personal | ✓ | · | · | · | ✓ | · | · | · | · | · | · | · | · | · | · |
webhooks.url | personal | ✓ | · | · | · | ✓ | ✓ | · | · | · | · | · | ✓ | · | · | · |
drafts.body (mentor note) | personal | ✓ | · | · | · | ✓ | · | ✓ | · | · | ✓ | ✓ | · | · | · | · |
api token (issued) | secret | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
webhooks.secret | secret | ✓ | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
✓ the marker was found there and its class may go there. · not found. A leak fails the sensitive-data gate.
Where each class may go
| Place | Personal | Sensitive | Secret |
|---|---|---|---|
| store | yes | yes | no |
| sealed store | no | no | no |
| consent ledger | no | no | no |
| evidence | no | no | no |
| student export | yes | yes | no |
| student API | yes | yes | no |
| student screens | yes | yes | no |
| texts to the student | yes | yes | no |
| calendar feed | yes | no | no |
| sent with approval | yes | no | no |
| network: campus services | no | no | no |
| network: webhooks | no | no | no |
| app admin | no | no | no |
| outcomes | no | no | no |
| server logs | no | no | no |