diff --git a/opensaas-sh/blog/src/assets/file-uploads/cors-example.png b/opensaas-sh/blog/src/assets/file-uploads/cors-example.png
new file mode 100644
index 00000000..c681f7f8
Binary files /dev/null and b/opensaas-sh/blog/src/assets/file-uploads/cors-example.png differ
diff --git a/opensaas-sh/blog/src/assets/file-uploads/cors.png b/opensaas-sh/blog/src/assets/file-uploads/cors.png
index f756eaed..a16ddabe 100644
Binary files a/opensaas-sh/blog/src/assets/file-uploads/cors.png and b/opensaas-sh/blog/src/assets/file-uploads/cors.png differ
diff --git a/opensaas-sh/blog/src/content/docs/guides/deploying.mdx b/opensaas-sh/blog/src/content/docs/guides/deploying.mdx
index 09ccff0b..1edff068 100644
--- a/opensaas-sh/blog/src/content/docs/guides/deploying.mdx
+++ b/opensaas-sh/blog/src/content/docs/guides/deploying.mdx
@@ -30,10 +30,13 @@ These are the steps necessary for you to deploy your app. We recommend you follo
Each of these steps is covered in more detail below.
### Prerequisites
-
-Make sure you've got all your API keys and environment variables set up before you deploy.
+#### AWS S3 CORS configuration
+If you're storing files in AWS S3, ensure you've listed your production domain
+in the bucket's CORS configuration under `AllowedOrigins`. Check the [File
+uploading guide](/guides/file-uploading/#change-the-cors-settings) for details.
#### Env Vars
+Make sure you've got all your API keys and environment variables set up before you deploy.
##### Payment Processor Vars
In the [Payments Processor integration guide](/guides/payments-integration/), you set up your API keys using test keys and test product ids. You'll need to get the live/production versions of those keys. To get these, repeat the instructions in the [Integration Guide](/guides/payments-integration/) without being in test mode. Add the new keys to your deployed environment secrets.
diff --git a/opensaas-sh/blog/src/content/docs/guides/file-uploading.mdx b/opensaas-sh/blog/src/content/docs/guides/file-uploading.mdx
index 0907f400..facbbd69 100644
--- a/opensaas-sh/blog/src/content/docs/guides/file-uploading.mdx
+++ b/opensaas-sh/blog/src/content/docs/guides/file-uploading.mdx
@@ -11,6 +11,7 @@ import defaultSettings from '@assets/file-uploads/default-settings.png';
import newBucket from '@assets/file-uploads/new-bucket.png';
import permissions from '@assets/file-uploads/permissions.png';
import cors from '@assets/file-uploads/cors.png';
+import corsExample from '@assets/file-uploads/cors-example.png';
import username from '@assets/file-uploads/username.png';
import keys from '@assets/file-uploads/keys.png';
@@ -61,52 +62,62 @@ To do so, follow the steps in this external guide: [Creating IAM users and S3 bu
Once you are logged in with your IAM user, you'll need to create an S3 bucket to store your files.
1. Navigate to the S3 service in the AWS console
-
+
2. Click on the `Create bucket` button
-
+
3. Fill in the bucket name and region
4. **Leave all the settings as default** and click `Create bucket`
-
+
### Change the CORS settings
Now we need to change some permissions on the bucket to allow for file uploads from your app.
1. Click on the bucket you just created
-
+
2. Click on the `Permissions` tab
-
+
3. Scroll down to the `Cross-origin resource sharing (CORS)` section and click `Edit`
-
-5. Paste the following CORS configuration and click `Save changes`:
-```json
-[
- {
- "AllowedHeaders": [
- "*"
- ],
- "AllowedMethods": [
- "PUT",
- "GET"
- ],
- "AllowedOrigins": [
- "*"
- ],
- "ExposeHeaders": []
- }
-]
-```
+
+5. Insert the correct CORS configuration and click `Save changes`. You can
+ copy-paste most of the config below, but **you must edit the
+ `AllowedOrigins` field** to fit your app. Include `http://localhost:3000` for
+ local development, and `https://` for production.
+
+ If you don't yet have a domain name, just list `http://localhost:3000` for
+ now. We'll remind you to add your domain before deploying to production in
+ the [Deployment docs](/guides/deploying/#aws-s3-cors-configuration).
+ ```json {11,12}
+ [
+ {
+ "AllowedHeaders": [
+ "*"
+ ],
+ "AllowedMethods": [
+ "PUT",
+ "GET"
+ ],
+ "AllowedOrigins": [
+ "http://localhost:3000",
+ "https://"
+ ],
+ "ExposeHeaders": []
+ }
+ ]
+ ```
+ As an example, here are the CORS permissions for this site - https://opensaas.sh:
+
### Get your AWS S3 credentials
Now that you have your S3 bucket set up, you'll need to get your S3 credentials to use in your app.
1. Click on your username in the top right corner of the AWS console and select `Security Credentials`
-
+
2. Scroll down to the `Access keys` section
3. Click on `Create Access Key`
4. Select the `Application running on an AWS service` option and create the access key
-
+
5. Copy the `Access key ID` and `Secret access key` and paste them in your `src/app/.env.server` file:
```sh
AWS_S3_IAM_ACCESS_KEY=ACK...