Sandbox Mode
Create isolated demo environments for visitors to explore Deckyard.
Overview
Section titled “Overview”Sandbox mode provides per-visitor isolated sessions, perfect for demos and trials. Each visitor gets their own environment to experiment with without affecting other users.
How It Works
Section titled “How It Works”When sandbox mode is enabled:
- Per-visitor isolation - Each visitor gets their own isolated workspace
- Auto-provisioned access - Guest sessions are created automatically via cookies
- Sandbox watermarking - Presentations display a sandbox indicator
- Automatic cleanup - Sandbox data is periodically cleaned up
Session Creation
Section titled “Session Creation”When a new visitor arrives:
- System generates a unique sandbox session ID
- Session is stored in a cookie
- Visitor can create and edit presentations
- All data is scoped to their session
Data Isolation
Section titled “Data Isolation”Each sandbox session has:
- Its own set of presentations
- Isolated image library
- Separate settings
- No visibility into other sessions
Configuration
Section titled “Configuration”Enable sandbox mode via environment variable:
SANDBOX_MODE=trueAdditional Options
Section titled “Additional Options”| Variable | Default | Description |
|---|---|---|
SANDBOX_MODE | false | Enable sandbox mode |
SANDBOX_CLEANUP_HOURS | 24 | Hours before sandbox data cleanup |
SANDBOX_MAX_PRESENTATIONS | 5 | Max presentations per sandbox |
Combined with Demo Mode
Section titled “Combined with Demo Mode”Sandbox mode works well with demo mode for public demonstrations:
SANDBOX_MODE=trueDEMO_MODE=trueThis creates a fully isolated demo environment with restricted features.
Use Cases
Section titled “Use Cases”Public Demos
Section titled “Public Demos”Perfect for:
- Product demonstrations
- Marketing websites with “Try it now” functionality
- Self-service product exploration
Product Trials
Section titled “Product Trials”Enable potential customers to:
- Explore all features without commitment
- Create test presentations
- Experience the editor interface
Trade Show Presentations
Section titled “Trade Show Presentations”At events:
- Each booth visitor gets their own sandbox
- No data carries over between visitors
- Clean environment for each demonstration
Training Environments
Section titled “Training Environments”For workshops and training:
- Each participant has their own workspace
- No interference between participants
- Easy cleanup after sessions
Watermarking
Section titled “Watermarking”In sandbox mode, presentations display a visual indicator:
- “Sandbox” badge in the editor
- Watermark on exported presentations
- Clear indication this is a trial environment
Limitations
Section titled “Limitations”Sandbox mode has intentional limitations:
Disabled Features
Section titled “Disabled Features”- User authentication (guests only)
- Email notifications
- Collaboration features
- Publishing to public URLs
- API access
Storage Limits
Section titled “Storage Limits”- Limited number of presentations
- Reduced image library capacity
- No permanent data storage
Session Expiration
Section titled “Session Expiration”- Sessions expire after configurable period
- Data is automatically cleaned up
- No recovery of expired sandbox data
Implementation Details
Section titled “Implementation Details”Cookie-Based Sessions
Section titled “Cookie-Based Sessions”Sandbox sessions use cookies:
- Cookie name:
sb_sandbox_session - Contains unique session identifier
- HttpOnly for security
- Expires with cleanup period
Data Storage
Section titled “Data Storage”Sandbox data is stored:
- In a separate namespace
- With session ID prefix
- Subject to automatic cleanup
Cleanup Process
Section titled “Cleanup Process”Automatic cleanup runs periodically:
- Identifies sessions older than threshold
- Removes associated presentations
- Cleans up images and uploads
- Logs cleanup statistics
Monitoring
Section titled “Monitoring”Sandbox Metrics
Section titled “Sandbox Metrics”Monitor sandbox usage:
- Active sandbox sessions
- Presentations created
- Session duration
- Cleanup statistics
Server Logs
Section titled “Server Logs”Sandbox events are logged:
[sandbox] New session created: sb_abc123[sandbox] Cleanup: removed 15 expired sessionsSecurity Considerations
Section titled “Security Considerations”Isolation
Section titled “Isolation”- Each sandbox is completely isolated
- No cross-sandbox data access
- Guest users cannot access authenticated areas
Resource Protection
Section titled “Resource Protection”- Rate limiting applies to sandbox users
- Storage quotas prevent abuse
- CPU/memory limits on exports
No Persistence
Section titled “No Persistence”- Make clear to users that data is temporary
- Display expiration warnings
- No expectation of data preservation