Documentation

← Panda Auth

For Developers · Kryptic Vault

Kryptic-Cloud Config

Manage per-service key-value configs from the dashboard — your script reads them at runtime. No redeploy needed when a value changes.

What it is

Kryptic-Cloud Config lets you store configuration values per service — API keys, feature toggles, rate limits, URLs — and read them at runtime from your script. Change a value in the dashboard, and every running script picks it up on next read (cached per-session).

No script redeploy

Update values anytime without re-uploading or re-obfuscating your script. Configs are fetched live from the executor.

Dashboard

Navigate to Kryptic-Cloud Config in the sidebar. Select a service, then add key-value pairs. Each entry supports a description for documentation. Edit inline or delete with one click.

Every create/update/delete bumps the service config version, so your script can detect changes.

Kryptic Vault — PandaAuthV4.GetConfig

When your script runs through Kryptic Vault, use PandaAuthV4.GetConfig("key"). The loader injects the runtime endpoint URL automatically —CONFIG_URL is baked into the loader stub per-service.

-- PandaAuthV4 (Kryptic Vault)
local apiKey = PandaAuthV4.GetConfig("api_key")
if not apiKey then
    warn("No API key configured in Kryptic-Cloud Config")
end

local maxRetries = PandaAuthV4.GetConfig("max_retries") or 3
local featureEnabled = PandaAuthV4.GetConfig("feature_x_enabled") == "true"

-- Cached after first fetch; subsequent calls return instantly
print("API Key:", apiKey)
print("Max Retries:", maxRetries)
print("Feature Enabled:", featureEnabled)

GetConfig fetches all configs for the service on first call and caches them in memory. Subsequent calls return instantly from cache. Returns nil if the key doesn't exist or the fetch fails.

VSS — PANDA_CONFIGS global

VSS scripts receive configs injected as the PANDA_CONFIGS global variable via runtime_vars. No library call needed — the table is present at script start.

-- VSS (injected via runtime_vars as PANDA_CONFIGS)
local configs = PANDA_CONFIGS or {}
local apiKey = configs["api_key"]

-- PANDA_CONFIGS is an auto-injected global — no library load needed
print("API Key:", apiKey)

API

The runtime endpoint is public (rate-limited) and requires no auth — it is called from Roblox executors. The management endpoints require dashboard authentication and verify service ownership.

// POST /api/v1/cloud-configs/{serviceId}
{ "key": "api_key", "value": "sk-abc123", "description": "API key for external service" }

// GET /api/v1/cloud-configs/{serviceId} — list all configs
// DELETE /api/v1/cloud-configs/{serviceId}/{key} — remove one

// Runtime endpoint (no auth, from executor):
// GET /api/v1/cloud-configs/runtime/{identifier}
→ { "success": true, "data": { "configs": { "api_key": "sk-abc123" }, "version": 3 } }

Limits

  • Config keys are unique per service (case-sensitive)
  • Values are strings — cast to number/bool in your script
  • Runtime endpoint rate-limited to 30 req/min per IP
  • Cached per-script-session: a config update takes effect on next script execution or when the cache is discarded
  • Configs persist until deleted — surviving script re-uploads and service restarts