diff --git a/site/sigmaguides/src/embedding_01_getting_started_v3/embedding_01_getting_started_v3.md b/site/sigmaguides/src/embedding_01_getting_started_v3/embedding_01_getting_started_v3.md
index 48a6e359..919e3498 100644
--- a/site/sigmaguides/src/embedding_01_getting_started_v3/embedding_01_getting_started_v3.md
+++ b/site/sigmaguides/src/embedding_01_getting_started_v3/embedding_01_getting_started_v3.md
@@ -23,7 +23,7 @@ Additionally, it will demonstrate how to set up a local web application so that
Sigma also provides an embed sandbox that is built into the product. For more information, see [Test an embed URL in the embed sandbox](https://help.sigmacomputing.com/docs/test-an-embed-url-in-the-embed-sandbox)
-The local web application (e.g., native application) refers to the customer-developed application that Sigma is embedded into.
+The local web application (e.g., host application) refers to the customer-developed application that Sigma is embedded into.
We will use code from a public Git repository, VS Code, Node.js, Javascript and HTML in this QuickStart series.
@@ -72,7 +72,7 @@ There are two types of embedding in Sigma: **Secure with JWT** and **Public**. W
### Secure embedding with JSON Web Tokens (JWT)
JWT is the preferred method for secure embedding with Sigma. [JWT](https://en.wikipedia.org/wiki/JSON_Web_Token) which is an open, industry-standard [RFC 7519](https://www.rfc-editor.org/rfc/rfc7519) method for representing claims securely between two parties.
-JWT is used when a company embeds Sigma content directly into a native application that they want to embed Sigma content directly into while retaining security, tenancy, and a tailored user experience.
+JWT is used when a company embeds Sigma content directly into a host application that they want to embed Sigma content directly into while retaining security, tenancy, and a tailored user experience.
For example, a company may have an internal web site that employees have to log into using single sign-on where they want to provide a dashboard that only shows data filtered for each employee’s region.
@@ -151,7 +151,7 @@ What follows is a more in-depth description of the JWT workflow in Sigma.
### Step-by-Step JWT Flow:
**1. Client Request (i.e., end user's web browser):**
-The client (e.g., the end-user's browser in the native application) sends a request to the server to obtain a URL for accessing embedded Sigma content. This request may include user-related information, such as identity or a general request for access to Sigma content.
+The client (e.g., the end-user's browser in the host application) sends a request to the server to obtain a URL for accessing embedded Sigma content. This request may include user-related information, such as identity or a general request for access to Sigma content.
**2. Server-Side JWT Generation (i.e., customer-created embed API):**
***Credential Handling:***
@@ -178,7 +178,7 @@ https://app.sigmacomputing.com/?jwt=
This URL includes the signed JWT that will be used to authenticate and authorize the user when they access the embedded Sigma content.
**4. Client Accesses the Signed URL:**
-When the client (e.g., the end-user's browser in the native application) loads the signed URL, Sigma verifies the JWT. Sigma ensures that:
+When the client (e.g., the end-user's browser in the host application) loads the signed URL, Sigma verifies the JWT. Sigma ensures that:
- The JWT signature is valid, confirming that the token has not been tampered with.
- The claims (like sub, roles, exp) are still valid, checking whether the user is authorized and whether the token is within its allowed time frame.
@@ -337,7 +337,7 @@ The project has almost everything we need, but we will need set up some things i

-## Sample Native App
+## Sample Host App
Duration: 5
The sample app is built with Node.js, HTML, and JavaScript.
@@ -349,7 +349,7 @@ We took some liberties with styling and layout, but there are just a few core fi
-IMPORTANT: The primary things required to embed Sigma into any native application are embed-api.js and an iframe. We've added extra functionality to the sample app to make the demonstration of various topics easier for the reader.
+IMPORTANT: The primary things required to embed Sigma into any host application are embed-api.js and an iframe. We've added extra functionality to the sample app to make the demonstration of various topics easier for the reader.
### Environment file (.env)
@@ -395,7 +395,7 @@ We need to provision `Account Types`, `Teams`, and `Workspaces` in Sigma. This w
Sigma has some features that will make this easier for us.
### Users
-We already have an administrative user, and we will add additional users on-the-fly from our native application.
+We already have an administrative user, and we will add additional users on-the-fly from our host application.
Recall that embed users are added at runtime—the first time they access any content embedded in the parent application.
@@ -403,7 +403,7 @@ Their permission level is also set automatically by the embed API, via a require
Automatic embed user account creation:
-Some customers prefer to only use their own authentication provider to manage users and have authenticated users be automatically created in Sigma upon successful logon to the native application.
+Some customers prefer to only use their own authentication provider to manage users and have authenticated users be automatically created in Sigma upon successful logon to the host application.
When using JWT-signed URLs for your secure embeds, administrators have the option to disable automatic embed user account creation and update for non-Sigma users (e.g. embed users).
@@ -607,7 +607,7 @@ Sigma embedding uses the `Base URL` (the URL shown in the browser's address bar)
This allows any Sigma workbook, page, or element(s) to be embedded.
-For example, we can grab the Base URL for the [Ask Sigma](https://help.sigmacomputing.com/docs/embed-ask-sigma) page from the browser and use it to embed Ask Sigma inside the native application.
+For example, we can grab the Base URL for the [Ask Sigma](https://help.sigmacomputing.com/docs/embed-ask-sigma) page from the browser and use it to embed Ask Sigma inside the host application.
IMPORTANT: When using the "Base URL", the workbook must be switched to the published version.
@@ -696,7 +696,7 @@ Once the local Express server is running, logging output appears in the console
## Embed Sandbox
Duration: 5
-Sigma also provides an "in-product" embed sandbox that allows you to test your embed before integrating it into the native application. This allows you to view the content from the embed user’s perspective to verify security settings and other configurations.
+Sigma also provides an "in-product" embed sandbox that allows you to test your embed before integrating it into the host application. This allows you to view the content from the embed user’s perspective to verify security settings and other configurations.
Open the workbook’s menu and select `Share and export`, then `Embedding...`:
@@ -722,12 +722,12 @@ For more information, see [Test an embed URL in the embed sandbox](https://help.
## Tracking User Activity
Duration: 5
-There are a few ways to see what embed users are doing in Sigma. After a user accesses a page in the native application that contains embedded content, they are automatically added to the `Members` list in `Administration` > `People`:
+There are a few ways to see what embed users are doing in Sigma. After a user accesses a page in the host application that contains embedded content, they are automatically added to the `Members` list in `Administration` > `People`:
-IMPORTANT: Any changes to an embed user’s account type or team assignment in Sigma will be overwritten the next time they access embedded content. This is because the native application is responsible for passing those parameters at runtime. Users marked as "embed" in Sigma cannot log in directly to Sigma.
+IMPORTANT: Any changes to an embed user’s account type or team assignment in Sigma will be overwritten the next time they access embedded content. This is because the host application is responsible for passing those parameters at runtime. Users marked as "embed" in Sigma cannot log in directly to Sigma.
Customers can enable audit logging and manually analyze raw event logs if preferred. Logs can be exported for integration with external systems.
diff --git a/site/sigmaguides/src/embedding_02_federated_access_v3/embedding_02_federated_access_v3.md b/site/sigmaguides/src/embedding_02_federated_access_v3/embedding_02_federated_access_v3.md
index 61fd708a..898b89e5 100644
--- a/site/sigmaguides/src/embedding_02_federated_access_v3/embedding_02_federated_access_v3.md
+++ b/site/sigmaguides/src/embedding_02_federated_access_v3/embedding_02_federated_access_v3.md
@@ -24,7 +24,7 @@ Sigma's embedded solution is highly flexible and can accommodate a myriad of use
Sigma employs federated user access to cater to all these needs and beyond. This is often realized through single sign-on (SSO) technologies and the establishment of trust relationships between the systems involved.
-With Sigma embedding, users log in to your application (the "native application"), get authenticated (with an optional role assignment), and this information is conveyed to Sigma when a part of your app requires embedding.
+With Sigma embedding, users log in to your application (the "host application"), get authenticated (with an optional role assignment), and this information is conveyed to Sigma when a part of your app requires embedding.
It's crucial to note that Sigma has its own proprietary role-based access control (RBAC) system. While some customers exclusively use this system, many others with an existing identity management provider (IDP) prefer to integrate that with Sigma.
@@ -32,7 +32,7 @@ For more information, see [using SSO with Sigma](https://help.sigmacomputing.com
Additional information is also available: [managing user and teams with SCIM](https://help.sigmacomputing.com/docs/manage-users-and-teams-with-scim)
-In this QuickStart, we will use the local native application framework we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
+In this QuickStart, we will use the local host application framework we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
IMPORTANT: Some screens in Sigma may appear slightly different from those shown in QuickStarts. This is because Sigma continuously adds and enhances functionality. Rest assured, Sigma’s intuitive interface ensures that any differences will not prevent you from successfully completing any QuickStart.
@@ -268,7 +268,7 @@ The page will load the embedded content along with the `.env` parameters that ar
## Restrict the Client_A Team To One Element
Duration: 5
-To make this use case work, we only need to pass different `.env` parameters. This simulates the native application passing parameters to Sigma at runtime.
+To make this use case work, we only need to pass different `.env` parameters. This simulates the host application passing parameters to Sigma at runtime.
Put the workbook in `Edit` mode and add a new `Bar Chart` from the `Element Bar`.
@@ -310,7 +310,7 @@ Multiple teams must be passed as an array. In our sample application, this is ha
const teamsArray = rawTeams ? rawTeams.split(",").map((t) => t.trim()) : [];
```
-Now, when we refresh the native application in the browser, we see the single-element embed:
+Now, when we refresh the host application in the browser, we see the single-element embed:
diff --git a/site/sigmaguides/src/embedding_03_parameters_ua_v3/embedding_03_parameters_ua_v3.md b/site/sigmaguides/src/embedding_03_parameters_ua_v3/embedding_03_parameters_ua_v3.md
index 2c2c908e..80208f59 100644
--- a/site/sigmaguides/src/embedding_03_parameters_ua_v3/embedding_03_parameters_ua_v3.md
+++ b/site/sigmaguides/src/embedding_03_parameters_ua_v3/embedding_03_parameters_ua_v3.md
@@ -23,7 +23,7 @@ For a full reference, see Sigma’s [Embed URL Parameters](https://help.sigmacom
This QuickStart provides examples and screenshots of required and optional parameters to help developers understand their use.
-In this QuickStart, we will use the local native application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
+In this QuickStart, we will use the local host application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
IMPORTANT: Some screens in Sigma may appear slightly different from those shown in QuickStarts. This is because Sigma continuously adds and enhances functionality. Rest assured, Sigma’s intuitive interface ensures that any differences will not prevent you from successfully completing any QuickStart.
diff --git a/site/sigmaguides/src/embedding_04_isolation_solutions_v3/embedding_04_isolation_solutions_v3.md b/site/sigmaguides/src/embedding_04_isolation_solutions_v3/embedding_04_isolation_solutions_v3.md
index 46986d3f..b3b762b3 100644
--- a/site/sigmaguides/src/embedding_04_isolation_solutions_v3/embedding_04_isolation_solutions_v3.md
+++ b/site/sigmaguides/src/embedding_04_isolation_solutions_v3/embedding_04_isolation_solutions_v3.md
@@ -68,19 +68,19 @@ Let's start with a review of how Sigma embedded authentication works using this
-**1:** In an embedded scenario, your application (the "native application") handles user authentication—Sigma doesn’t do the login for you.
+**1:** In an embedded scenario, your application (the "host application") handles user authentication—Sigma doesn’t do the login for you.
-**2:** Once authenticated, the native application calls the embed-API (server-side) to generate a JWT-signed URL.
+**2:** Once authenticated, the host application calls the embed-API (server-side) to generate a JWT-signed URL.
**3:** The API generates a JWT-signed URL, signing it with a key obtained from your Sigma instance.
-**4:** The signed URL is passed back to the native application.
+**4:** The signed URL is passed back to the host application.
-**5:** The native application sets this URL as the `src` property of an iframe.
+**5:** The host application sets this URL as the `src` property of an iframe.
**6:** Sigma validates the JWT signature using the same key from step 3.
-**7:** On verification, the embedded dashboard is rendered in the native application.
+**7:** On verification, the embedded dashboard is rendered in the host application.
This ensures that only authorized, verified sessions load Sigma embeds in your app.
diff --git a/site/sigmaguides/src/embedding_09_events_v3/embedding_09_events_v3.md b/site/sigmaguides/src/embedding_09_events_v3/embedding_09_events_v3.md
index b85f6464..abfa08ac 100644
--- a/site/sigmaguides/src/embedding_09_events_v3/embedding_09_events_v3.md
+++ b/site/sigmaguides/src/embedding_09_events_v3/embedding_09_events_v3.md
@@ -13,23 +13,23 @@ lastUpdated: 2024-05-20
## Overview
Duration: 5
-In this QuickStart, we demonstrate how to pass variables between the native application application and Sigma. Sigma is embedded in the native application using HTML iframe.
+In this QuickStart, we demonstrate how to pass variables between the host application application and Sigma. Sigma is embedded in the host application using HTML iframe.
**Inbound Events:**
-These are variables sent from the native application to Sigma. **No listener needs to be coded into the iframe**. Sigma can use these messages to update control values. For example, passing a new value to a Sigma control that is used to filter table data.
+These are variables sent from the host application to Sigma. **No listener needs to be coded into the iframe**. Sigma can use these messages to update control values. For example, passing a new value to a Sigma control that is used to filter table data.
Inbound events can be passed using either JavaScript or URL.
***In general:***
- JavaScript is used when you want to pass values from the native application to the embed without causing the embed to refresh.
+ JavaScript is used when you want to pass values from the host application to the embed without causing the embed to refresh.
The URL method is used at runtime, with variable values appended to the embed URL.
**Outbound Events:**
-These are variables sent from Sigma to the native application, which must have a listener coded to receive and respond to the message.
+These are variables sent from Sigma to the host application, which must have a listener coded to receive and respond to the message.
-In this QuickStart, we will use the local native application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
+In this QuickStart, we will use the local host application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
IMPORTANT: Some screens in Sigma may appear slightly different from those shown in QuickStarts. This is because Sigma continuously adds and enhances functionality. Rest assured, Sigma’s intuitive interface ensures that any differences will not prevent you from successfully completing any QuickStart.
@@ -107,7 +107,7 @@ Copy the URL from the browser. We will use this in the next section.
For more information on URL formats for JWT embedding, see [What URL to use](https://help.sigmacomputing.com/docs/create-an-embed-api-with-json-web-tokens#what-url-to-use)
-IMPORTANT: We must also share this workbook with the team used in the native application's JWT for the embed to work.
+IMPORTANT: We must also share this workbook with the team used in the host application's JWT for the embed to work.
Share the workbook with the `Sales_People` team we created in the `Embedding 01: Getting Started` QuickStart:
@@ -117,7 +117,7 @@ Share the workbook with the `Sales_People` team we created in the `Embedding 01:

-## Native Application
+## Host Application
Duration: 5
In VSCode, open the `embedding_qs_series_2` project and edit the `.env` file.
@@ -145,12 +145,12 @@ We have designed this page to display an `Events Log` using JavaScript for easy
Event log types are color-coded:
-- **Blue:** Native Application to iframe (Inbound)
-- **Green:** iframe to Native Application (Outbound)
+- **Blue:** Host application to iframe (Inbound)
+- **Green:** iframe to host application (Outbound)
-The orange region buttons are part of the native application. Clicking any of them sends the selected region value to Sigma via the iframe.
+The orange region buttons are part of the host application. Clicking any of them sends the selected region value to Sigma via the iframe.
-Changing the list control inside the iframe triggers an event that is logged in the `Events Log` and can be handled by the native application for other operations too.
+Changing the list control inside the iframe triggers an event that is logged in the `Events Log` and can be handled by the host application for other operations too.
We can also confirm that the `Events Log` is working by using the browser's inspector while testing.
@@ -191,14 +191,14 @@ window.addEventListener("message", (event) => {
if (event.origin !== "https://app.sigmacomputing.com") return;
const { type } = event.data || {};
- console.log("Native Application to iframe (Inbound)", event.data);
+ console.log("Host Application to iframe (Inbound)", event.data);
const logContainer = document.getElementById("event-output");
const logItem = document.createElement("li");
logItem.style.marginBottom = "8px";
logItem.style.color = "blue";
logItem.innerHTML = `
- Native Application to iframe (Inbound)
+ Host Application to iframe (Inbound)
Timestamp: ${new Date().toLocaleTimeString()}
Event Type: ${type || "unknown"}
Payload: ${JSON.stringify(event.data, null, 2)}
@@ -225,14 +225,14 @@ function setStoreRegion(region) {
message,
"https://app.sigmacomputing.com"
);
- console.log("iframe to Native Application (Outbound)", message);
+ console.log("iframe to Host Application (Outbound)", message);
const logContainer = document.getElementById("event-output");
const logItem = document.createElement("li");
logItem.style.marginBottom = "8px";
logItem.style.color = "green";
logItem.innerHTML = `
- iframe to Native Application (Outbound)
+ iframe to Host Application (Outbound)
Timestamp: ${new Date().toLocaleTimeString()}
Event Type: ${message.type}
Payload: ${JSON.stringify(message, null, 2)}
@@ -262,7 +262,7 @@ sigma_iframe.contentWindow.postMessage({type:"workbook:variables:update", variab
## What we've covered
Duration: 5
-In this QuickStart, we explored inbound and outbound event handling for Sigma embeds, demonstrating how to exchange messages between the native application and Sigma using HTML and JavaScript.
+In this QuickStart, we explored inbound and outbound event handling for Sigma embeds, demonstrating how to exchange messages between the host application and Sigma using HTML and JavaScript.
**Additional Resource Links**
diff --git a/site/sigmaguides/src/embedding_11_responsive_embeds_v3/embedding_11_responsive_embeds_v3.md b/site/sigmaguides/src/embedding_11_responsive_embeds_v3/embedding_11_responsive_embeds_v3.md
index 2b5928e9..49a27ac2 100644
--- a/site/sigmaguides/src/embedding_11_responsive_embeds_v3/embedding_11_responsive_embeds_v3.md
+++ b/site/sigmaguides/src/embedding_11_responsive_embeds_v3/embedding_11_responsive_embeds_v3.md
@@ -39,7 +39,7 @@ In essence, making an iframe dynamic or responsive is about ensuring that the co
Since Sigma uses iframes for embedding, this issue is fairly easy to avoid.
-In this QuickStart, we will use the local native application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
+In this QuickStart, we will use the local host application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
IMPORTANT: Some screens in Sigma may appear slightly different from those shown in QuickStarts. This is because Sigma continuously adds and enhances functionality. Rest assured, Sigma’s intuitive interface ensures that any differences will not prevent you from successfully completing any QuickStart.
@@ -75,7 +75,7 @@ Semi-technical users who will be aiding in the planning or implementation of Sig
## Content to Embed
Duration: 5
-Before we can dig into this topic, we need to configure an embed for our native application to use.
+Before we can dig into this topic, we need to configure an embed for our host application to use.
We’ll use one of the prebuilt templates included in all Sigma instances.
diff --git a/site/sigmaguides/src/embedding_12_parameterized_queries_v3/embedding_12_parameterized_queries_v3.md b/site/sigmaguides/src/embedding_12_parameterized_queries_v3/embedding_12_parameterized_queries_v3.md
index d2cd902d..6a1742ff 100644
--- a/site/sigmaguides/src/embedding_12_parameterized_queries_v3/embedding_12_parameterized_queries_v3.md
+++ b/site/sigmaguides/src/embedding_12_parameterized_queries_v3/embedding_12_parameterized_queries_v3.md
@@ -34,7 +34,7 @@ Other options include:
[Embedding 07: Dynamic Role Switching with Snowflake]()
-In this QuickStart, we will use the local native application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
+In this QuickStart, we will use the local host application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
IMPORTANT: Some screens in Sigma may appear slightly different from those shown in QuickStarts. This is because Sigma continuously adds and enhances functionality. Rest assured, Sigma’s intuitive interface ensures that any differences will not prevent you from successfully completing any QuickStart.
@@ -260,7 +260,7 @@ No need to assign anyone to these teams now.
### Create custom user attributes
-We need to create a few attributes that will serve as placeholders for values that will be passed from the native application at runtime.
+We need to create a few attributes that will serve as placeholders for values that will be passed from the host application at runtime.
Navigate to `Administration` > `User Attributes` and click `Create Attribute`.
@@ -370,7 +370,7 @@ Copy the URL from the browser and store it in a text file; we will use that late
## Configure and Test
Duration: 5
-In the QuickStart [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_01_prerequisites/index.html?index=..%2F..index#0) we deployed a native application locally.
+In the QuickStart [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_01_prerequisites/index.html?index=..%2F..index#0) we deployed a host application locally.
For testing, we’ll use the pre-built page that demonstrates this approach.
@@ -414,7 +414,7 @@ The table loads with the Snowflake data for `Client_A` and the user attributes t
This configuration uses Snowflake’s role-based access control to enforce data-level security.
-Embed users are authenticated by the native application, which then passes user attributes to Sigma via the embed API. Embed users are automatically added to Sigma and assigned to a team based on instructions from the native application.
+Embed users are authenticated by the host application, which then passes user attributes to Sigma via the embed API. Embed users are automatically added to Sigma and assigned to a team based on instructions from the host application.
NOTE: Embed users cannot log directly into the Sigma UI.
diff --git a/site/sigmaguides/src/embedding_13_link_sharing_v3/embedding_13_link_sharing_v3.md b/site/sigmaguides/src/embedding_13_link_sharing_v3/embedding_13_link_sharing_v3.md
index 8b82a4a6..37d1f50f 100644
--- a/site/sigmaguides/src/embedding_13_link_sharing_v3/embedding_13_link_sharing_v3.md
+++ b/site/sigmaguides/src/embedding_13_link_sharing_v3/embedding_13_link_sharing_v3.md
@@ -79,7 +79,7 @@ The typical audience for this QuickStart includes users of Excel, common Busines
### Prerequisites
-In this QuickStart, we will use the local native application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
+In this QuickStart, we will use the local host application we created in [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_03_secure_access/index.html?index=..%2F..index#0)
Any modern browser is acceptable.
@@ -131,10 +131,10 @@ Share the workbook with the `Sales_People` team we created in the `Embedding 01:

-## Native Application Prep
+## Host Application Prep
Duration: 5
-In the QuickStart [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_01_prerequisites/index.html?index=..%2F..index#0), we deployed a native application locally.
+In the QuickStart [Embedding 01: Getting Started](https://quickstarts.sigmacomputing.com/guide/embedding_01_prerequisites/index.html?index=..%2F..index#0), we deployed a host application locally.
For testing, we’ll use the pre-built page that demonstrates this approach.
diff --git a/site/sigmaguides/src/embedding_15_public_access_v3/embedding_15_public_access_v3.md b/site/sigmaguides/src/embedding_15_public_access_v3/embedding_15_public_access_v3.md
index c1d54cbd..c0ef16c3 100644
--- a/site/sigmaguides/src/embedding_15_public_access_v3/embedding_15_public_access_v3.md
+++ b/site/sigmaguides/src/embedding_15_public_access_v3/embedding_15_public_access_v3.md
@@ -97,7 +97,7 @@ Duration: 5
Since public embeds require no security, we can embed the iframe anywhere — such as on a website or internal page.
-To create a public embed, we will need to complete a few steps in Sigma and in your native application.
+To create a public embed, we will need to complete a few steps in Sigma and in your host application.
Log into Sigma and navigate to any workbook you want to embed.
@@ -129,12 +129,12 @@ Select the `Public` tab and `Profit Planning Tool` from the list. Then click `Co
-Now that we have the URL, we can use it in our sample native application.
+Now that we have the URL, we can use it in our sample host application.

-## Native Application Configuration
+## host Application Configuration
Duration: 10
In VSCode, open the `embedding_qs_series_2` project and edit the `.env `file to configure the public access settings.
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/caret.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/caret.png
new file mode 100644
index 00000000..13a132ab
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/caret.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/closeview.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/closeview.png
new file mode 100644
index 00000000..d0fbb0e4
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/closeview.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/crane.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/crane.png
new file mode 100644
index 00000000..225ecf3f
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/crane.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/facebook.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/facebook.png
new file mode 100644
index 00000000..fa3f0e02
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/facebook.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/horizonalline.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/horizonalline.png
new file mode 100644
index 00000000..7c49d872
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/horizonalline.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/linkedin.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/linkedin.png
new file mode 100644
index 00000000..d1a0636d
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/linkedin.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sigma_footer.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sigma_footer.png
new file mode 100644
index 00000000..df51d771
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sigma_footer.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_1.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_1.png
new file mode 100644
index 00000000..438b7abe
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_1.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_10.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_10.png
new file mode 100644
index 00000000..8fecf53c
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_10.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_11.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_11.png
new file mode 100644
index 00000000..f7b7e014
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_11.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_12.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_12.png
new file mode 100644
index 00000000..c766ea7e
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_12.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_13.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_13.png
new file mode 100644
index 00000000..e69b603a
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_13.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_14.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_14.png
new file mode 100644
index 00000000..a2d2f8f6
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_14.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_15.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_15.png
new file mode 100644
index 00000000..7743c176
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_15.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_16.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_16.png
new file mode 100644
index 00000000..c33cdb93
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_16.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_17.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_17.png
new file mode 100644
index 00000000..3c8e24f1
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_17.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_18.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_18.png
new file mode 100644
index 00000000..5cdb2a13
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_18.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_19.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_19.png
new file mode 100644
index 00000000..c990dfa4
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_19.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_2.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_2.png
new file mode 100644
index 00000000..aaad712c
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_2.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_20.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_20.png
new file mode 100644
index 00000000..4371e686
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_20.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_21.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_21.png
new file mode 100644
index 00000000..3d5e6640
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_21.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_22.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_22.png
new file mode 100644
index 00000000..a8b3f923
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_22.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_23.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_23.png
new file mode 100644
index 00000000..df88455c
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_23.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_24.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_24.png
new file mode 100644
index 00000000..fd1c0af6
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_24.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_4.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_4.png
new file mode 100644
index 00000000..665253fb
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_4.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_5.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_5.png
new file mode 100644
index 00000000..42c49083
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_5.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_6.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_6.png
new file mode 100644
index 00000000..91ec9ba6
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_6.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_7.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_7.png
new file mode 100644
index 00000000..748c48bb
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_7.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_8.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_8.png
new file mode 100644
index 00000000..1f45d298
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_8.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_9.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_9.png
new file mode 100644
index 00000000..fe290327
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/sl_9.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/twitter.png b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/twitter.png
new file mode 100644
index 00000000..5a827d72
Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/assets/twitter.png differ
diff --git a/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/embedding_use_case_secure_embedding_into_streamlit.md b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/embedding_use_case_secure_embedding_into_streamlit.md
new file mode 100644
index 00000000..85307d69
--- /dev/null
+++ b/site/sigmaguides/src/embedding_use_case_secure_embedding_into_streamlit/embedding_use_case_secure_embedding_into_streamlit.md
@@ -0,0 +1,439 @@
+author: pballai
+id: embedding_use_case_secure_embedding_into_streamlit
+summary: embedding_use_case_secure_embedding_into_streamlit
+categories: embedding
+environments: web
+status: published
+feedback link: https://github.com/sigmacomputing/sigmaquickstarts/issues
+tags: embedding
+lastUpdated: 2025-05-23
+
+# Use Case: Secure Embedding into Streamlit
+
+## Overview
+Duration: 5
+
+This QuickStart will guide you through the implementation of a quick and easy method for rapidly developing method to embed Sigma content in a Streamlit application. Embedding Sigma content within Streamlit applications is a powerful toolset that empowers developers, data analysts, and even business users to create interactive data applications backed by the power of Sigma.
+
+### What is Streamlit
+Streamlit is an open-source app framework written in Python. It helps you create interactive web apps for data science and machine learning in a short time. It is compatible with all major Python libraries, such as scikit-learn, Keras, PyTorch, SymPy (LaTeX), NumPy, pandas, Matplotlib, and more.
+
+Streamlit is intended to provide Snowflake users the ability to quickly deploy applications and share data.
+
+**Teams use Streamlit to build Python applications to benefit from:**
+
+ Rapid Development Cycle
+ Simplified Coding Experience
+ Flexible Components
+ Internal or External Facing
+ Extensible Embedding
+
+
+Streamlit works seamlessly with Sigma to accelerate deployment for any data applications built, especially those that rely on visualizations, while providing the user with our industry-differentiated ability to deep dive into the data powering those visuals and unlocking the power of your data warehouse.
+
+**Building the analytics front-end in Sigma provides:**
+
+ A familiar, spreadsheet-like interface for end users.
+ No-code or semantic knowledge required.
+ Full role-based access control support.
+ Data governance and lineage.
+ Full feature set while embedded.
+ The ability to leverage massive datasets.
+
+
+
+IMPORTANT: Some screens in Sigma may appear slightly different from those shown in QuickStarts. This is because Sigma continuously adds and enhances functionality. Rest assured, Sigma’s intuitive interface ensures that any differences will not prevent you from successfully completing any QuickStart.
+
+
+For more information on Sigma's product release strategy, see [Sigma product releases](https://help.sigmacomputing.com/docs/sigma-product-releases)
+
+If something is not working as you expect, here's how to [contact Sigma support](https://help.sigmacomputing.com/docs/sigma-support)
+
+### Target Audience
+The typical audience for this QuickStart includes users of Excel, common Business Intelligence or Reporting tools, and semi-technical users who want to try out or learn Sigma.
+
+### Prerequisites
+
+
+ Any modern browser is acceptable.
+ Access to your Sigma environment.
+ Some familiarity with Sigma is assumed. Not all steps will be shown, as the basics are assumed to be understood.
+
+
+
+IMPORTANT: Sigma recommends using non-production resources when completing QuickStarts.
+
+
+[Sigma Free Trial](https://www.sigmacomputing.com/free-trial/)
+
+
+IMPORTANT: Some features may carry a "Beta" tag. Beta features are subject to quick, iterative changes. As a result, the latest product version may differ from the contents of this document.
+
+
+
+
+## Setup Python
+Duration: 20
+
+We will start by setting up our local Python environment based on Miniconda, which is a lightweight version of Conda (Anaconda). If you already have an existing Python environment, you may use that, or proceed with Miniconda.
+
+Conda is an open-source, cross-platform, language-agnostic package manager and environment management system. It was originally developed to solve complex package management challenges faced by Python data scientists, and today is a popular package manager for Python and R.
+
+Miniconda is a much smaller installer (~200 MB vs. ~4+ GB) compared to full Conda and saves time and disk space compared with installing the full Conda application.
+
+It includes only Conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a few others.
+
+Packages not included must be installed manually or called at runtime.
+
+[Use the following link to download the Miniconda.](https://docs.conda.io/en/latest/miniconda.html) Download the version that includes **Python 3.8 or above** based on your operating system and processor (e.g., x86 32-bit, 64-bit, or Apple Silicon).
+
+
+IMPORTANT: Check the Snowflake Snowpark documentation for the latest version information. Related installation steps may have changed since this QuickStart was published.
+
+
+After downloading the appropriate version of Miniconda for your operating system go ahead and run the installation, accept the license agreement and use the default settings:
+
+
+
+Now that Miniconda and Python (v3.8 or higher) are installed, we can move to the next step.
+
+
+
+
+## Setup VSCode
+Duration: 20
+
+[Install VSCode from Microsoft's download site.](https://code.visualstudio.com/download)
+
+Run the installer and accept all default settings.
+
+Once VSCode is installed, we’ll configure it for this use case.
+
+Open VSCode and click the sidebar icon for `Extensions`.
+
+Search for Python, then select and install the extension shown below.
+
+
+NOTE: In the image, the extension was previously installed so no action was required.
+
+
+
+
+
+NOTE: VSCode may notify you (in the lower left corner of the application) that it requires a restart. Click Restart to proceed. This is required when the extension needs to perform additional registration with VSCode.
+
+
+
+
+
+NOTE: Microsoft also offers a Python extension called Pylance, which is optional but recommended to complete this QuickStart. Pylance improves productivity, reduces errors, and enhances the overall experience of writing Python in VSCode.
+
+
+[Link to Pylance Extension page.](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
+
+We now have a development environment ready, but we need to do a few more steps.
+
+
+
+
+## Create a Python Environment
+Duration: 20
+
+Since we installed Miniconda, every available Conda package is not present in our system. While this saves installation time and conserves disk space, it’s important to remember, we will have to be aware that each VSCode project must have its required package dependencies installed at runtime.
+
+While we could install packages globally, we prefer to avoid that to maintain tight control over our development environment.
+
+To support this, we'll use dedicated Python environments to isolate project dependencies.
+
+For our first project, we will create a Python environment called `streamlit`.
+
+In our local computer, navigate to your Miniconda installation directory. The default is based on your computer username.
+
+Right-click and open a terminal session:
+
+
+
+First, let's see what environments already exist. Run the command:
+```plaintext
+conda env list
+```
+
+We should see the "base" environment that is included with Miniconda.
+
+
+
+Now let’s create a new environment called `streamlit` for our project. Run the command:
+
+```plaintext
+conda create --name streamlit python=3.8
+```
+
+When prompted to proceed, type `y` and hit return:
+
+
+
+We need to activate our new environment. Run the command:
+```plaintext
+conda activate streamlit
+```
+
+Listing the environments again, we should see `streamlit` being the current select noted by the "*":
+```plaintext
+conda env list
+```
+
+
+
+Our new `streamlit` environment is now ready.
+
+
+
+
+## Install Streamlit
+
+
+NOTE: The following instructions demonstrate installation on macOS. If you're using a different operating system, your steps may differ slightly.
+
+
+To install Streamlit locally. execute the following command in Terminal:
+
+```plaintext
+pip install streamlit
+```
+
+A lot of information will be displayed and the command prompt will appear when done. There should be no error messages:
+
+
+
+Now we can test our local Streamlit environment. Run the following command in your terminal:
+```plaintext
+streamlit hello
+```
+
+If prompted, click Allow to let Python accept incoming network connections:
+
+
+
+You may see a prompt asking for your email address (we will skip over that, so leave it blank and press `Enter`):
+
+
+
+Streamlit will automatically open your default browser to its demo welcome page:
+
+
+
+
+NOTE: Streamlit uses port 8501 on your local computer. Although this port is not commonly used, you may need to temporarily stop any conflicting service if it is unavailable. If you're running multiple Streamlit apps, they will launch on subsequent ports such as 8502, 8503, and so on.
+
+
+
+
+
+## Source Code from Git
+Duration: 5
+
+To make this easier, we’ve stored the project code in Git. While you could clone the entire repository (it’s not that large), we want to avoid cloning sections of the repository that aren’t relevant to this QuickStart.
+
+Instead, we’ll use VSCode and Terminal to perform a Git `sparse-checkout` of the specific project folder we're interested in. This involves a few extra steps but results in a cleaner local project folder.
+
+Open VSCode and start a new Terminal session.
+
+Navigate to the directory where you want to clone the repo folder:
+
+For example:
+```code
+cd {/path/to/your/directory}
+```
+
+Create a new directory for the project:
+```code
+mkdir embedding_streamlit
+```
+
+Change to the new directory:
+```code
+cd embedding_streamlit
+```
+
+Initialize a new Git repository:
+```code
+git init
+```
+
+Add the remote repository as the origin:
+```code
+git remote add -f origin https://github.com/sigmacomputing/quickstarts-public.git
+```
+
+Enable sparse checkout:
+```code
+git config core.sparseCheckout true
+```
+
+Specify the folder to include in the sparse checkout:
+```code
+echo "embedding_signed_URL/streamlit/" >> .git/info/sparse-checkout
+```
+
+At this point, we’ve run each command and haven’t seen any errors:
+
+
+
+Pull only the specified folder from the repository:
+```code
+git pull origin main
+```
+
+You should now see a project folder called `streamlit`:
+
+
+
+The project has almost everything we need, but we’ll still need to configure some embedded content and credentials from Sigma before testing it out.
+
+
+
+
+## Sigma Embed Content
+Duration: 20
+
+We need to embed something into Streamlit from Sigma. To keep this simple, we’ll use the `Plugs Electronics Profit Planning Tool Template`.
+
+Log into Sigma (as Administrator), navigate to `Template`s, and click the `Plugs Profit Planning Tool Template`:
+
+
+
+Next, we need the URL for the published version of the workbook:
+
+
+
+Once in the published view, copy the full URL from your browser and save it to a text file—you’ll need it later.
+
+
+IMPORTANT: Sigma embedding supports embedding a Workbook, Page, or individual Elements into external applications.
+
+
+### Share with Team
+We need to share our workbook with a Sigma team.
+
+If you completed the Getting Started QuickStart for embedding, you should already have a team named Sales_People.
+
+If not, go ahead and create it by navigating to `Administration` > `Teams` and click `Create team`:
+
+
+
+### Sigma Embed Credentials
+Now we’ll generate credentials to secure the embed in Streamlit.
+
+Navigate to `Administration` > `Developer Access`:
+
+
+
+Click `Create New `in the top-right corner. This opens the `Create client credentials` modal.
+
+Under `Select privileges` choose `Embedding`.
+
+Provide a `Name` and `Description` of your choice.
+
+Under `Owner`, select an organization member with the account type you want to associate with the embed secret. For now, select yourself or another Administrator.
+
+
+BEST PRACTICE: Use service accounts for key operations like client credentials.
+
+
+
+
+Click `Create.`
+
+Copy the provided `ClientID` and `Secret` and store them for later use:
+
+
+
+Click `Close.`
+
+We can use these credentials for all embeds, but you may create as many credentials as you prefer.
+
+
+
+
+## Testing the Secure Embed in Streamlit
+Duration: 5
+
+Open the `embedding_streamlit` folder in VSCode and locate the `.env` file.
+
+Replace the placeholder values with your own `CLIENT_ID`, `SECRET` and `BASE_URL`:
+
+```code
+SESSION_LENGTH=3600
+PORT=3000
+
+CLIENT_ID=
+SECRET=
+
+BASE_URL=
+EMAIL=sales_person@example.com
+ACCOUNT_TYPE=Build
+TEAMS=Sales_People
+```
+
+After updating `.env` with your values, `save` it.
+
+Use a VSCode terminal session (or your terminal of choice) to navigate to your project folder and activate the Conda environment:
+
+```code
+conda activate streamlit
+```
+
+
+
+### Variables management
+Our project stores configuration and sensitive values in a `.env` file, which helps keep secrets like API keys out of the main codebase—improving both security and flexibility.
+
+To load values from the `.env` file, we use the `python-dotenv` package.
+
+If you haven’t already installed it, run this command in your terminal:
+
+```code
+pip install python-dotenv
+```
+
+### Start the Streamlit App
+Once the environment is activated and dependencies are installed, launch the app:
+
+Start the Streamlit app:
+```code
+streamlit run app.py
+```
+
+
+
+Your browser should automatically open and display the Streamlit app with the embedded Sigma content:
+
+
+
+Congratulations, you’ve successfully set up a Streamlit app with a secure Sigma embed.
+
+
+
+
+## What we've covered
+Duration: 5
+
+In this QuickStart, we learned what Streamlit is and how to securely embed Sigma into a Streamlit application that we built together.
+
+**Additional Resource Links**
+
+[Blog](https://www.sigmacomputing.com/blog/)
+[Community](https://community.sigmacomputing.com/)
+[Help Center](https://help.sigmacomputing.com/hc/en-us)
+[QuickStarts](https://quickstarts.sigmacomputing.com/)
+
+Be sure to check out all the latest developments at [Sigma's First Friday Feature page!](https://quickstarts.sigmacomputing.com/firstfridayfeatures/)
+
+
+[ ](https://twitter.com/sigmacomputing)
+[ ](https://www.linkedin.com/company/sigmacomputing)
+[ ](https://www.facebook.com/sigmacomputing)
+
+
+
+