What Everhour receives
Everhour does not store your conversation, and does not store personal data. The messages between you and the assistant never reach Everhour — we do not receive them, store them, or process them. We have no access to your chat history, your assistant’s memory, or your files. What does reach Everhour is the arguments of the tool calls the assistant makes: a task ID, a duration, a date, a search term, and any comment text you asked it to save. Everhour handles these as ordinary API requests — they’re what the tool needs in order to do the thing you asked for. We keep a log of those calls for 30 days, for one purpose: so we can debug a call that behaved incorrectly. After 30 days it’s discarded. Nothing beyond the call arguments themselves goes into it.One thing worth stating plainly: free text you ask the assistant to save — a timer comment, a search keyword — is a call argument. It travels with the request and sits in that 30-day debug log like any other API parameter. Everything else you type stays with your AI client.
What the assistant can do
Two different permission systems are in play, and it’s worth keeping them apart:- Who may connect Everhour at all is decided by your AI client, not by Everhour. In Claude, for example, only an Owner can add a connector on a Team or Enterprise plan. Everhour has no say in that and cannot see it.
- What the assistant may do once connected is decided entirely by Everhour, and it’s your existing role — nothing new to grant or configure.
Everything else is open to any member, including
everhour_list_clients — the list is readable by
everyone, a single client isn’t.
When a tool isn’t available to you, the assistant is told why rather than shown an empty report.
Approving and ending access
You approve the connection once, in your browser. Adding Everhour from your client sends you to Everhour to sign in and approve access — the assistant never sees your password. The flow is standard OAuth 2.1 with PKCE, and the token your client receives is audience-bound tohttps://api.everhour.com/mcp.
Access is short-lived by design. The access token expires after an hour and is renewed silently while the connection is active. Removing the connector in your client stops the renewal, so access ends within the hour.
Disconnecting always ends access, and always within the hour. What Everhour doesn’t have yet is a way to cut it off instantly — there’s no Revoke button in your profile and no revocation endpoint, so the current token runs out its remaining time. If you need access stopped sooner than that, contact support.
X-Api-Key header instead of OAuth, that key never expires on its own. Regenerate it in My Profile → API key to cut off every client using it at once.
Actions that ask before they run
Most of the tools are annotated read-only and change nothing. Seven carry the destructive hint, and a well-behaved client prompts you to confirm before running any of them:everhour_start_timereverhour_start_timer_without_taskeverhour_stop_timereverhour_log_timeeverhour_update_time_entryeverhour_delete_time_entryeverhour_favorite_task
everhour_delete_time_entry doesn’t remove an entry — it clears the duration to 0 and drops the comment, leaving the entry on its task and date.
Links the cards open
Everhour’s interactive cards open two kinds of link. Links to Everhour itself are built by the card and always resolve tohttps://app.everhour.com — the only origin we own and the only one we declare. There are two shapes: https://app.everhour.com/#/time(view:<task_id>) for a task, and https://app.everhour.com/#/projects/<project_id>/tasks for a project.
Links to a task in an external tool — GitHub, Asana, Jira, Linear, ClickUp, and the other platforms Everhour syncs with — are not constructed by the card. They’re stored on the task record, written there by your own integration when the task was synced, and the card passes that stored URL through unchanged. We deliberately don’t declare those origins: they differ per customer, we don’t own them, and we’d rather each one keep prompting you for confirmation than list domains that aren’t ours. The card accepts such a URL only when its scheme is http or https, and falls back to the Everhour address otherwise.
