Storage
Visiono offers three storage options: included plan storage, Dropbox integration, and custom S3.
Storage Options
Visiono Storage (Default)
Every plan includes storage space hosted by Visiono:
- Included with your subscription
- No configuration required
- Storage limit based on your plan
- Upgrade plan for more space
Dropbox Storage (Optional)
Connect your Dropbox account to:
- Sync photos automatically to your Dropbox
- Organize with custom folders and subfolders
- Access photos from anywhere via Dropbox
- Integrate with existing Dropbox workflows
Subscription Required
Dropbox integration requires an active subscription.
Custom S3 Storage (Optional)
Custom S3 storage allows you to:
- Store photos in your own bucket
- Control data location
- Manage storage costs
- Maintain data ownership
Subscription Required
Custom S3 storage requires an active subscription.
Supported Providers
| Provider | Type | Description |
|---|---|---|
| Dropbox | Cloud Sync | Automatic sync with folder organization |
| Amazon S3 | S3 | AWS standard S3 storage |
| DigitalOcean Spaces | S3 | S3-compatible object storage |
| Backblaze B2 | S3 | Cost-effective cloud storage |
| OVH Object Storage | S3 | European cloud provider |
| MinIO | S3 | Self-hosted S3-compatible |
| Custom | S3 | Any S3-compatible service |
Configuration
Accessing Storage Settings
Go to Storage in the sidebar to:
- View usage across all storage providers
- Set your Primary Storage preference
- Configure Dropbox and S3 connections
- Manage filename patterns
The Storage page shows:
- Visiono Storage: Your plan's included storage with usage bar
- Dropbox Storage: Connection status and folder settings
- Custom S3 Storage: Connection status and bucket details
Primary Storage
When you have multiple storage options configured, choose where new photos are stored:
| Option | Description |
|---|---|
| Visiono Storage | Default cloud storage (always available) |
| Dropbox | Sync to your connected Dropbox account |
| S3 Storage | Store in your configured S3 bucket |
Storage Priority
Changing primary storage only affects new photos. Existing photos remain in their original location.
Dropbox Setup
Step 1: Connect Account
- Go to Storage in the sidebar
- Click Configure in the Dropbox section
- Click Connect Dropbox
- Authorize Visiono in the Dropbox popup
- You'll be redirected back after authorization
Step 2: Configure Folders
After connecting:
| Setting | Description |
|---|---|
| Enable Dropbox Upload | Toggle to enable/disable syncing |
| Default Folder | Select base folder for uploads |
| Create Subfolders | Create folder per photo request |
| Subfolder Pattern | Naming pattern for subfolders |
Subfolder Naming Patterns
When Create Subfolders is enabled, customize folder names:
| Placeholder | Description | Example |
|---|---|---|
{date} | Upload date | 2026-01-17 |
{code} | Request code | ABC123 |
{id} | Request ID | pr_456 |
{type} | Request type | permanent |
Example patterns:
{date}_{code}→2026-01-17_ABC123{type}/{date}→permanent/2026-01-17Photos_{code}→Photos_ABC123
Dropbox Connection Status
| Status | Meaning |
|---|---|
| ✅ Connected | Authorization valid, uploads working |
| ⚠️ Failures | Some uploads failed (check count) |
| ❌ Disconnected | Authorization expired or revoked |
Managing Connection
- Test Connection: Verify authorization is working
- Refresh Folders: Reload folder list from Dropbox
- Disconnect: Revoke access and disable syncing
S3 Setup
Enable Custom Storage
- Go to Settings → Storage tab
- Toggle Enable Custom S3 Storage
- Select your provider
- Enter credentials
- Configure bucket details
- Test connection
- Save settings
Required Fields
| Field | Description |
|---|---|
| Provider | Storage service provider |
| Access Key | API access key / ID |
| Secret Key | API secret key |
| Bucket Name | Target bucket name |
| Region | Bucket region (for AWS/DO) |
Optional Fields
| Field | Description |
|---|---|
| Endpoint | Custom endpoint URL |
| Public Endpoint | Public access URL |
| Path Prefix | Folder prefix for files |
Provider Setup
Amazon S3
- Create an S3 bucket in AWS Console
- Create an IAM user with S3 permissions
- Generate access keys
- Configure bucket policy for access
Required permissions:
s3:PutObjects3:GetObjects3:DeleteObjects3:ListBucket
DigitalOcean Spaces
- Create a Space in DO dashboard
- Generate Spaces access keys
- Note the region (e.g.,
nyc3,ams3)
Endpoint format:
{region}.digitaloceanspaces.comBackblaze B2
- Create a B2 bucket
- Generate application key
- Use S3-compatible endpoint
Endpoint format:
s3.{region}.backblazeb2.comMinIO / Self-Hosted
- Set up MinIO server
- Create bucket
- Configure access credentials
- Provide endpoint URLs
Configuration:
- Endpoint: Your MinIO server URL
- Public Endpoint: URL for browser access
Testing Connection
Test Button
Click Test Connection to verify:
- Credentials are valid
- Bucket is accessible
- Write permissions work
- Read permissions work
Connection Status
| Status | Meaning |
|---|---|
| ✅ Connected | All tests passed |
| ❌ Failed | Connection error |
| ⏳ Not tested | Never tested |
Common Errors
| Error | Solution |
|---|---|
| Access Denied | Check credentials and permissions |
| Bucket Not Found | Verify bucket name and region |
| Invalid Endpoint | Correct the endpoint URL |
| Timeout | Check network/firewall settings |
Filename Patterns
When using external storage (Dropbox or S3), customize how files are named.
Configuration
Go to Storage → Filename Pattern section to configure.
Available Placeholders
| Placeholder | Description | Example |
|---|---|---|
{original} | Original filename | photo |
{nome} | Request name | vehicle-photos |
{slot} | Photo slot name | fronte-documento |
{data} | Date (YYYYMMDD) | 20260117 |
{ora} | Time (HHMMSS) | 143052 |
{timestamp} | Unix timestamp | 1705500652 |
{seq} | Sequence number | 001 |
{unique_field} | Unique field value | ABC123 |
Example Patterns
| Pattern | Result |
|---|---|
{original}_{data}_{ora} | photo_20260117_143052.jpg |
{nome}_{slot}_{seq} | vehicle-photos_fronte-documento_001.jpg |
{unique_field}_{timestamp} | ABC123_1705500652.jpg |
Default Pattern
If no pattern is set, files use: {original}_{data}_{ora}
Storage Behavior
When Enabled
- New photos stored in your selected primary storage
- Existing photos remain in their original location
- Photos automatically upload to configured destination
When Disabled
- New photos use Visiono default storage
- Warning: Existing external photos become inaccessible
External Storage Warning
If you have photos in Dropbox or S3 and disable that storage, those photos will not be accessible until you re-enable it.
Photo Location
Photos are stored at:
{bucket}/{path_prefix}/{tenant_id}/{request_id}/{filename}Storage Dashboard
View Usage
The storage dashboard shows:
- Total storage size
- Bucket name
- Last updated time
Refresh Size
Click Refresh Size to recalculate bucket usage.
S3 Status
When configured, view:
- Connection health
- Last check time
- Any active issues
Migration
To Custom S3
New photos automatically use your S3 after enabling. Existing photos are not automatically migrated.
From Custom S3
When disabling:
- Download needed photos first
- Confirm the deactivation warning
- Photos remain in your bucket but become inaccessible through Visiono
Best Practices
Security
- Use dedicated credentials for Visiono
- Apply least-privilege permissions
- Enable bucket versioning
- Configure lifecycle policies
Organization
- Use meaningful path prefix
- Consider bucket-per-environment
- Document your configuration
Monitoring
- Set up bucket alerts
- Monitor storage costs
- Regular connection tests
Troubleshooting
Photos Not Loading
- Verify storage provider is still enabled
- Check connection status in Storage page
- Test connection using the test button
- Verify credentials/permissions
Dropbox Issues
| Issue | Solution |
|---|---|
| Authorization expired | Reconnect via Settings |
| Folder not found | Refresh folders or select new default |
| Upload failures | Check consecutive failure count, test connection |
| Wrong folder | Update default folder path |
S3 Issues
| Issue | Solution |
|---|---|
| Access Denied | Check IAM permissions |
| Bucket Not Found | Verify bucket name and region |
| Timeout | Check network/firewall settings |
Sync Failures
If uploads fail repeatedly:
- Check the consecutive failures counter
- Test Connection to verify credentials
- For Dropbox: ensure app permissions are intact
- For S3: verify IAM user has write permissions
- Check if storage quota is exceeded
High Costs
Review and optimize:
- Storage class selection
- Lifecycle policies
- Unused file cleanup
- Photo retention policies
FAQ
Do I need external storage?
No, Visiono default storage works for most users. Use external storage when you need:
- Access photos directly in Dropbox or S3
- Data residency control
- Custom backup policies
- Integration with existing infrastructure
Dropbox vs S3?
| Use Case | Recommendation |
|---|---|
| Quick access, sharing | Dropbox |
| Large volumes, cost optimization | S3 |
| Compliance requirements | S3 with specific region |
| Existing workflows | Match your current tools |
What about existing photos?
Existing photos stay in their original location. Only new photos use the new storage configuration.
Can I switch providers?
Yes, but:
- Disable current provider
- Configure new provider
- New photos use new provider
- Old photos remain in old location
Can I use Dropbox and S3 together?
Yes! You can have both configured, but only one can be the Primary Storage at a time. Switch between them based on your current needs.
What happens if Dropbox sync fails?
- Failed uploads are automatically retried
- Consecutive failure counter tracks issues
- Photos remain accessible via Visiono storage as fallback
- You'll see warnings in the Storage dashboard
Is my data encrypted?
- Dropbox: Uses Dropbox's encryption
- S3: Enable encryption on your bucket
- All transfers: Use HTTPS
Photo Deletion Behavior
When you delete a photo in Visiono, the copies on Visiono-hosted storage are always removed. For storage you own (your S3 bucket, your Dropbox account), you decide:
| Storage | Per-photo delete | Workspace delete |
|---|---|---|
| Visiono storage (local + cold backup) | Always deleted | Always deleted |
| Your S3 bucket | Setting toggle (default: keep) | Never touched |
| Your Dropbox account | Setting toggle (default: keep) | Never touched |
Configure the policy
Go to Storage Settings → Photo Deletion Behavior and choose:
- Your S3 bucket: enable to remove a photo from your S3 bucket when you delete it in Visiono.
- Your Dropbox account: enable to remove the synced copy from your Dropbox when you delete the photo in Visiono.
Workspace deletion is non-destructive on customer storage
If your entire workspace is deleted, Visiono never touches files in your own S3 bucket or your Dropbox account. Your backups stay yours.
What if the external deletion fails?
Best-effort: the photo is still marked deleted in Visiono and the error is logged. You may need to remove the lingering external copy manually (e.g. if your Dropbox token has expired).
Related Pages
- Workspace Settings - General settings
- Gallery - View photos
- Photo View - Individual photos
