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.
source: agent.psk_… is shown once at creation and never recoverable from the database.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.
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)"]