Cumulative message counts, role-grant history, custom settings — BotShade stores the data your bot needs. No database to provision, no SQL knowledge, no server admin required.
Get, set, increment, reset — all selectable from the node editor in one click. No SQL to write, no tables to design.
Read and write straight from the node editor
Per-guild / per-user scope selection
Numeric ops and string concat built in
Types inferred automatically — no schema required
bot_variables
6 rows
name
value
scope
updated
welcome_count
3,421
2026-05-03 14:22
last_active_role
moderator
2026-05-03 12:08
greeting_message
"hello"
2026-05-02 09:15
ticket_counter
847
2026-05-03 13:55
warn_points
2
2026-05-03 11:40
auto_role_target
"@member"
2026-04-28 16:30
BotShade's database runs on self-hosted Supabase (PostgreSQL). Each bot is issued an ID, rows are keyed by a composite primary key, and PostgreSQL Row Level Security enforces access at the database layer. Isolation does not depend on application-code correctness.
Row Level Security
Each bot's issued ID is bound to a session variable, and PostgreSQL Row Level Security guarantees that one bot cannot access another bot's data. Isolation is enforced at the DB layer rather than relying on application-side filtering.
Snapshots are taken automatically four times a day at 00:00 / 06:00 / 12:00 / 18:00 (JST). We handle recovery on data loss.
Automatic backup history
Today 18:00
Today 12:00
Today 06:00
Today 00:00
Yesterday 18:00
Yesterday 12:00
Bot variable storage
Add, fetch, and update variables directly from your bot's flow. Values are stored server-side and survive bot restarts. Types are inferred automatically — no schema definition needed.
Tenant isolation
Per-bot full isolation via PostgreSQL RLS and a composite primary key.
Automatic backups every 6 hours
Four snapshots per day, automatically.
Sensitive data encrypted with AES-256-GCM
Particularly sensitive data (e.g. personal information) is stored AES-256-GCM-encrypted. Decryption keys are kept separately in a cloud secret manager, so a database dump alone cannot decrypt anything.
PostgreSQL
DB engine
Self-hosted Supabase
~30ms
Avg query response
Reference value (measured)
4×/day
Automatic backups
00 / 06 / 12 / 18 (JST)
AES-256-GCM
Sensitive data encryption
Keys stored separately