Pulse is a time tracker. It stores the result of your work — your time entries — and never the raw artifacts behind them. This page explains exactly what lives where, who sees what, and which boundaries the system enforces.

⚠️ Pulse is in closed beta. The data model and access rules below are accurate as of the current release. Breaking changes will be called out in release notes.

What Pulse stores

What Pulse does NOT store

The data flow

flowchart LR
  subgraph apps["Your apps (connected to your AI tool, not Pulse)"]
    A[Notion]
    B[GitHub]
    C[Google]
    D[Slack]
  end
  T["Your AI coding tool<br/>(Claude Code, Codex, Gemini…)"]
  P[("Pulse<br/>your timesheet only")]
  A --> T
  B --> T
  C --> T
  D --> T
  T -- "logs entry via MCP" --> P

Your AI coding tool reads what it needs from its own connected apps, decides what to log, and sends only the entry to Pulse. Pulse itself never makes outbound calls to those apps.

Workspace & role boundaries

flowchart TB
  Tok["Your token / OAuth session"] --> Mine["Your timesheet (write + read)"]
  Mine -. "aggregated only" .-> Mgr["Manager: team totals by category/project<br/>(no individual rows)"]
  Mine -. "read-only impersonation" .-> Adm["Admin: 'view as member'<br/>(cannot modify anyone else's entries)"]