Skip to content

v1.0 ยท last updated 1 August 2026

Security

Written to be read by whoever got handed the ticket, and to be attached to it afterwards. If something you need isn't here, email hello@kudosnap.com and it gets added.

what this is

kudoSnap is a peer-to-peer employee recognition app for Slack. It asks people a short question about a coworker, and delivers the answer to that coworker as a direct message with no name attached. It has no web-facing product surface that accepts input, and no public posting of any kind.

permissions

Seven Slack bot scopes, listed in full. No user scopes. No message-history scope of any kind, so message content is not readable by this application.

PermissionWhat it lets us doWhat it does not
channels:readSee which public channels exist and who's in themRead a single message in any of them
groups:readSee who's in a private channel the bot was invited toRead those messages, or see private channels it wasn't invited to
mpim:readSee who's in a group DM the bot is part ofRead those messages
users:readSee names, avatars, and timezones from the member directorySee email addresses โ€” that's a separate scope we don't request
users.profile:readRead the department field your Slack admin defined, so recognition can be grouped by teamRead profile fields we don't ask for, or any custom field's history
chat:writeSend you a DM and draw the app's Home tabPost in any channel, public or private
team:readSee your workspace's name and email domainSee anything about the individuals in it

Adding the workspace dashboard required no additional scopes โ€” it is built entirely from votes cast inside kudoSnap.

what's stored

Per person: Slack user ID, display and real name, avatar URL, timezone, job title and department where the workspace defines those fields, channel membership as a derived weighting, questions delivered, and votes cast and received.

Per workspace: Slack team ID, workspace name, email domain, bot token, and install metadata.

Not stored: message content, email addresses of individuals, files, and free text of any kind โ€” kudoSnap has no text input, so there is no user-authored content in the system.

subprocessors

  • VercelApplication hosting and serverless execution
  • SupabasePostgres database; all application data at rest
  • PostHogProduct analytics; no vote or recognition content
  • SlackSource of identity and delivery channel

No other processor receives workspace data. No data broker, no advertising network, no AI training pipeline.

data residency

Hosted on Vercel and Supabase. If your review needs the specific region on record, email hello@kudosnap.com and you'll get it in writing the same day.

encryption

In transit: TLS on every connection, to the application and between the application and its subprocessors. In use: Slack bot tokens are stored encrypted at rest by Supabase.

authentication

The workspace dashboard authenticates through Slack's OpenID Connect. Sessions are stateless signed JWTs in an httpOnly cookie, 30 day expiry, revoked by logout or expiry. There are no kudoSnap passwords, so there is no password database to breach.

Every dashboard request is scoped to the workspace in the session token. There is no cross-workspace query path.

retention and deletion

Removing kudoSnap from Slack revokes its token and stops all delivery immediately.

Deletion of stored data is currently a manual process: email hello@kudosnap.com and the workspace and everything belonging to it is deleted within seven days, with written confirmation. Automatic deletion on uninstall is not yet implemented. It is being built, and this entry changes the day it ships.

Individual deletion on the same terms, by the same route. Deletion cascades โ€” users, votes, recognitions, deliveries, and derived cards all go with the workspace row.

export

None. There is no export function in the product, for administrators or for us, in any format. This is a design property rather than a policy: no code path produces person-linked output.

SOC 2

No. kudoSnap does not have a SOC 2 report, and claiming otherwise or implying one is in progress would be the wrong way to start this relationship.

What exists instead: a permission set narrow enough that message content is unreadable, no export path, no password store, a single named person accountable for the system, and this document. For many reviewers that is not sufficient, and that's a legitimate conclusion to reach.

If a SOC 2 is a hard requirement for your workspace, say so โ€” that is useful information and it's the thing that would move it up the list.

DPA

Not available as a standard document yet. Email hello@kudosnap.com with what your legal team needs and you'll get a real answer rather than a redirect.

incident contact

hello@kudosnap.com. One person, usually within a day, faster for anything described as a security issue. Affected workspaces are notified directly.