Skip to content

Storage ​

PIP AI uses a single Supabase Storage bucket for all file uploads.

Bucket Configuration ​

SettingValue
Namepip-ai-docs
VisibilityPrivate
Max File Size100MB

Folder Structure ​

pip-ai-docs/
├── specs/{brand_name}/{spec_upload_id}/{filename}
├── pips/{project_id}/{document_id}/{filename}
├── floor-plans/{project_id}/{floor_plan_id}/{filename}
├── floor-plans/{project_id}/{floor_plan_id}/rendered.png
├── floor-plans/{project_id}/{floor_plan_id}/thumbnail.png
├── document-builder/{project_id}/{filename}
└── ai-renders/{project_id}/{job_id}/{variant_id}.png

Allowed MIME Types ​

  • application/pdf
  • image/png
  • image/jpeg
  • image/jpg
  • image/svg+xml
  • application/octet-stream

Storage Policies ​

ActionAdminUser (own project)
View specsYesNo
Upload specsYesNo
View project filesYesYes
Upload to projectYesYes
AI render outputYes (via service role)Read only

Accessing Files ​

Always use signed URLs for file access:

typescript
const { data } = await supabase.storage
  .from('pip-ai-docs')
  .createSignedUrl(storagePath, 3600) // 1 hour expiry

WARNING

Never expose raw storage paths to clients. Always generate signed URLs server-side or via the Supabase client.

Built with VitePress