Privacy Policy
Effective date: November 10, 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. The account identifier, and the name, email address or username the provider shares, if you use Sign in with Apple, Google, GitHub, or X. Legacy accounts created through our former Telegram bot may still have an associated Telegram user ID, username, and display name on file.
- Apps requested on X: If you mention
@BuildOnVibeKit on X asking for an app, we read that public post and your public X profile (user ID, handle, display name), an AI model decides whether the post describes an app we can build, and if it does we may create a VibeKit account tied to your X user ID, build the app, and reply to you on X with its link. We keep a record of every mention we read and what we decided. An account created this way is subject to these policies and our Terms from that point; you can sign in with X to claim it, or ask us to delete it at [email protected].
- 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 in our database and also placed, so your agent can use them, in the agent runtime's credential store on our servers. They are used solely to call the relevant provider on your behalf. See Section 3 for details.
- Other credentials you give us: If you publish an iOS app through VibeKit, the App Store Connect API key and Expo access token you provide are stored encrypted with your per-user key (Section 3) and used only to build, sign and submit your apps. If an app of yours uses VibeKit's built-in sign-in for a provider such as Strava, Spotify, Google Calendar, Google Sheets, Google Fit, Notion, Discord or Twitch, the provider credentials and the access tokens it issues are stored encrypted and deleted with the app.
- Phone line (optional add-on): If you add a phone line to a workspace, we verify your own phone number by SMS, store it with a hash of your call PIN (never the digits), and buy a number for the workspace through Twilio. Calls to that number are carried by Twilio; what callers say is transcribed to text by Deepgram through Twilio's ConversationRelay, sent to your agent like a chat message, and the agent's reply is spoken back. We store a call log for each call (time, duration, cost, the caller's number, and a text transcript; no audio is stored). When the workspace is deleted, the transcripts and caller numbers are erased; the duration and cost are kept as billing records.
- Desktop agent (optional): If you link Claude Code or Codex on your own computer to the iOS app, the messages you send it and its replies pass through our servers and are stored so you can see them on your phone. Starting a new conversation hides earlier messages from the app but does not delete them; deleting your account does.
- 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 a workspace, 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].
- Workspace data: Source code, files, environment variables, and configurations you create or upload, stored on an EFS workspace mount for agent state and, for a hosted app, in an isolated AWS Fargate container per app.
- 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 workspace from the dashboard. When you delete a workspace, clear its chat, or delete your account, the chat is archived, not deleted, and kept for the quality review and product improvement described in Section 2. When you delete your account, your archived chats are kept without your user ID or workspace address, so they are no longer linked to your account. They still hold the text of the conversation, so anything typed into a chat (a name, for example) stays in that text. You can ask us to remove your archived chats before you delete your account.
- 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. We keep a log of the notifications we send you (type, title, whether it was delivered and opened) until you delete your account.
- Device check (iOS): When you sign in on the iOS app, it sends Apple's DeviceCheck token for your device. We ask Apple whether that device has already received a signup credit and record that it has; Apple stores two bits per device for us and nothing that identifies you. It is used only to stop the free signup credit being collected repeatedly from one device.
- How you found us: When you first arrive on our site we note the campaign tags on the link (such as
utm_source), or else the site that referred you, and the page you landed on, and store them with your account if you sign up. On iOS, the app asks Apple's AdServices framework for an attribution token, which tells us whether the install came from an Apple Search Ads campaign. We use this only to measure which channels bring people who stay, not to target you.
- Location (optional, off by default): If you turn on location sharing in the iOS app, your phone reports where it is while the app is open, so your own agents can answer questions that depend on it (what is nearby, local hours, directions). We keep one position per account, rounded to about 100 meters, with its time and, when Apple's geocoding service provides one, a place name such as a neighborhood. Only you and the agents of workspaces you own that have no collaborators can read it; collaborators and the agents of shared workspaces cannot. Turning sharing off deletes the stored position at once and stops new reads. What an agent already read is part of that chat, so it follows the same rules as the rest of the chat: it is sent to the AI model like any message, it stays in that chat's history, and if you later invite collaborators to that workspace they can see that history as they can any other message. Place reminders and location tasks: an agent can suggest a reminder, or a task it then runs on its own, for when you arrive at, leave or stay at a place, stop somewhere for a while, or reach a new city. Nothing is watched until you turn one on in the app and allow VibeKit to use your location Always. Then iOS tells the app when it happens, even while the app is closed, and the app reports only what that kind needs. For a place you pick on a map: the crossing and its time, or for a stay, whether you are inside it. For the nearest of a kind of place (such as "any coffee shop"): your phone searches Apple Maps around where you are, and a crossing reports the matched place's name and location, not yours. For a stop of some minutes (iOS visit detection): when you leave, the times you arrived and left, the spot rounded to about 100 meters, and a place name from Apple's geocoding service. For a new city (iOS significant location change): the new and previous city, region and country, with no coordinates. These iOS services run only while a reminder or task that needs them is on. To confirm a stay has lasted, or when an agent asks, we may also ask your phone for a fresh position while the app is closed, stored the same way as above. A reminder sends you your own text; a task runs your agent once with the event and posts its result to the chat and as a notification, so the event is sent to the AI model and stays in that chat's history like any message. We erase an event's place details from our record of it once it has been handed to its reminder or task (a copy already in the chat follows the chat's rules above), and keep what you turned on (the place you picked, rounded to about 100 meters, or the kind of place you named) and the time of each event with that workspace until you delete the workspace or your account. Turning sharing off turns every reminder and task off.
- 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 credits).
- To deduct consumed credits from your account 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 workspaces. 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 workspaces) 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. When you delete your account, your review rows are kept without your user ID.
- Automated safety checks. To keep people safe from what is built and posted on VibeKit, AI models check some content automatically, on our platform key and at no charge to you: a message posted into a workspace chat shared with other people, and the prompt of every picture, song or video you ask to generate, are checked by Llama Guard (via OpenRouter) before they are posted or generated; the quality review above also asks whether the session built something meant to deceive people (for example a phishing or scam page); and published apps may be opened in an isolated browser on our servers, captured as a screenshot, and checked by a model for the same thing. A message or prompt Llama Guard flags is not posted or generated, and you are told so. A flag from the quality review or the published-app check opens a report for our staff, who decide what happens; nothing is taken down automatically. Screenshots and their verdicts are kept for 90 days, or until a report they belong to is closed plus 90 days, and are seen only by our staff.
- Messages about your workspaces. If you stop using VibeKit, or a workspace stalls, we may send you a short email or push notification about it. To write it, an AI model (via OpenRouter) is given facts we recorded about that workspace, such as your agent's last reply, a failed build or publish, its visitor count, and a fresh screenshot of the app, and the copy is checked against those records before it is sent. You can stop the emails with the unsubscribe link and the pushes by turning off notifications.
- Translation. Emails we send you are translated into your language by an AI model (currently OpenAI's GPT-4o mini via OpenRouter). If you write to support in another language, our staff may have your message, and their reply to you, translated by an AI model (currently Anthropic's Claude Haiku via OpenRouter); the translations are not stored.
- 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, workspace, 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 and safety checks, device checks against repeat signup credits, signup-channel attribution, messages about your workspaces, 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, under keys that come from one master key held only on our servers. Some are encrypted with a key derived for your account (HKDF-SHA256, with your account ID as salt), so one account's derived key does not decrypt another's; others, including OpenAI keys, Codex sign-ins, GitHub tokens and app sign-in tokens, are encrypted with the master key itself. Either way, someone who obtained the master key together with our database could decrypt them. One exception to encryption at rest: for your agent to call your provider, a BYOK credential is also written, decrypted, into the agent runtime's credential store on our servers, a file readable only by the service that runs agents. A credential you remove is deleted from our database, but the copy in that store is not yet removed and can still be used by your agents until the workspace is deleted, so if you need it to stop at once, also revoke it with the provider (Anthropic or OpenAI). Disk-level backups of those servers can contain a credential until they expire. Credentials are never written to logs, telemetry, or analytics. 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. Some platform features your app can use put VibeKit in the path of a visitor's data, and your own disclosures should cover them:
- Sign in with Google: runs through VibeKit's own Google sign-in. Google shows the visitor VibeKit's name, and shares their name, email address and profile picture with us; we pass them to your app with an ID unique to your app, and hold them only for the few minutes the hand-off takes.
- Built-in AI: text, pictures and audio your app sends to VibeKit's AI endpoint (for example a visitor's chat message or voice recording) go through VibeKit and OpenRouter to the model provider that serves the request, under the OpenRouter terms in Section 4. Speech and transcription can be served by providers including OpenAI, Google, Microsoft, Deepgram, MiniMax and Fish Audio.
- Payments: if your app takes payments through Stripe Connect, the visitor's payment details go to Stripe under Stripe's terms.
- App email: email your app sends is delivered by Amazon SES from a VibeKit sending domain (such as
apps.vibekit.bot), and delivery, bounce and complaint outcomes are recorded so we can stop sending to addresses that bounce or complain.
- Phone line: callers to your workspace's number are handled as described under Phone line in Section 1.
- Visit counts: visits are counted with a one-way daily hash of the visitor's IP (Section 1).
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 credits: 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), and music and video generation. The automated quality review and safety checks in Section 2 also go through OpenRouter, on VibeKit's key at our own cost, not against your credits. One tool goes to Anthropic directly instead: when an ordinary page fetch is blocked by the site, the agent may ask Anthropic's web-fetch tool to read the page, sending the address (and Anthropic returning the page) on your own Anthropic credential if you have one, or otherwise on VibeKit's Anthropic key against your credits.
- 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, Z.ai GLM, 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 credits 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.
Paid tools: When on for an agent (the default for every agent of an account that has credits, including the free signup credit), these optional tools use Composio's provider accounts, separately from model BYOK. Tool inputs pass through VibeKit and Composio to the selected upstream service. Results returned to the agent can then enter the context sent to its active AI provider under the routing above. See Section 5a for consent and retention.
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.
- Workspace context: Workspace 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. When your agent speaks a reply on the server, VibeKit sends the text to OpenAI only when you have connected a compatible OpenAI API key; otherwise it generates speech locally with eSpeak. Voice use in the VibeKit app does not automatically send your audio to OpenAI Whisper. Apps you build that use VibeKit's built-in AI for speech or transcription send text or audio through OpenRouter to the speech provider serving it (see "Your apps' own visitors" in Section 3), and phone-line calls are transcribed by Deepgram (Section 1).
- 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, or, when the site blocks that, to Anthropic as described in Section 4a.
- Location (optional): If you share your location, the position your agent reads (rounded to about 100 meters) is sent to the model as part of that conversation.
- 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.
- Z.ai (GLM): Via OpenRouter on the non-BYOK path if selected as preferred. Privacy policy.
- Perplexity: Agent web-search queries, via OpenRouter. Privacy policy.
- Meta Llama Guard: The safety model for shared-chat messages and media prompts (Section 2), via OpenRouter, run by whichever provider OpenRouter routes it to.
- Speech providers (Microsoft, Deepgram, MiniMax, Fish Audio, and the providers above): Speech and transcription for apps that use VibeKit's built-in AI, via OpenRouter; Deepgram also transcribes phone-line calls through Twilio.
- 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. Paid tools are on by default for an account that has credits; the account owner can turn them off for any agent in that agent's Settings, and setting the agent's paid tools limit to zero also stops new paid tool calls.
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, DeviceCheck and AdServices (Section 1), and App Store Connect if you publish an iOS app. Privacy policy.
- Expo: Builds and submits iOS apps you publish, using the Expo access token you provide. Privacy policy.
- Twilio: Phone numbers, calls and SMS verification for the phone-line add-on. Privacy notice.
- Amazon SES: Delivery of our email and of email your apps send. Privacy notice.
- Cloudflare: CDN, DNS, and edge security. Privacy policy.
- Supabase: Managed Postgres for our application database. Privacy policy.
- GitHub: Sign in with GitHub, and source-code hosting: your app's code is kept in a repository on your own GitHub account if you connected one, otherwise in a private repository in VibeKit's GitHub organization, which is deleted after you delete the app unless another workspace or API project still uses it. 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. The domain is registered in your name, so Namecheap and the domain registry receive the name, postal address, phone number and email you enter, with WHOIS privacy turned on. Privacy policy.
- Google: Sign in with Google, Google Analytics on marketing pages and the dashboard (Section 6). Privacy policy.
- X (Twitter): Sign in with X; apps requested by mentioning
@BuildOnVibeKit (Section 1), whose replies are posted on X; and if you mark an app public, its name, description, and URL may be posted from VibeKit's accounts or its founder's account. No other 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 workspaces, 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 workspace 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 separately retain the content of connected-account responses beyond the agent transcript for that conversation, which follows the transcript and archive rules in Sections 1 and 7. Composio, however, keeps its own log of each request your agent makes through a connection, including the request and the provider's response (and so any sensitive credential you approved), for up to one year under its data-retention policy. Those logs are identified by an internal VibeKit user ID, not your name or email, and deleting the workspace or your VibeKit account does not remove them.
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 workspace, 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 workspace'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.
Paid tools run on Composio's provider accounts, so you do not need to connect a personal account or supply that service's credentials. Inputs can still include personal information: for example, a search query, a URL, a document, or details you ask a tool to process. The selected tool's inputs pass through VibeKit and Composio to its upstream provider. Results returned to the agent can be included in the conversation and sent to the active AI provider. Paid tools are on by default for every agent of an account that has credits, including the free signup credit, and the account owner can turn them off for any agent in that agent's Settings. Do not submit information you are not authorized to share with those services.
VibeKit storage. To recover an interrupted response without paying for another call, we temporarily store received tool results that fit the recovery size limit for retrieval for 24 hours from the original call, then remove them through our periodic cleanup. Deleting the workspace or account removes this recovery copy. This is separate from any result already included in an agent transcript or saved in your workspace, which follows the retention rules in Sections 1 and 7. We retain the call identifier, tool, status, timing, price and billing evidence needed to reconcile charges and handle disputes; the financial record does not retain the tool's full inputs or output. Those financial records can remain after workspace or account deletion.
Composio and upstream storage. Composio's published guidance says it does not store request or response payloads for these tools. Execution metadata remains subject to its retention policy, which keeps execution logs for up to one year. Files used or returned by a tool may be staged by Composio for 24 hours, and download links may expire sooner. The upstream provider can retain data under its own policy; paid tools are not a promise of end-to-end zero retention or no model training. Deleting a VibeKit workspace or account does not delete records already held by Composio or an upstream provider. Review the selected service's policy before submitting sensitive information.
Turning it off. Turn paid tools off in that agent's Settings, or set its paid tools spending limit to zero, to stop new paid tool calls. This does not cancel calls already dispatched or remove data already sent. Disconnecting a personal account from Connections does not disable paid tools, because they use separate provider accounts.
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 these for attribution:
__Host-vk_referral (30 days): the referral code of the person who invited you, to credit the referral at signup.
__Host-vk_utm (24 hours) and __Host-vk_oauth_utm (10 minutes, while a sign-in with Apple, Google or another provider completes): the campaign tags, referring site and landing page from your first visit, saved with your account if you sign up (Section 1).
vk_hs, on an app's own address: set only when an app's owner adds that app to their home screen from a VibeKit app. It holds a signed reference to the owner's account so we can count how often they open what they built from the home screen. VibeKit removes it from every request before the request reaches the app, so the app itself never reads it.
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 workspace data are retained while your account is active. You can delete a workspace (its files, env vars, uploads, database, connections, phone line, any Fargate task, and, if VibeKit kept its code for you, the code repository in VibeKit's GitHub organization, unless another workspace or API project still uses it) from the dashboard at any time; the archived chat described in Section 1 is kept, as described there. A repository on your own GitHub account is yours and is not touched. 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 7 days on every plan. A shared location (Section 1) is flagged out of date after 24 hours and deleted after 7 days, or at once when you turn sharing off.
Account deletion removes all associated data within 30 days, with these exceptions: billing and transaction records needed for tax, accounting, reconciliation, and disputes (credit and usage ledgers, the duration and cost of phone calls, and the minimal paid tool call records described in Section 5a); records of any domain you bought, which stays registered to you; your archived chats and their quality-review rows (Sections 1 and 2), which are kept without your user ID or workspace address so they are no longer linked to your account; 3D models you paid to have made or animated, which stay in the shared model library (Terms Section 8) as the model file, its name and the words of the description it was made from, including any personal details that name or description held (what you paid for it is a billing record, above); 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. Data already in disk-level backups is removed as those backups expire. Deleting your account also cancels an active Stripe subscription immediately; an active Apple subscription must be cancelled with Apple first. Composio's connected-account logs and paid tool execution metadata (Sections 5 and 5a) follow its own retention policy and are not removed by deleting an app or your account. The temporary paid tool recovery copy follows the separate 24-hour retrieval and deletion rules in Section 5a.
Abuse reports. When you report a site at vibekit.bot/report-abuse we keep the address you report (without any username or password in it, but with the rest of the link, which can be what leads to the harmful page), your reason and details, your email if you give one, and a keyed one-way hash of your network address, used only to stop repeat reports. We do not email you automatically. All of it is deleted 90 days after the report is closed; after that we keep only which site was reported (its host name), how many times, and what we did about it.
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, workspaces, 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 workspaces, transcripts, and associated data, and ask us to remove your archived chats. Ask before you delete your account: after that they are no longer linked to you, so we cannot find yours.
- 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 18. We do not knowingly collect data from anyone under 18. 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