storage

Design secure file upload flows with server-side validation and cleanup.

4|2|Updated Sep 17, 2025
One-click install
npx skills add https://github.com/SylphxAI/flow --skill storage-sylphxai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: storage
Source: https://github.com/SylphxAI/flow/tree/main/.claude/skills/storage
Command: npx skills add https://github.com/SylphxAI/flow --skill storage-sylphxai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

File storage for uploads, CDN, and blobs introduces security risks, maintenance overhead, and cost leakage. This Skill provides guidelines to design a secure, verifiable, and maintainable file storage system.

Core Features & Use Cases

  • Secure, server-verified uploads: Prevent direct client-side uploads to permanent storage without validation.
  • Ownership validation and lifecycle: Ensure uploaded blobs are attached to the correct resources and can be cleaned up when references are removed.
  • Abandoned uploads handling: Clean up incomplete or orphaned uploads to control costs and clutter.
  • Cost-aware storage: Consider data retention, access patterns, and egress costs for efficient storage.

Quick Start

Use the storage skill guidelines to design a secure file upload flow with server-side ownership validation and automatic cleanup of abandoned uploads.

Frequently Asked Questions about storage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent unauthorized access to uploaded files and ensure ownership validation?

Ownership validation requires server-side verification that links each uploaded blob to the correct resource or user before storage. Implement checks on the backend to confirm the uploader has permission to attach the file, preventing unauthorized file claims and ensuring only legitimate resources reference stored data.

What's the best way to handle file uploads securely without exposing permanent storage to direct client writes?

Secure uploads route through server-side validation before files reach permanent storage. Use temporary staging areas, verify file integrity and permissions on the backend, then move validated files to production storage only after passing all checks. This prevents malicious or incomplete uploads from persisting.

How do I clean up abandoned or incomplete uploads to control storage costs?

Abandoned uploads occur when clients initiate but never complete transfers or when uploads reference deleted resources. Implement lifecycle policies that automatically remove incomplete uploads after a timeout window and delete orphaned blobs when their parent resources are removed, reducing clutter and egress costs.

Do I need to consider CDN delivery and egress costs when designing file storage?

Yes. CDN and blob storage introduce egress charges based on data transfer volume and access patterns. Design retention policies, caching strategies, and access controls aligned with actual usage to minimize unnecessary transfers and reduce operational costs.

What lifecycle management practices prevent orphaned data in blob storage?

Lifecycle management ties file retention to resource references; when a resource is deleted, its associated blobs are marked for cleanup. Implement intent-based uploads that require explicit attachment to a parent resource and periodic garbage collection to remove unreferenced files.