1. Core Data Protection Principles
MakeItCustom is engineered from the ground up according to privacy-by-design and defense-in-depth principles:
We collect and process only the minimal technical data points required to render user personalizations, compute accurate pricing surcharges, and generate high-resolution print files.
Order and customization data is processed strictly for rendering and manufacturing fulfillment. Data is never repurposed for advertising, behavioral profiling, or commercial data brokerage.
Every database query and storage path is isolated by internal tenant shop IDs resolved from verified Shopify authentication sessions, preventing cross-store data leakage.
Pricing and customization integrity checks are enforced on the server. If any parameter, timestamp, or cryptographic signature is invalid or expired, production jobs fail closed.
2. Encryption & Cryptographic Architecture
We apply modern encryption standards and cryptographic verification across all layers of the application:
- Encryption in Transit (TLS/HTTPS): All incoming and outgoing network traffic — including storefront App Proxy endpoints, Shopify Admin embedded frames, webhook receivers, and cloud storage transfers — is strictly enforced over modern TLS encryption.
- Encryption at Rest: PostgreSQL database instances (hosted on Neon) and private object storage buckets (Cloudflare R2) utilize provider-managed, industry-standard AES-256 encryption at rest.
- Ed25519 Digital Signatures: Customization authorization tokens are cryptographically signed using asymmetric Ed25519 algorithms on the server before cart submission. Checkout validation functions verify this signature to ensure that customization fee amounts have not been tampered with on the client.
- Deterministic Canonical Hashing: Customization design structures and pricing matrices are hashed using SHA-256 to ensure complete integrity between the moment of cart authorization and final order fulfillment.
3. Multi-Tenant Access Controls & Storage Isolation
MakeItCustom enforces strict boundary controls across all storage layers:
| Layer | Access Control Mechanism | Security Guarantee |
|---|---|---|
| Relational Database | Scoped Prisma ORM queries parameterized by internal shopId. | No merchant can view, query, or modify another merchant's templates, designs, or production orders. |
| Object Storage (R2) | Private bucket with structured key hierarchy: shops/{shopId}/... | No public anonymous bucket access; files are uploaded and retrieved using server-controlled signed credentials. |
| Asset Download Routes | Authenticated Shopify Admin session verification before serving generated PNG/PDF files. | Only verified merchant staff logged into the respective Shopify store can download print files. |
| Shopify Webhooks | HMAC-SHA256 signature validation on every webhook payload using Shopify shared secret. | Prevents spoofed webhook injection or unauthorized production job creation. |
4. Asynchronous Production Queue & Resilience
The production rendering pipeline is built for resilience and fault isolation:
- Webhook Decoupling: The
orders/createwebhook handler only validates customization snapshots and records durableProductionJobrows (statusPENDING). It never performs heavy image rendering synchronously during the webhook request. - Distributed Locking & Claim Tokens: Background workers claim jobs using cryptographically random claim tokens and leasing timestamps to prevent race conditions or duplicate file rendering.
- Bounded Retries & Error Logging: Failed rendering attempts log safe error diagnostics, track attempt counts (up to 5 attempts), and support manual merchant retry from the Admin dashboard.
5. Environment & Secret Management
All sensitive configuration parameters — including database connection strings, R2 access credentials, Shopify client secrets, and Ed25519 private signing keys — are injected at runtime via encrypted environment variables in Railway. No secret keys or credentials are committed to version control or exposed in client bundles.
6. Reporting Vulnerabilities & Security Contact
We take security reports seriously. If you discover a potential vulnerability or security concern, please contact our security team directly:
Email: support@codifysystem.com
Please include technical reproduction steps and impact details. We acknowledge vulnerability reports within 48 hours.