Read-only. Encrypted.
Your data stays yours.
Yeah, connecting a database to a Discord bot raises eyebrows. Here's how we built it so you don't have to worry.
Read-only connections
warpcore can never modify, insert, update, or delete data. We enforce read-only mode at the PostgreSQL connection level using default_transaction_read_only. Even if a query tries to write, PostgreSQL itself rejects it.
Encrypted credentials
Connection strings are encrypted with AES-256 before we store them. Keys live in a dedicated KMS. Credentials are never logged in plaintext and warpcore employees can't access them.
No data storage
Query results go straight to Discord and we throw them away. We don't cache your data, don't index it, and don't feed it to AI training. Your rows pass through our servers but never stay.
How data flows
When a user runs /queryin Discord, here's what happens:
- Discord sends the command to warpcore's servers via webhook
- warpcore decrypts the database credentials from the encrypted vault
- A read-only SSL connection is established to your database
- The query is executed with a timeout and row limit
- Results are formatted and sent back to Discord as an embed
- The database connection is closed. No results are stored.
For natural language queries, an additional step sends the schema (table/column names — not your data) to the AI model to generate SQL.
Discord
User types /query
warpcore
PostgreSQL
Your database
Security in detail
🔐Encryption
- →Database credentials encrypted with AES-256-GCM at rest
- →All connections to your database use SSL/TLS (minimum TLS 1.2)
- →All traffic between warpcore services is encrypted in transit
- →Encryption keys managed via dedicated KMS with automatic rotation
- →Web dashboard served over HTTPS with HSTS
🛡️Access Control
- →Read-only mode enforced at the PostgreSQL connection level
- →Query execution timeout (10-60s depending on plan)
- →Result row limits prevent accidental full-table dumps
- →Table allow/blocklist to restrict queryable tables (Pro+)
- →Role-based access control via Discord roles (Team plan)
- →Channel restrictions limit where warpcore responds
🗄️Data Handling
- →Query results are rendered as Discord messages, not stored
- →Schema metadata cached for AI queries, refreshed periodically
- →No customer data is used for AI model training
- →Audit logs track who queried what and when (Team plan)
- →Connection credentials can be deleted anytime from dashboard
🏗️Infrastructure
- →Hosted on cloud infrastructure with DDoS protection
- →Isolated execution environments for each query
- →Automated security patches and dependency updates
- →Application-level rate limiting
- →Status page with real-time uptime monitoring
Best practices for connecting your database
While warpcore enforces read-only connections, we recommend these additional steps for defense in depth:
- Create a dedicated read-only user — Don't use your admin credentials. Create a PostgreSQL role with SELECT-only permissions.
- Use table allow/blocklists — On Pro and Team plans, specify exactly which tables warpcore can see.
- Use row-level security — PostgreSQL's RLS policies are respected by warpcore.
- Consider a read replica — Point warpcore at a read replica to eliminate impact on write performance.
- Restrict network access — Add warpcore's static IPs to your database's allowlist.
What warpcore does not do
We think it's more useful to tell you what we can't do than what we can.
We do not write to your database
warpcore cannot execute INSERT, UPDATE, DELETE, DROP, ALTER, or any DDL/DML statements. Enforced at the PostgreSQL connection level.
We do not store your query results
Results are sent directly to Discord and discarded. We don't build data warehouses from your queries.
We do not train AI on your data
Your database schema is used to generate SQL queries. Actual data rows are never sent to AI models.
We do not access your database outside queries
warpcore connects only when a user runs a command or a scheduled report executes. No background crawlers, no data syncing.
Responsible disclosure
Found a security issue? Please email security@warpcore.app with details. We'll acknowledge within 24 hours.
Please do not disclose vulnerabilities publicly until we've had a chance to address them.
Questions about security?
We'll walk through the details with you. Just ask.
Free plan, no credit card, takes about 2 minutes.