# Supabase Storage: arquivos privados, URLs assinadas e upsert

> **Resposta Direta:** A Aula 5 de 15 ("Supabase Storage: arquivos privados, URLs assinadas e upsert"), parte do módulo "Produtos" do curso gratuito "Supabase sem mistério: banco, auth e RLS" na Escola de Aplicativos (ministrado por Mauro Mequelussi), ensina na prática: o aluno vai entender como o Supabase Storage organiza arquivos em buckets e quais são as diferenças cruciais entre acesso público e privado. Veja como compartilhar documentos confidenciais por tempo limitado via URLs assinadas e aprenda a configurar regras de RLS para upload. Descubra também como evitar a clássica armadilha do upsert ao substituir arquivos.

## Ficha Técnica da Aula

- **Curso:** [Supabase sem mistério: banco, auth e RLS](https://www.escoladeaplicativos.com.br/cursos/supabase-sem-misterio)
- **Escola:** Escola de Aplicativos (https://www.escoladeaplicativos.com.br)
- **Instrutor:** Mauro Mequelussi
- **Módulo 2 de 4:** Produtos
- **Posição na trilha:** Aula 5 de 15
- **Duração da videoaula:** 5 min
- **Nível:** Iniciante
- **Idioma:** Português (PT-BR)
- **Custo:** 100% Gratuito (R$ 0)
- **Certificado:** Certificado gratuito verificável incluso ao concluir o curso
- **Acesso ao vídeo:** Resumo técnico aberto; videoaula em HD liberada mediante cadastro gratuito
- **URL canônica:** https://www.escoladeaplicativos.com.br/cursos/supabase-sem-misterio/supabase-storage-arquivos-privados-urls-assinadas-e-upsert

## O que você vai aprender

- A diferença estrutural entre buckets públicos e buckets privados.
- Como gerar URLs assinadas para liberar o download temporário de documentos.
- Como aplicar regras de segurança com RLS na tabela storage.objects.
- A armadilha das permissões do upsert ao atualizar ou substituir arquivos existentes.
- Os limites de armazenamento e transferência disponíveis no plano gratuito do Supabase.

## Pontos-chave da Aula

- Buckets nascem privados por padrão; apenas use buckets públicos para arquivos que qualquer pessoa pode ver.
- A URL assinada expira automaticamente, mas não pode ser cancelada antes do prazo sem acionar o suporte.
- Substituir um arquivo com o mesmo nome exige três permissões distintas: INSERT, SELECT e UPDATE.
- Apagar registros diretamente pelo SQL não remove os arquivos físicos do Storage.
- O plano grátis oferece 1 GB de armazenamento e arquivos de até 50 MB cada.

## Capítulos e Tópicos da Videoaula

- **[00:00] O risco de expor arquivos confidenciais** — O dilema de compartilhar propostas em PDF e como a configuração do bucket define se terceiros conseguem abrir o arquivo.
- **[00:21] Analogia dos armários: vitrine e cofre** — Uma metáfora simples para entender a diferença entre buckets públicos para catálogos e cofres privados com acesso restrito.
- **[00:38] O que são buckets no Supabase Storage** — Apresentação da área de Storage no painel, separação entre dados e arquivos, além das configurações básicas de cada bucket.
- **[01:01] Diferenças entre buckets públicos e privados** — Como funciona a leitura em buckets públicos, o cache mais rápido e as duas formas de acessar buckets privados com JWT ou URLs assinadas.
- **[01:39] Aplicação prática: foto de perfil versus proposta** — Definição do uso de bucket público para imagens do vendedor e bucket privado com link temporário para documentos em PDF.
- **[02:09] Políticas de acesso com RLS em storage.objects** — Entenda por que uploads são bloqueados por padrão e como restringir pastas isoladas por usuário usando regras de RLS.
- **[02:35] A armadilha do upsert ao substituir arquivos** — Por que reenviar um arquivo existente exige permissões de INSERT, SELECT e UPDATE, evitando erros silenciosos no app.
- **[03:06] Cuidados com exclusão e backups no Storage** — A importância de deletar arquivos via API do Storage e o alerta de que o backup do banco de dados não salva arquivos enviados.
- **[03:23] Quando não usar URLs públicas ou assinadas** — Critérios para saber quando um arquivo jamais deve ser público e por que links assinados não servem para revogação imediata.
- **[03:37] Alternativas do mercado e compatibilidade S3** — Comparativo do Supabase Storage com Cloudflare R2, Amazon S3 e UploadThing, destacando a compatibilidade com a API S3.
- **[03:57] Limites e custos do plano gratuito** — Os limites de armazenamento, tamanho máximo por arquivo e cota mensal de transferência de saída no plano grátis.
- **[04:10] Conclusão do caso e introdução a Edge Functions** — A resposta final sobre o vazamento da proposta e uma prévia da próxima aula sobre automações e segurança de chaves de IA.

## Destaques Práticos

- **[01:01] Bucket público vs. privado e URLs assinadas**: Entenda como entregar documentos confidenciais com links que expiram sozinhos em vez de expor arquivos na vitrine pública.
- **[02:35] A pegadinha do upsert ao substituir arquivos**: Substituir um arquivo no Supabase falha sem erro aparente? Descubra as três permissões que você precisa liberar.
- **[03:06] Cuidados essenciais com exclusão e backups**: Apagar dados no SQL não deleta arquivos do Storage: entenda como evitar arquivos órfãos e perdas no app.

## Conceitos e Tecnologias Abordados

- **Tópicos:** Supabase Storage, Buckets públicos e privados, URLs assinadas, Políticas de acesso RLS, Upsert de arquivos, Limites do plano gratuito
- **Ferramentas e Entidades:** Supabase, Supabase Storage, Amazon S3, Cloudflare R2, UploadThing, JWT

## Documentação e Referências Oficiais

- [Documentação do Supabase sobre download de arquivos e URLs assinadas](https://supabase.com/docs/guides/storage/serving/downloads)
- [Guia de controle de acesso e regras de RLS para o Storage](https://supabase.com/docs/guides/storage/security/access-control)
- [Guia de uploads de arquivos e uso da opção upsert](https://supabase.com/docs/guides/storage/uploads/standard-uploads)

## Perguntas Frequentes (FAQ)

### O que é ensinado na Aula 5 (Supabase Storage: arquivos privados, URLs assinadas e upsert) do curso Supabase sem mistério: banco, auth e RLS?

Nesta aula do módulo "Produtos" na Escola de Aplicativos, você aprende de forma prática: A diferença estrutural entre buckets públicos e buckets privados.; Como gerar URLs assinadas para liberar o download temporário de documentos.; Como aplicar regras de segurança com RLS na tabela storage.objects.; A armadilha das permissões do upsert ao atualizar ou substituir arquivos existentes..

### Como assistir ao vídeo completo da aula "Supabase Storage: arquivos privados, URLs assinadas e upsert" gratuitamente?

O resumo técnico estruturado desta aula é público e gratuito. Para assistir à videoaula completa em HD, basta entrar ou criar sua conta 100% gratuita na Escola de Aplicativos — o cadastro leva segundos e libera todas as 15 aulas do curso "Supabase sem mistério: banco, auth e RLS", controle de progresso, Tutor IA e emissão de certificado gratuito.

### Quais tecnologias e conceitos são abordados em "Supabase Storage: arquivos privados, URLs assinadas e upsert"?

A aula cobre diretamente os seguintes tópicos técnicos aplicados em produção: Supabase Storage, Buckets públicos e privados, URLs assinadas, Políticas de acesso RLS, Upsert de arquivos, Limites do plano gratuito.

### O curso "Supabase sem mistério: banco, auth e RLS" oferece certificado gratuito?

Sim. Ao assistir às 15 aulas do curso gratuito "Supabase sem mistério: banco, auth e RLS" na Área de Membros da Escola de Aplicativos, você emite gratuitamente um certificado digital em português com código de verificação pública.

## Como assistir à videoaula completa gratuitamente

Crie sua conta gratuita em segundos em https://www.escoladeaplicativos.com.br/login?redirect=%2Fm%2Fcursos%2Fsupabase-sem-misterio%2Faula%2Fsupabase-storage-arquivos-privados-urls-assinadas-e-upsert para assistir ao vídeo completo desta aula em HD na Área de Membros da Escola de Aplicativos, com progresso salvo, Tutor IA e certificado gratuito verificável.

## Navegação do Curso

- **Aula anterior:** [Aula 4: Autenticação no Supabase: login, usuários e permissões](https://www.escoladeaplicativos.com.br/cursos/supabase-sem-misterio/autenticacao-no-supabase-login-usuarios-e-permissoes)
- **Próxima aula:** [Aula 6: Supabase Edge Functions: webhooks e IA sem expor sua chave](https://www.escoladeaplicativos.com.br/cursos/supabase-sem-misterio/supabase-edge-functions-webhooks-e-ia-sem-expor-sua-chave)
