Skip to main content

PII Removal

Before a match is published, we remove or change these values, because they could identify a player.

WhereWhat we do
player_personal.name, clan_tagReplaced with redacted.
player_name.name_new, name_oldReplaced with redacted.
player_personal.steam_idReplaced with a letter per player (A, B, C, …) in order of first appearance. The letters restart each match.
player_personal.crosshair_codeReplaced with redacted: a custom crosshair code is close to unique per player.
player_personal.viewmodel_offset_x, viewmodel_offset_y, viewmodel_offset_z, viewmodel_fovSet to null.
player_chat.textReplaced with redacted.
player_status.pingSet to 0.
player_info.wins, rank_update.win_countValues above 2500 are published as 2501.
header.sharecode, demo_idReplaced with redacted.
convar.value on the steamworks_sessionid_server rowReplaced with redacted: the server's Steam session leads back to the exact match. Every other setting is published as sent.
The csds index objectsharecode, demoId and metadata.bucket are replaced with redacted, internal job ids with the match's public id, and matchDate is cut to the minute.

In the index object, each changed column's origin ends in -redacted or -capped.

Everything else is published as the game and the pipeline recorded it. That includes header.server_name, as the server named itself, and header.match_date, to the second; only the index object's matchDate is cut to the minute.