File storage and data in one place.

Digital content is just another table in your database. No separate service needed.

No need for a separate file storage system

Instant comes with built-in file storage. No S3 buckets to configure, no signed URLs to manage.

When you've got storage with your database you can easily build apps like Instagram, Spotify, Goodreads and more!

Favorite classical

Stopa
1

Hungarian Dance No. 5

Johannes Brahms

2

Por Una Cabeza

Carlos Gardel

3

Habanera

Georges Bizet

4

La lisonjera, Op. 50

Cécile Chaminade

5

Romance in E Minor

Franz Liszt

ZenecaZeneca
How to Win Friends and Influence People
The 7 Habits of Highly Effective People
East of Eden
Antifragile
Structure and Interpretation of Computer Programs
Hackers & Painters
stopastopa
Dog licking a spoon

stopa Newest member of the team

1// Upload a file2const { data } = await db.storage.uploadFile(3  `${user.id}/avatar.png`,4  file5);67// Link it to a profile8await db.transact(9  db.tx.profiles[profileId].link({10    avatar: data.id,11  })12);

Files are integrated into your database

Files are stored alongside other entities in Instant. Upload them, link them to your data, and query with InstaQL just like any other table.

Best of all, your files are reactive too! When a file is updated or deleted, your UI updates in real-time.

Secure with permissions

Files use the same permission system as the rest of your data. Control who can upload, view, and delete files with simple rules.

Your rules can traverse relationships, check auth state, and enforce access at every level. No server endpoints needed.

1// Users can only upload to their own folder2const rules = {3  $files: {4    allow: {5      view: "true",6      create: "isOwner",7      delete: "isOwner",8    },9    bind: {10      isOwner: "data.path.startsWith(auth.id + '/')",11    },12  },13};

Build rich applications with files and data together.