Pular para o conteúdo
📦 SUPERDB STORAGE

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.

superdb.com.br/dash/loja-online/storage/avatares
v0.4.2
TipoNomeTamanhoModificado
🖼️avatar-maria.png248 KBhá 2 min···
📄contrato-2025-001.pdf1.4 MBhá 18 min···
🎬video-tutorial.mp442.1 MBhá 1h···
📸foto-produto-tenis-azul.jpg2.4 MBhá 3h···
🧾comprovante-pix-3821.pdf87 KBontem···
🖼️banner-promo-natal.webp198 KBontem···
📄manual-cliente-v3.pdf3.8 MB2 dias···
📐planta-baixa-galpao.svg312 KB3 dias···
superdb.com.br/dash/loja-online/storage/transforms
v0.4.2
OriginalJPEG
📸
foto-produto-tenis-azul.jpg 1920 × 1920 · 2.4 MB
TransformadoWebP
📸
thumb 200 × 200 WebP · 18 KB (−99%)
/storage/v1/render/image/public/fotos-produto/tenis-azul.jpg?width=200&height=200&fit=cover&quality=80&format=webp
PresetTamanhoFormatoUso
thumb200 × 200webp · q80cards lista
card600 × 600webp · q85grid catálogo
hero1600 × 900avif · q82banner home
avatar96 × 96webp · q90navbar
superdb.com.br/dash/loja-online/storage/policies
v0.4.2
1-- usuário só lê/escreve a própria pasta
2create policy "own avatar" on storage.objects
3  for all using (
4    bucket_id = 'avatares'
5    and (storage.foldername(name))[1] = auth.uid()::text
6  );
PolicyBucketOperaçãoStatus
own-only avataravataresselect / insert / updateativa
team-shared contratoscontratosselect via org_idativa
public-read produtosfotos-produtoselect anonativa
role-based comprovantescomprovantesselect role:financeiroativa
signed-only contratoscontratossigned url TTL 1hrestrita
superdb.com.br/dash/loja-online/storage/cdn
v0.4.2
Cache hit rate
96%
+2pp mês
Bandwidth (mês)
2.4 TB
+18%
p99 latência BR
< 50ms
SP · RJ · POA
ArquivoRequests (24h)BytesHit rate
fotos-produto/tenis-azul.jpg?width=600184.2913.2 GB99%
avatares/.../avatar.png?width=9692.418880 MB98%
banner-promo-natal.webp48.1079.4 GB97%
video-tutorial.mp4 (range)12.842184 GB82%
contratos/contrato-001.pdf (signed)2.0182.8 GBno-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.

⚡ MIGRAR EM 1 LINHA

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)
🇧🇷 BRASIL-FIRST

Storage feito pra servir do Brasil.

CDN com edge BR

Edge nodes em São Paulo, Rio, Porto Alegre, Recife e Brasília. p99 abaixo de 50ms pra usuário brasileiro — sem hop pra Miami. Cache automático com 96% hit rate médio.

🪄 Transformações WebP/AVIF

Resize, crop e re-encode on-the-fly. WebP e AVIF automáticos com fallback. Cliente economiza 87% de bytes em média — mobile 3G/4G feliz, Core Web Vitals verdes.

📋 Audit LGPD

Cada acesso a documento privado (contrato, comprovante, RG, CPF) fica registrado com hash chain SHA-256. Export Art. 18 e purge Art. 16 em 1 click — prova judicial pra ANPD.

Pronto pra subir os primeiros arquivos?

Tier Free generoso: 1 GB de storage, 2 GB de bandwidth, transformações ilimitadas. Sem cartão.