
WooCommerce + AWS S3 + CloudFront Secure Downloads (No Plugin)
- or -
Post a project like this- Posted:
- Proposals: 25
- Remote
- #4487610
- OPPORTUNITY
- Awarded















Description
• WooCommerce
• Amazon S3 (private storage)
• Amazon CloudFront (signed URL delivery)
Key Requirements:
• WooCommerce must control permissions, expiry, and download limits
• Your code must only generate signed CloudFront URLs at download time
• No custom download system
• No full plugin
Please note, the implementation must be a minimal custom plugin or MU-plugin used only to sign CloudFront URLs. No other functionality is permitted, and it must not be placed in functions.php.
The following are not Acceptable:
• Any plugin or code that manages downloads
• Any plugin or code that tracks downloads
• Any plugin or code that replaces WooCommerce logic
• Custom download handlers or endpoints
• Public or direct S3 access
Handover Documentation Required:
Provide a guide covering:
• How signed URLs are generated (overview only)
• How to rotate CloudFront keys
• How to add new downloadable files
• Any required AWS and WordPress settings
Documentation must be clear enough for another developer to maintain the system without dependency.
Download Flow (Fixed)
• Customer purchases via WooCommerce
• WooCommerce validates payment, permissions, and download limits
• When the user clicks download, a signed CloudFront URL is generated
• The file is served via CloudFront
• The link expires automatically
No alternative flow is acceptable.
Jamaal M.
100% (5)New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-

Before confirming my implementation approach and timeline, I’d like to clarify a few details to ensure the solution integrates cleanly with your existing WooCommerce setup:
1. Are your downloadable products already configured in WooCommerce, or should the file references be migrated from local storage to S3 paths as part of this task?
2. Will CloudFront use signed URLs or signed cookies (your flow suggests signed URLs, but confirming the expected method)?
3. Are you planning to manage key rotation via CloudFront key groups, or are you currently using legacy trusted signers?
4. Should the MU-plugin support multiple distributions / environments (e.g., staging + production), or only a single distribution?
5. Is your WordPress environment running on EC2, Lightsail, managed hosting, or container-based infrastructure, as this affects credential handling best practices?
6. Do you already have the private S3 bucket + CloudFront distribution configured, or should the setup include AWS-side configuration validation?
Once I confirm these points, I can outline a minimal MU-plugin approach that hooks directly into WooCommerce’s native download permission flow and generates signed CloudFront URLs at request time, without replacing any WooCommerce download logic.