Privacy Policy
Effective date: September 3, 2026
VibeKit ("we", "us", "our") operates the VibeKit platform, the website at vibekit.bot, the iOS application, the web dashboard at app.vibekit.bot, the CLI, and published npm packages (collectively, the "Service"). VibeKit is the data controller for the personal data described in this policy; contact details are in Section 11. This policy explains what data we collect, how we use it, who we share it with, and your rights.
By using the Service you also agree to our Terms of Service.
1. Information We Collect
- Account info: Email address if you sign up via the web dashboard or iOS app. Apple/Google account identifier if you use Sign in with Apple or Google. Legacy accounts created through our former Telegram bot may still have an associated Telegram user ID, username, and display name on file.
- BYOK credentials: If you provide your own provider credentials (Anthropic API keys
sk-ant-api03-, Anthropic OAuth tokens sk-ant-oat01-, OpenAI API keys sk-proj-, or ChatGPT-subscription Codex OAuth tokens), they are stored encrypted at rest and used solely to call the relevant provider on your behalf. See Section 3 for details.
- Usage data: Session counts, token usage reported by the upstream AI provider, and cost calculations for billing.
- Collaborator email addresses: If you invite someone to collaborate on an app, we store the email address you provide and send that person an invitation on your behalf. If they do not have a VibeKit account, we hold that address so the invitation can be claimed when an account with it is created. You are responsible for having a reason to share that person's address with us; either of you can ask us to delete it at [email protected].
- App data: Source code, files, environment variables, and configurations you create or upload, stored in an isolated AWS Fargate container per app, with an EFS workspace mount for agent state.
- Agent transcripts: Messages exchanged with your agent (including file context the agent fetched) are stored so you can scroll history. You can clear them per-app from the dashboard. When you delete an app or clear its chat, a copy of the transcript is archived for the quality review described in Section 2; the archive is removed when you delete your account, or earlier on request.
- Public app listing: If you mark an app as public, its name, the description you wrote, and its live URL are shown in the public gallery and may appear in VibeKit's own social-media posts. Nothing else about the app or your account is published.
- Server logs and IP address: Our web servers log each request with its IP address, user agent, path, status, and time. These logs are used for security, abuse investigation, and debugging and are kept for 10 days. Your IP address is also recorded on security-relevant events (the audit log below). Visits to hosted apps are counted with a one-way daily hash of the visitor's IP, so the visitor statistics shown to app owners never contain an IP address.
- Payment info: Stripe handles card data directly, we never see card numbers. We retain the Stripe customer ID, last 4 digits, and the credit-purchase ledger. If you request a refund from Apple for an in-app purchase, we share whether the purchase was delivered and how much of it was used so Apple can decide the request.
- Device info: Push notification tokens (if you enable notifications), device type, and browser user-agent for delivering the service and debugging issues.
- Security events: Each environment-variable change and other security-sensitive mutation is recorded to an audit log with source (user vs. infrastructure) and action, to support incident response.
2. How We Use Your Data
- To operate the Service, provision Fargate tasks, route AI requests, sync agent state, serve your subdomain at
<name>.vibekit.bot.
- To process AI requests through whichever path applies to you (your BYOK credential, or OpenRouter against your credit balance).
- To bill consumed credits to your balance and record the transaction.
- To send push notifications about agent activity (if enabled).
- To send service and product emails, transactional messages (receipts, deploy and build notifications, account alerts) and occasional product updates about your apps. You can opt out of non-essential emails via the unsubscribe link in any such email or by contacting us; transactional messages required to operate your account (e.g. billing receipts, security notices) are sent regardless.
- To measure whether those emails worked. Our email provider (Amazon SES) records delivery outcomes (delivered, bounced, marked as spam) and, for most messages, whether the email was opened and whether a link in it was clicked. Opens are detected with a small tracking image, and tracked links are routed through a redirect before landing on our site. We use this to tell whether an email reached you and whether a notification was useful, not to build a profile of you. Links that open the iOS app deliberately skip redirect tracking, so those clicks are not recorded at all. Turning off non-essential email via the unsubscribe link also stops the tracking that came with it.
- To investigate abuse, debug issues, and improve the Service. Our staff may read agent transcripts and app logs while doing this, for example when you report a problem or when a session shows signs of failing.
- Automated quality review. After a chat session ends, its transcript (including archived transcripts of deleted apps) is sent to an AI model (currently Anthropic's Claude, via OpenRouter, under the same data-discount setting described in Section 4a) which returns a satisfaction score, an outcome, and a one-line diagnosis for our staff. This is how we find sessions where the agent claimed something worked and it did not. The model's output is a review row; it is not used to train anything and is deleted with your account.
- We do not train models on your data. We don't train models.
- We do not sell your data, and we do not share it for advertising.
Legal bases (EEA/UK). We process account, app, transcript, payment, and usage data to perform our contract with you (operating the Service and billing it). We process server logs, security events, the automated quality review, abuse investigation, and product-improvement analysis under our legitimate interest in running a secure, working service, balanced against your rights. Analytics cookies in the EEA, UK, and Switzerland, and non-essential email, rest on your consent, which you can withdraw as described in Sections 2 and 6. Where law requires it, we retain billing records to meet legal obligations.
3. Data Storage & Security
Data is stored on AWS infrastructure in us-east-2 (Ohio). All connections to the Service use HTTPS/TLS.
BYOK credentials and environment variables are encrypted at rest with AES-256-GCM. Each user's data is encrypted with a per-user key derived from a master key via HKDF-SHA256 with the account UUID as salt, master-key compromise alone does not expose any single user's data. Plaintext credentials are only held in process memory at request time and are never written to logs, telemetry, analytics, or backups. We redact known secret formats (sk-, sk-ant-, sk-proj-, GitHub tokens, JWTs, and others) from any text that gets logged.
Each app runs in its own AWS Fargate task with an isolated workspace. Per-tenant shell access is sandboxed by a bwrap wrapper at the OS layer. Database access is gated by Postgres row-level security so users only read and write their own rows.
No system is perfectly secure. If a breach affects your personal data, we will notify you and the relevant authorities as required by applicable law.
Your apps' own visitors. Apps you build and host on VibeKit may collect data from their own end users (signup forms, databases, email features). That data belongs to you, the app owner, and is processed by VibeKit only as your hosting infrastructure. You are responsible for your app's own privacy disclosures and legal compliance toward its users; this policy covers VibeKit's users, not the visitors of apps our users operate.
4. Third-Party AI Services
VibeKit routes your AI requests to third-party providers. The routing depends on whether you've configured BYOK:
4a. Two routing paths
- BYOK (your own credentials): If you've added an Anthropic key/token or OpenAI key/Codex OAuth token under Profile → AI Provider, eligible chat requests are sent directly from VibeKit to that provider using your credential. OpenRouter is not involved for those chat requests. Some platform-side tools still use OpenRouter on VibeKit's own key even when you have BYOK, and are billed to your credit balance: memory-search embeddings (text from your agent's memory files is embedded with an OpenAI embedding model via OpenRouter), the agent's web search (queries go to Perplexity via OpenRouter), screenshot inspection during QA (the screenshot is sent to a vision model via OpenRouter), music and video generation, and the automated quality review in Section 2.
- No BYOK (platform credits): Requests are sent to OpenRouter, which then forwards them to the underlying provider you've selected as preferred (Anthropic, OpenAI, Google Gemini, DeepSeek, xAI Grok, or, on the Free tier, OpenRouter's free-model pool). OpenRouter sees your prompts and the upstream provider sees them as well. Costs are billed against your credit balance with a platform markup (currently 20%); free-tier traffic is $0. VibeKit has enabled OpenRouter's data-discount setting on requests that use its platform OpenRouter credential, which allows OpenRouter to use prompts and responses sent through it to improve their product in exchange for a 1% discount on every call. Eligible BYOK chat and raw-OpenAI-key image requests do not pass through OpenRouter.
Media-generation exception: Music and video generation are currently platform-credit services and use OpenRouter plus the serving provider even if you have a BYOK credential for chat. Video generation is asynchronous and is not eligible for OpenRouter Zero Data Retention; the provider temporarily retains the generated output so it can be retrieved.
4b. What data is sent to AI providers
- Chat messages: Text you send to your agent is transmitted to the routing destination to generate the response.
- File contents: When the agent reads, edits, or creates files, file contents may be sent as context.
- App context: App structure, error logs, environment-variable names (not values), and configuration may be included.
- Voice (optional): Voice input/output may use your device's or browser's speech services. For server-side speech output, VibeKit sends text to OpenAI only when you have connected a compatible OpenAI API key; otherwise it generates speech locally with eSpeak. Voice use does not automatically send audio to OpenAI Whisper.
- Image generation (optional): If you ask your agent to generate an image, the prompt for that image is sent to the image model that serves it, currently OpenAI's image models and, for some requests, Google's. This routing is fixed for image generation and does not follow the provider preference you set for chat.
- Stock media search (optional): If your agent searches for a stock photo or video, the search query is sent to Pexels and the resulting media is served from Pexels' CDN.
- Web search and page fetch: If your agent searches the web, the search query is sent to Perplexity via OpenRouter. If it fetches a page, the request goes to that page's server from our infrastructure.
- Screenshots: When the platform or the QA step renders your app to check it, the screenshot is taken on our own servers. If it is inspected by a model, the image goes to a vision model via OpenRouter.
We do not send your email address, payment information, VibeKit account password, or BYOK model-provider credentials to AI providers. The exception is a credential intentionally returned by a connected-account tool after the separate confirmation described in Section 5.
4c. Who data may be sent to
- Anthropic (Claude): BYOK route or via OpenRouter. Privacy policy.
- OpenAI (GPT, Codex, image generation, TTS): BYOK route or via OpenRouter where applicable; server-side TTS and direct image generation use OpenAI only with a compatible OpenAI API key. Privacy policy.
- OpenRouter: Aggregator we use for the non-BYOK path and platform music/video generation. Privacy policy.
- Google (Gemini): Via OpenRouter on the non-BYOK path if selected as preferred. Privacy policy.
- DeepSeek: Via OpenRouter on the non-BYOK path if selected as preferred. Privacy policy.
- xAI (Grok): Via OpenRouter on the non-BYOK path if selected as preferred. Privacy policy.
- Perplexity: Agent web-search queries, via OpenRouter. Privacy policy.
- Free-model pool operators: On the Free tier, OpenRouter routes each request to one of a rotating set of free models operated by various third-party providers (the specific model and operator can vary per request). The operator that serves your request sees the prompt under its own privacy policy; OpenRouter's free-model listing shows the current pool.
Anthropic and OpenAI do not train models on API data, on either the BYOK or platform-credit route. OpenRouter, the aggregator we use for the non-BYOK route, may use prompts and responses to improve their product under the data-discount setting we've enabled (see Section 4a above); they have stated this is not used for model training. Free-model pool operators are an exception: the third parties serving free-tier requests set their own data practices, and some may use inputs to improve or train their models, if that matters for your content, use a paid provider or BYOK. Data sent to AI providers is never used for advertising by us.
4d. Your consent
Before first use of the AI agent, you're asked to acknowledge data sharing with third-party AI services. You can withdraw consent by removing your BYOK credentials and discontinuing use of the agent.
4e. Other third-party services
- AWS: Hosting infrastructure (Fargate, EFS, S3, RDS-adjacent via Supabase). Privacy notice.
- Stripe: Payment processing (web). Privacy policy.
- Apple: In-app purchases (iOS), Sign in with Apple. Privacy policy.
- Cloudflare: CDN, DNS, and edge security. Privacy policy.
- Supabase: Managed Postgres for our application database. Privacy policy.
- GitHub: Source-code hosting integration if you link a repo. Privacy statement.
- Vercel: Legacy deployment integration used by a subset of apps. Privacy policy.
- Namecheap: Custom-domain registration if you buy a domain through us. Privacy policy.
- Google: Sign in with Google, Google Analytics on marketing pages and the dashboard (Section 6). Privacy policy.
- X (Twitter): If you mark an app public, its name, description, and URL may be posted from VibeKit's accounts or its founder's account. No account data is shared with X. Privacy policy.
- Pexels: Optional stock photo and video search. Privacy policy.
5. Connected Accounts
If you use Connections to link a third-party account (for example Gmail, Slack, Notion, GitHub, Jira, HubSpot, Stripe) to one of your apps, the OAuth flow is operated by our integration provider, Composio. Composio receives and stores the access token for that account; VibeKit does not receive your account password or the OAuth token used to establish the connection. What we store is a bookkeeping record: which app is linked to which application, the connection's status, and timestamps.
Data that flows through a connected account. When your agent uses a connection, the request is made server-side by VibeKit through Composio to that provider, and the provider's response is returned to your agent so it can act on it. That content, for example the body of an email, the rows of a spreadsheet, or the text of an issue, therefore passes through Composio and VibeKit, and then into your agent's context, which means it is also sent to the AI provider handling that request under Section 4 above. Some provider tools can intentionally return sensitive credentials such as API keys, access tokens, passwords, or database connection strings. Before running one, the Service requires a separate, explicit confirmation phrase from you and warns that the result will enter the agent transcript and the active AI provider's context. VibeKit records that a sensitive tool was confirmed and executed, but does not separately log its arguments or returned value. Do not connect an account, or approve a sensitive credential request, unless you are willing to have that content processed by an AI model. We do not retain the content of connected-account responses beyond the agent transcript for that conversation, which is deleted with the app.
Actions. Connections can write, not just read. Actions your agent takes, such as sending an email or creating a record, happen inside the provider's systems and are recorded by that provider under its own policy. We log the app, the application, and the name of the action taken, so the activity is auditable; we do not log the contents of what was sent.
You can disconnect any account at any time from that app's Connections screen. Disconnecting revokes the agent's access going forward and asks Composio to revoke the stored token. Data the provider already holds, and actions already taken, are governed by that provider's policy. Composio's own privacy policy is available at composio.dev/privacy.
6. Cookies and Analytics
We use Google Analytics (GA4) to measure aggregate traffic, both on the marketing pages at vibekit.bot and on the signed-in web dashboard at app.vibekit.bot. On the dashboard this measures product usage (which pages are visited, and aggregate patterns) so we can see where the product is confusing or broken; we do not send your prompts, file contents, agent transcripts, or credentials to Google Analytics. The iOS app contains no third-party analytics at all. We use a small number of first-party cookies for session management and one (vk_referral) to attribute referral signups.
Consent. If you are in the EEA, the UK, or Switzerland, analytics and advertising storage are set to denied before anything loads, and stay denied unless you accept in the banner we show you. Declining is a real choice that we remember: Google Analytics then sets no cookies and records no advertising identifiers for you, and the rest of the Service works exactly the same. You can change your mind by clearing this site's data in your browser, which brings the banner back. Outside those regions analytics runs by default, and the opt-outs below are always available to everyone.
Google signals (Advertising Features). Our GA4 property has Google signals enabled, and because Analytics runs on the dashboard as well as the marketing pages, this applies to signed-in visits too. For visitors who are signed in to a Google account and have consented to ads personalization, Google may associate their visit with Google's own account information, which can include location, search history, YouTube history, and data from sites that partner with Google, to give us cross-device and aggregate demographic/interest reporting. We only ever see this in aggregate (e.g. age brackets, gender, interest categories); we never receive data that identifies an individual, and we do not use it for ad targeting. We adhere to Google's Advertising Features policy. You can review or turn off this association at any time via Google Ads Settings and My Activity, or opt out of Google Analytics entirely with the Google Analytics opt-out browser add-on.
7. Data Retention
Agent transcripts and app data are retained while your account is active. You can delete an app (its files, env vars, uploads, and Fargate task) from the dashboard at any time; the archived transcript copy described in Section 1 stays until you delete your account or ask us to remove it. Server logs are kept for 10 days. Audit-log entries (security events) are retained for 12 months. Hosted-app logs shown in the product are kept for 1 hour on Free, 24 hours on Builder, and 7 days on Pro.
Account deletion removes all associated data within 30 days, with two exceptions: aggregated billing records we are required to retain for tax or accounting purposes, and a one-way hash of the sign-in identifiers on the deleted account (email, and the Apple, Google, GitHub or Telegram ID if present). The hash cannot be turned back into the identifier and is used only to stop the same person collecting the free signup credit again by deleting and re-creating an account. Deleting your account also cancels an active Stripe subscription immediately; an active Apple subscription must be cancelled with Apple first.
8. Your Rights
Depending on where you live, you may have rights under the GDPR (EEA/UK), CCPA/CPRA (California), or similar laws. You can:
- View your account data, apps, and agent transcripts in the dashboard at any time. For a portable copy of your data, email us and we will provide one within 30 days (see portability below); there is not currently a one-click export button in the product.
- Correct inaccurate account information at any time.
- Delete your apps, transcripts, and associated data, and ask us to remove archived transcripts of deleted apps without deleting your account.
- Remove any BYOK credentials.
- Delete your entire account yourself from Profile in the dashboard, or by contacting [email protected].
- Object to processing or request portability, email us and we'll comply within 30 days where applicable law requires.
- If you are in the EEA or UK, lodge a complaint with your local data-protection supervisory authority. We'd appreciate the chance to address your concern first at [email protected].
We do not sell or share your personal information as those terms are defined under the CCPA/CPRA, and we do not discriminate against you for exercising any privacy right.
9. International Transfers
VibeKit infrastructure is in the United States (AWS us-east-2). If you access the Service from outside the US, your data will be transferred to and processed in the US. We rely on AWS's GDPR-compliant data-processing terms and Standard Contractual Clauses where applicable.
10. Children's Privacy
The Service is not intended for users under 13. We do not knowingly collect data from children under 13. If you believe we have collected data from a child, contact [email protected] and we will delete it.
11. Changes
We may update this policy. Material changes will be communicated through the platform with at least 30 days' notice for paying users where reasonable.
12. Contact
Privacy questions and general support: [email protected].
Terms of Service · ← Back to VibeKit