Skip to content

Add Slack Desktop support - #113

Merged
abrignoni merged 1 commit into
mainfrom
feat/slack-windows
Sep 2, 2026
Merged

Add Slack Desktop support#113
abrignoni merged 1 commit into
mainfrom
feat/slack-windows

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Adds Slack Desktop support. Two artifacts from the app's Local Storage LevelDB:

  • Slack Workspaces (localConfig_v2): each workspace signed into, with name, URL, per-workspace user ID and domain, last-active flag, the client's most-recently-used and version timestamps, the channel or DM last open, and a per-workspace session token.
  • Slack Client Sessions (activitySession_): a usage timeline per workspace with session start, last activity, last logged, and duration.

Both read the LevelDB table and log files directly, so superseded versions of a key come back too, giving history rather than only the current state. Session tokens are masked to a recognizable prefix and suffix.

Slack Desktop is closed source, so the field meanings follow the observed Local Storage structure. They were validated against a constructed known-data fixture (authored, not from a real device, so fully redistributable; the builder is kept beside the corpus zip), not against Slack documentation. The fixture exercises token masking, superseded-version recovery, and both keys: 3 workspace records and 3 sessions across 2 workspaces.

Two artifacts from the Slack desktop app's Local Storage LevelDB. Slack
Workspaces parses the localConfig_v2 key: each workspace's name, URL, user ID,
domain, last-active flag, most-recently-used and version timestamps, the
channel/DM last open, and a per-workspace session token (masked). Slack Client
Sessions parses the activitySession_<teamId> keys into a per-workspace usage
timeline (start, last activity, last logged, duration).

Both read the LevelDB table and log files directly, so superseded versions of a
key come back too: an earlier set of workspaces or sessions appears alongside
the current one.

Slack Desktop is closed source, so the field meanings follow the observed
Local Storage structure. They were validated against a constructed known-data
fixture (authored, not from a real device, fully redistributable; builder kept
beside the corpus zip), not against Slack's own documentation. The fixture
exercises token masking, superseded-version recovery, and both keys: 3
workspace records (a 2-workspace config plus one superseded 1-workspace config)
and 3 sessions across 2 workspaces.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@abrignoni
abrignoni merged commit 526d1d3 into main Sep 2, 2026
10 checks passed
@abrignoni
abrignoni deleted the feat/slack-windows branch September 2, 2026 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant