Créez un preset Unsigned dans Cloudinary → Settings → Upload.
Disponible dans Supabase → Settings → API → anon public key.
Pour Cloudflare R2, Backblaze B2, MinIO, etc. — utilisez leur endpoint compatible S3.
⚠️ Les clés S3 sont stockées dans les options du widget Grist (visibles par les admins du document). Préférez des clés avec permissions minimales en écriture uniquement.
Créez un token dans Nextcloud → Paramètres → Sécurité → Mots de passe d'application.
Créé automatiquement si absent. Défaut : GristUploads.
⚠️ Les identifiants sont stockés dans les options du widget Grist (visibles par les admins du document). Utilisez un App Token plutôt que votre mot de passe principal.
Aucun credential stocké ici. Tout est géré côté serveur par le proxy.
🔒 Mode sécurisé : aucune clé API ne transite par le navigateur. Seule cette URL est stockée dans le widget.
L'endpoint doit accepter un multipart/form-data avec le champ file et retourner un JSON avec une clé url ou secure_url ou Location.
Nom de la clé dans la réponse JSON (ex: url, secure_url, link).