Arquivos com CDN
e transformações.
Upload de qualquer tipo, signed URLs com TTL, transformações de imagem on-demand e CDN com edge nodes no Brasil. Drop-in do Supabase Storage — troca 1 import e os arquivos servem 5× mais rápido pra usuário BR.
O storage que seu time vai usar todo dia.
Browser de arquivos, transformações on-demand, policies via SQL e analytics de CDN — em PT-BR, dark por padrão, no Studio do SuperDB.
| Preset | Tamanho | Formato | Uso |
|---|---|---|---|
| thumb | 200 × 200 | webp · q80 | cards lista |
| card | 600 × 600 | webp · q85 | grid catálogo |
| hero | 1600 × 900 | avif · q82 | banner home |
| avatar | 96 × 96 | webp · q90 | navbar |
| Policy | Bucket | Operação | Status |
|---|---|---|---|
| own-only avatar | avatares | select / insert / update | ativa |
| team-shared contratos | contratos | select via org_id | ativa |
| public-read produtos | fotos-produto | select anon | ativa |
| role-based comprovantes | comprovantes | select role:financeiro | ativa |
| signed-only contratos | contratos | signed url TTL 1h | restrita |
| Arquivo | Requests (24h) | Bytes | Hit rate |
|---|---|---|---|
| fotos-produto/tenis-azul.jpg?width=600 | 184.291 | 3.2 GB | 99% |
| avatares/.../avatar.png?width=96 | 92.418 | 880 MB | 98% |
| banner-promo-natal.webp | 48.107 | 9.4 GB | 97% |
| video-tutorial.mp4 (range) | 12.842 | 184 GB | 82% |
| contratos/contrato-001.pdf (signed) | 2.018 | 2.8 GB | no-cache |
O que tem dentro.
Tudo que um app brasileiro precisa pra servir arquivos — rápido, seguro e barato.
Upload resumable
Protocolo TUS pra arquivos grandes (até 5 GB). Retoma de onde parou se cair a conexão. Chunked, multipart, paralelo.
Transformações on-demand
Resize, crop, fit, quality, format. WebP e AVIF automáticos. Engine libvips — 10× mais rápido que ImageMagick.
CDN com edge BR
São Paulo, Rio, Porto Alegre, Recife e Brasília. p99 < 50ms pra usuário brasileiro. Cache automático com purge granular.
Signed URLs
TTL configurável (segundos a dias). Upload signed pra clients (sem expor anon key). Range requests pra streaming.
Policies via RLS
Mesma sintaxe do Postgres. Own-only, team-shared, role-based, public-read. SQL puro — sem DSL proprietário.
Audit log LGPD
Cada upload, download, delete e signed URL fica registrado com hash chain SHA-256. Prova judicial pra documentos sensíveis.
Vídeo & streaming
Range requests nativos. Funciona com <video> HTML5, HLS e MP4 progressive. Bandwidth otimizado por edge.
Watermark on-the-fly
Marca d'água automática em PDFs e imagens via query param. Útil pra contratos, comprovantes e fotos de produto.
Buckets ilimitados
Crie quantos buckets quiser, públicos ou privados. Limites por bucket (MIME, tamanho, count). Lifecycle rules pra purge.
Drop-in Supabase
API storage.from(bucket) idêntica. Troca 1 import, usa upload, download, getPublicUrl, createSignedUrl igual.
Migra do Supabase Storage
trocando 1 import.
A API do @superdb/supabase-compat é idêntica à do @supabase/supabase-js. Mesmo storage.from(bucket).upload(), mesmo getPublicUrl, mesmo createSignedUrl.
Você muda o import e ganha CDN com edge no Brasil + transformações on-demand via query params. Sem refactor, sem migration de dados.
import { createClient } from '@superdb/supabase-compat'
const db = createClient(url, anonKey)
// Upload
const { data } = await db.storage
.from('avatares')
.upload(`${userId}/avatar.png`, file, { upsert: true })
// URL pública + thumbnail on-demand
const { data: { publicUrl } } = db.storage
.from('avatares')
.getPublicUrl(`${userId}/avatar.png`)
const thumb = publicUrl + '?width=200&height=200&fit=cover&quality=80'
// URL assinada pra PDF privado
const { data: signed } = await db.storage
.from('contratos')
.createSignedUrl('contrato-001.pdf', 3600)
Storage feito pra servir do Brasil.
Pronto pra subir os primeiros arquivos?
Tier Free generoso: 1 GB de storage, 2 GB de bandwidth, transformações ilimitadas. Sem cartão.