Let your bot remember.

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.

Read and write directly from your bot's flow.

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

guild

2026-05-03 14:22

last_active_role

moderator

user

2026-05-03 12:08

greeting_message

"hello"

guild

2026-05-02 09:15

ticket_counter

847

guild

2026-05-03 13:55

warn_points

2

user

2026-05-03 11:40

auto_role_target

"@member"

guild

2026-04-28 16:30

Your bot's data,
invisible to other bots.

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

CREATE POLICY "bot_data_isolation" ON bot_variables FOR ALL USING ( bot_id = current_setting( 'app.current_bot_id' ) ) WITH CHECK ( bot_id = current_setting( 'app.current_bot_id' ) );

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.

Automatic backups every 6 hours.

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

latest

Today 12:00

Today 06:00

Today 00:00

Yesterday 18:00

Yesterday 12:00

What runs behind the storage layer.

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