Public documentation

Product architecture

StormFrame is an invitation-only licensing platform. Contributors submit original weather footage, an automated pipeline generates watermarked previews, and approved organizations license originals through a rules-driven workflow. Every action is auditable.

Invitation-only trust

Every account is vetted. Roles are enforced end-to-end via row-level policies.

Verifiable originals

SHA-256 fingerprints, EXIF integrity checks, capture-geo validation.

Auditable licensing

Every preview, license issue, and download writes to an immutable audit log.

Upload → License → Delivery flow

A single submission traverses ingestion, transcoding, moderation, listing, licensing, and delivery.

1
Contributor upload
Multipart, resumable
2
FFmpeg pipeline
4K/6K/8K proxies + watermark
3
Admin moderation
Rights & content review
4
Catalog listing
Watermarked previews
5
License request
Editorial / Broadcast / Enterprise
6
Invoice + terms
Rules engine assigns tier
7
Signed download
Time-boxed authorization
8
Audit + reporting
Immutable log
Rules engine
IF If licensee.tier < footage.min_tier
THEN Block license issue; suggest upgrade path
IF If footage.exclusivity = 'exclusive' AND active_license exists
THEN Reject new license; notify licensee
IF If licensee.region ∉ footage.territories
THEN Require Enterprise tier; add territory addendum
IF If invoice.age > 30d AND status = 'due'
THEN Auto-flag overdue; suspend downloads
IF If contributor.strikes ≥ 3
THEN Auto-suspend uploads; escalate to admin queue
Data model
users
id, role, org, status
footage
id, contributor_id, region, price, status
licenses
id, footage_id, licensee_id, tier
invoices
id, license_id, amount, status
audit_log
id, actor, action, target, at

Security posture

RBAC
Contributor · Licensee · Admin
Storage
Original files encrypted at rest
Delivery
Short-lived signed URLs
Audit
Append-only log, 7-year retention