Skip to content

Data & Storage Overview

Most apps need to remember things — a list of tasks, a set of records, uploaded files. Vulcan supports three types of platform-managed storage, and you can use up to one of each per app.

You don't set these up manually. Just tell the AI what kind of data you need to store and it provisions everything for you.

If your data already lives in an external system, you can connect to it instead — see DynamoDB below.


Which type should I use?

Storage typeBest forExample use cases
KV (key-value)Simple, fast data storageTo-do lists, inventory, contacts, kanban boards, settings
SQL (D1)Structured data with complex queriesReports with filters, join queries, analytics, data grids
Files (R2)Uploading and downloading filesFile managers, receipt scanners, document libraries

When in doubt, use KV. It's the default choice for most apps and works great for the vast majority of use cases.


KV (Key-Value Storage)

Fast, flexible, and easy. Great for lists, records, and any data that doesn't need complex relational queries.

KV storage details


SQL Database (D1)

A structured database. Use this when you need things like:

  • Filtering and sorting across multiple fields at once
  • Joining data from multiple tables
  • Aggregations and summary reports (totals, averages, counts)
  • The app description mentions "relational" or "SQL"

SQL database details


File Storage (R2)

Storage for actual files — images, PDFs, documents, CSVs. Use this when users need to upload or download files.

File storage details


Preview vs production storage

Preview and production environments have completely separate storage. Data you add in preview doesn't appear in production and vice versa. This means you can test freely in preview without touching your real production data.


DynamoDB (Bring Your Own Table)

If your organization already has data in AWS DynamoDB, you can connect your app directly to an existing table. This is different from the platform-managed options above — Vulcan doesn't provision the table; you supply your own credentials.

Good fit when:

  • Your data already lives in DynamoDB
  • You need to build a UI on top of records another system writes
  • You have an existing IAM role with the right permissions

DynamoDB setup and details


Secrets & API keys

If your app connects to an external service (Google, a third-party API), you'll need to store credentials securely.

How to set secrets

Built by the Veho Developer Platform team