Transparency

What the game sends, and what it does not.

This analytics site stores anonymous gameplay telemetry for Beards vs. Claws so players can understand performance, level flow, and community trends without exposing account identity. The only long-lived player identifier in the payload is an opaque UUID that the game uses as playerId. It is not a SteamID, profile name, email address, or computer name.

Identity Model

Anonymous UUID

Sessions are grouped by a random UUID, not by platform account identity.

Server-Side Metadata

Timestamps

Request receipt times such as session start/end and event creation are written by the server.

Personal Data

Excluded

No SteamID, computer name, OS username, email, or payment data exists in the analytics schema.

Collected Analytics Fields

The table below reflects the fields currently accepted by the game analytics routes.

FieldWhat It MeansNotes
playerIdOpaque UUID used to connect sessions from the same anonymous player.This is not a SteamID, username, or real-name field.
appVersionGame build/version string.Used to compare stability and behavior between builds.
gameVariantGame mode or build variant being played.Used for aggregate segmentation only.
sessionIdServer-issued session token that links events to one session.Generated by the server when a session starts.
averageFpsAverage frames-per-second for the keepalive window.Performance trend only.
averageMemoryMBAverage memory use in megabytes for the keepalive window.Performance trend only.
totalDeathsRunning session death count at the time of the keepalive.Stored as a numeric counter.
totalKillsRunning session kill count at the time of the keepalive.Stored as a numeric counter.
shotsFiredByWeapon[].weaponIdWeapon identifier for a shots-fired counter entry.Stored per keepalive window.
shotsFiredByWeapon[].countHow many shots were fired with that weapon in the window.Merged with hit counts by weaponId.
hitsByWeapon[].weaponIdWeapon identifier for a hit counter entry.Stored per keepalive window.
hitsByWeapon[].countHow many hits were registered with that weapon in the window.Merged with shots-fired counts by weaponId.
voxelsDugRunning session total of voxels dug.Gameplay aggregate only.
voxelsPlacedRunning session total of voxels placed.Gameplay aggregate only.
currentSceneCurrent scene name during the keepalive snapshot.Used for scene dwell analysis.
currentLevelIdCurrent level identifier, when applicable.Nullable when the player is outside a level.
sessionIdSession token marking which session should be closed.The timestamp itself is written by the server.
sessionIdSession token linking the event to a session.Required on every gameplay event payload.
eventTypeOne of design, progression, log, or level.Defines which optional fields are relevant.
eventIdEvent name or identifier for design, progression, or log events.Level events fall back to levelId as the stored eventId.
progressionStatusProgression state such as Start, Complete, or Fail.Required for level events.
eventDetailOptional extra detail, including captured log message text.Only present when the game sends it.
valueOptional numeric metric for a design event.Stored as a floating-point value.
levelIdLevel identifier for level-specific events.Required for level events.
levelLoadSourceWhere the level came from: BuiltIn, External, or SteamWorkshop.Required for level start events only.
gamemodeGamemode attached to a level or server event.Stored only when provided by the game.
startedSessionBotsCountBot count used when a level or server session starts.Numeric aggregate, not player identity data.
startedSessionMaxPlayersLimitMaximum player limit configured for that session.Numeric aggregate, not player identity data.
sessionIdSession token linking the event to a session.Required on every server event payload.
serverActionWhether a listen server was started or joined.Allowed values are started and joined.
gamemode / startedSessionBotsCount / startedSessionMaxPlayersLimitOptional server configuration details attached to the event.Used for aggregate multiplayer analysis.
sessionIdSession token linking the scene event to a session.Required for both load and unload events.
sceneNameScene name that was loaded or unloaded.Used to compute time spent in scenes.
sessionIdSession token linking the combat event to one anonymous play session.Required on every per-weapon kill/death event.
weaponIdWeapon the player was holding when the kill or death happened.Deaths are tracked against the victim-held weapon, not the killer weapon.
eventKindWhether the event records a kill or a death for that held weapon.Allowed values are kill and death. Each row counts as one event.
otherActorTypeWhether the opposing actor was a bot or a real player.On kills this refers to the victim; on deaths it refers to the killer.

Server-generated timestamps and internal row IDs still exist behind the scenes so the site can build charts reliably, but those are not additional personal identifiers provided by players.

Explicitly Not Collected

These fields are not defined in the analytics payload or stored in the analytics tables used by this site.

FieldStatusNotes
IP addressNot collected as an analytics fieldThe analytics schema and validators do not define an IP field. A hosting provider may still see IPs in standard network logs outside the analytics tables.
SteamID or platform account IDNot collectedThe app stores only an opaque UUID in playerId.
Steam profile name or real nameNot collectedNo profile-name field exists in the analytics payload.
Computer name / device nameNot collectedNo hostname or machine-name field exists in the analytics payload.
OS usernameNot collectedNo local-account field exists in the analytics payload.
Email address or contact detailsNot collectedNo contact field exists in the analytics payload.
Hardware serial numbers or hardware IDsNot collectedThe analytics payload does not define any hardware identifier fields.
Precise location / GPS dataNot collectedNo location fields are sent by the game analytics routes.
Payment details or purchase historyNot collectedThe analytics payload has no commerce-related fields.
Files, screenshots, or desktop contentsNot collectedThe analytics payload is structured metrics plus optional game log text only.

Important nuance: the web host or reverse proxy delivering the site may still maintain ordinary access logs outside these analytics tables. This page describes the application-level analytics schema used by Beards vs. Claws itself.