VerbaGPT answers questions about your data by writing and running analysis code against it. We designed the platform around one principle: answering a question should never require handing your data to anyone. Your data is queried where it lives. The code that queries it runs in a process that holds none of VerbaGPT's own credentials. And VerbaGPT never uses your data to train a model.
What the AI model sees, and what it never sees
Each question becomes code that runs against your datasource and returns only its result: a number, a table, a chart. The AI model receives three things: your question, the descriptions of the relevant columns that you or your team wrote, and the printed output of each analysis step.
- It never receives an export of your tables.
- It never receives your database credentials or connection string.
- VerbaGPT never uses your questions, results, or data to train models.
- On Enterprise plans, requests are routed only to AI providers your organization has approved, chosen for API terms that exclude training on customer inputs, with zero-data-retention options where the provider offers them, or to your own provider account. Free and Pro accounts may be served by a broader set of providers, including lower-cost models, and should not include sensitive personal information in questions.
Generated code runs isolated
The Python that VerbaGPT writes for your analysis never runs inside our main application server. It runs in a separate execution process built to know nothing about the platform itself.
- The execution process holds none of VerbaGPT's own credentials: no system database access, no signing or encryption keys, no payment, email, or AI provider keys.
- It receives only what one analysis needs: the connection for that one datasource and the files that request is permitted to read.
- Every step is checked before it runs. Imports are limited to analysis libraries; access to the operating system, network sockets, and process internals is blocked.
- A runtime filesystem guard denies access to credential files and to any uploaded file that does not belong to the current request.
- Analyses have hard time limits, and a runaway execution process is terminated and replaced automatically.
Credentials and secrets
- Your database connection strings and every AI provider API key are encrypted at the application level, in addition to database-level encryption at rest, with support for zero-downtime key rotation.
- New database connections are read-only by default, enforced at the database engine level where supported and by query inspection everywhere else, so generated code cannot modify your data unless you choose to allow it.
- Platform secrets are supplied to the application at startup through a dedicated channel and are kept out of the process environment and off disk in production.
- An automated check in our codebase verifies, on every change, that no component reads a secret from the environment, that the execution process's environment contains no secret, and that a battery of known code-execution escape techniques remains blocked.
Access control for teams
- Organizations with Owner, Admin, and User roles. Every privileged action is checked at both the API and database layers.
- Datasources, data dictionaries, guidelines, and shared analyses are scoped to your organization. Members see only what their organization shares with them.
- An audit log records queries, datasource access, and outcomes, with an admin dashboard and CSV export for compliance reviews.
- Authentication uses signed session tokens, bcrypt password hashing, email verification, rate-limited login endpoints, and Google sign-in. Users can see their own recent login activity.
Data protection and privacy
- All traffic is encrypted in transit with TLS. Stored data is encrypted at rest.
- Uploaded files are stored per user with ownership checks on every access, and every database query is parameterized.
- You control retention: delete any conversation at any time, and account deletion removes all associated data. Free accounts keep history for 14 days.
- We do not sell your data, we never train models on it, and we honor access, export, and deletion requests under GDPR and CCPA.
Infrastructure
The application is hosted on Railway. The system database runs on Supabase, whose infrastructure is SOC 2 Type II and ISO 27001 certified, with automated backups and point-in-time recovery. Transactional email is delivered through Brevo, a GDPR-compliant provider. Payments are processed by Stripe; we never see or store card details. The web application sets strict security headers, including a content security policy and HTTP strict transport security.
When data cannot leave your environment
Some data should not be uploaded anywhere. For that, VerbaGPT offers Taurus, a local mode that runs on your own machines. Your databases and files stay in your environment. Only the question and the context needed to reason about it are sent to the AI model, exactly as with any AI assistant, and an incognito setting stores nothing at all, not even the conversation.
For regulated or security-sensitive teams, "the data never leaves our environment" is often a stronger answer than any certification, and it is available today.
Responsible disclosure and further detail
If you believe you have found a security issue, email security@verbagpt.com. We aim to investigate reports within 48 hours and work with reporters before public disclosure.
Evaluating VerbaGPT for your organization? A detailed technical security overview covering architecture, encryption, isolation, logging, and retention is available for procurement and security reviews. Request it at team@verbagpt.com.
This page describes the hosted service at app.verbagpt.com as of the date above. See also our Privacy Policy and Terms of Service.