What problem does it solve?
This Skill prevents unsafe and costly file-handling patterns by guiding your C# backend to generate secure pre-signed S3 URLs, validate uploads, and store only object keys for long-term maintainability.
Core Features & Use Cases
- Client-direct uploads with pre-signed URLs: Generate pre-signed PUT URLs for uploads and pre-signed GET URLs for downloads so your server never receives file bytes.
- MIME allowlist validation before signing: Validate allowed content types in the presign step to block attackers from obtaining signed URLs for disallowed file types.
- Key-based storage and on-demand signed downloads: Persist S3 object keys (not full URLs) in your database and generate signed download URLs when responding to clients.
- Upload confirmation and server-side verification: Require the client to confirm uploads by calling an API endpoint with the key, and verify the object exists in S3 before saving.
- DI-registered IAmazonS3 with safe credential sourcing: Register IAmazonS3 via dependency injection and rely on environment/IAM role credentials rather than hardcoding secrets.
Quick Start
Ask your coding agent to implement the presign and confirm endpoints plus the DI-registered StorageService using AWS SDK S3, storing only the returned object key in your database.