Last updated: February 2026
How we protect your data, what access we request, and how AI providers handle your information.
ExecuFunction runs on Google Cloud Platform:
All responses include hardened HTTP headers:
Strict-Transport-Security — forces HTTPS for all connectionsX-Content-Type-Options: nosniff — prevents MIME-type sniffingX-Frame-Options: DENY — blocks clickjacking via iframesReferrer-Policy: strict-origin-when-cross-originPermissions-Policy — disables geolocation, microphone, and camera access for embedded contentEvery database query is scoped to the authenticated user. PostgreSQL Row-Level Security (RLS) policies enforce that users can only access their own data, even if application code has a bug.
RLS is enforced at the database level on every user-owned table. The application sets the current user context before each query, and PostgreSQL rejects any access that doesn't match the policy. This is a defense-in-depth measure — data isolation does not depend on application logic alone.
We request only the scopes needed for each integration and explain exactly why below.
| Scope | Purpose |
|---|---|
openid |
Verify your identity for login |
email |
Identify your account and send service notifications |
profile |
Display your name and photo in the app |
calendar |
Read your events to show your schedule; write events to create focus blocks and scheduled tasks. Calendar data is cached locally and re-synced from Google. You can disconnect at any time from Settings or from your Google Account permissions. |
We request access_type: offline so the app can sync your calendar in the background without requiring you to be logged in. The refresh token is encrypted with AES-256-GCM before storage.
| Scope | Purpose |
|---|---|
openid |
Verify identity for calendar connection |
offline_access |
Background calendar sync without re-authentication |
User.Read |
Read your name and email for account linking |
Calendars.Read |
Read your Outlook calendar events |
Calendars.ReadWrite |
Create focus blocks and scheduled tasks on your calendar |
Calendars.Read.Shared |
See shared calendars you have access to |
Calendars.ReadWrite.Shared |
Schedule events on shared calendars you have write access to |
Microsoft OAuth uses the PKCE authorization flow for enhanced security.
The MCP code integration indexes repositories from your local filesystem only. ExecuFunction does not request GitHub or GitLab OAuth access. Repository paths, commit history, and code embeddings are processed locally and stored in your account's isolated database partition.
Your data is never used to train AI models. All AI providers process your data solely to generate real-time responses. No provider retains your data for model improvement.
When you use the AI assistant, your messages and relevant context (task titles, calendar summaries, notes) are sent to a major model provider to generate a response. We route to providers including Google, Anthropic, and OpenAI, selected for their commitments to not training on customer data. Each provider's data processing is governed by their respective data processing agreements.
We do not send your entire database to AI providers. Only the context relevant to your current query is included, retrieved through a RAG (Retrieval-Augmented Generation) pipeline.
When Daemon operators execute code, it runs in isolated cloud sandboxes (E2B) with no access to your account data, local filesystem, or network credentials. Each execution gets a fresh, ephemeral environment that is destroyed after the run completes.
To request full account deletion, email hello@execufunction.com. All data is permanently removed within 30 days.
If you discover a security vulnerability, please report it responsibly:
Email: security@execufunction.com
We ask that you:
We take all reports seriously and will respond within 48 hours.
For security-related questions, contact security@execufunction.com. For general inquiries, reach us at hello@execufunction.com.