Assets
The atomic unit of DesignVault. An asset = one visual creation with metadata, source, and history.
Anatomy
- Title + description — for search and identification
- Asset type — landing_page, email, social_media, banner_ad, print_*, etc. Configurable per org.
- Source — Figma file_key + node_id, or external URL, or direct upload
- Thumbnail — PNG stored in Supabase Storage, 24h signed URL
- Tags — multi-category (product, campaign, brand, custom)
- Collections — an asset can belong to N collections
- External links — Adobe Express, Canva, project management, etc.
- Status — active, archived, pending_ai_review
Supported sources
| Type | How to import |
|---|---|
| Figma frame | Paste the frame URL from Figma |
| Figma plugin | Select in Figma → Send to DesignVault |
| Direct upload | Drag & drop an image (PNG/JPG/WebP, max 25 MB) |
| External URL | Paste an Adobe Express, Canva, or other link |
| Programmatic API | POST /api/v1/assets with image_url or image_base64 |
Deduplication
For Figma imports, uniqueness is guaranteed by (organization_id, figma_file_key, figma_node_id). If you re-import the same frame, you get a dialog offering to:
- View — open the existing asset
- Update — refresh the thumbnail and metadata
- Create — force-create a new asset
- Cancel
Search
Full-text search over title + description + tag names via Postgres tsvector (simple dictionary — bilingual FR/EN). When AI is enabled for your org, search becomes hybrid: 0.4 × full-text rank + 0.6 × semantic similarity, so a plain-language description finds assets regardless of their file names. Details in AI features.
Annotations
Figma-style pins dropped directly on the thumbnail. Click anywhere on an asset's image to leave a positioned comment; pins support replies, resolve, and live updates for everyone viewing the asset. Positions are stored as percentages, so they survive resizes and multi-page assets.
Figma thumbnail refresh
When you open the detail view of a Figma asset, we compare its last_modified with the one we stored. If Figma has a newer version, the thumbnail refreshes automatically in the background.