Everything you need to know about securely connecting your databases
WhoPrompt securely connects to your database to run read-only queries. Your credentials are encrypted using AES-256-GCM encryption and stored securely. We never access your data directly - all queries run through secure, isolated connections.
All database credentials are encrypted at rest. We use industry-standard encryption and never log or store your query results permanently. Only read-only SELECT queries are allowed.
Full support for PostgreSQL 9.6+. Recommended for production use.
Compatible with MySQL 5.7+ and MariaDB 10.2+.
Microsoft SQL Server 2016+ and Azure SQL Database.
File-based database support for development and small datasets.
Create a dedicated database user with only SELECT permissions. This ensures WhoPrompt can only read data, never modify it.
PostgreSQL:
CREATE USER dbstuff_readonly WITH PASSWORD 'secure_password';
GRANT CONNECT ON DATABASE mydb TO dbstuff_readonly;
GRANT USAGE ON SCHEMA public TO dbstuff_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO dbstuff_readonly;
MySQL:
CREATE USER 'dbstuff_readonly'@'%' IDENTIFIED BY 'secure_password';
GRANT SELECT ON mydb.* TO 'dbstuff_readonly'@'%';
FLUSH PRIVILEGES;
SQL Server:
CREATE LOGIN dbstuff_readonly WITH PASSWORD = 'Secure_Password123!';
CREATE USER dbstuff_readonly FOR LOGIN dbstuff_readonly;
GRANT SELECT ON SCHEMA::dbo TO dbstuff_readonly;
SQLite:
SQLite uses file-system permissions. Ensure the file has read-only access for the application user.
Always use SSL/TLS to encrypt data in transit. Most cloud database providers (Neon, Supabase, AWS RDS) enable SSL by default.
For additional security, configure your database firewall to only accept connections from WhoPrompt's IP addresses.
Change your database passwords periodically and update them in WhoPrompt. We recommend rotating every 90 days.
postgresql://username:password@hostname:5432/database_name?sslmode=require
Examples:
postgresql://user:pass@ep-xxx.aws.neon.tech/dbname?sslmode=require
postgresql://postgres:pass@db.xxx.supabase.co:5432/postgres
mysql://username:password@hostname:3306/database_name
Add ?ssl=true
for SSL connections.
Server=hostname,1433;Database=dbname;User Id=username;Password=password;Encrypt=true;
sqlite:///absolute/path/to/database.db
SSL/TLS encrypts data transmitted between WhoPrompt and your database, protecting credentials and query results from interception.
Mode | Description | Recommended |
---|---|---|
disable | No SSL encryption | No |
require | SSL required, no certificate verification | Yes |
verify-full | SSL with full certificate verification | Best |
Symptoms: "Connection timeout" or "Could not connect to database"
Solutions:
Symptoms: "Invalid username or password" or "Access denied"
Solutions:
Symptoms: "SSL connection error" or "Certificate verification failed"
Solutions:
Symptoms: "Permission denied for table" or "Access denied"
Solutions:
Can't find what you're looking for? Our support team is here to help.