# Deploying CARTO using Snowflake Container Services

CARTO can be fully deployed within Snowflake as a Native App, using Snowpark Container Services.

With this deployment method, all the components of CARTO will be hosted, managed, deployed and maintained inside your Snowflake account, and data will never be consumed outside of your Snowflake account, which can be a huge security benefit for some organizations.

An additional benefit of this deployment is that you get a performant deployment of CARTO using resources automatically managed and scaled by Snowflake, by simply following the steps in this guide. This minimizes the amount of IT resources necessary to host and maintain your own CARTO instance.

{% hint style="info" %}
**This deployment method offers limited connectivity as a security by design feature.** Some features are disabled in this deployment method, as covered under [Limitations](#limitations).
{% endhint %}

<figure><img src="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fuploads%2Fgit-blob-c2d86864cbd2aece927b42910cfafb8cf957b4d6%2FScreenshot%202024-11-21%20at%2013.46.20.png?alt=media" alt=""><figcaption></figcaption></figure>

## Requirements

In order to deploy CARTO as a Snowflake Native App + Container Services, you'll need:

* A valid, non-trial Snowflake account in a [region compatible with Snowpark Container Services](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/overview)
* Your Snowflake account must be ready to [install and use listings from the Snowflake Marketplace](https://other-docs.snowflake.com/en/collaboration/consumer-becoming)
* Your Snowflake account must be ready to [use Snowpark Container Services](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/overview)
* A valid CARTO subscription

## Limitations

Due to the limited connectivity nature of the Snowflake Native App (where traffic remains within Snowflake network), some features available in other deployment methods are not available. However, organizations can scale up their geospatial analytics with Builder and Workflows, fully powered by Snowflake.

{% hint style="success" %}
**Current functionalities**

* **CARTO Builder:** including support for large-scale vector and raster datasets, as well as spatial-indexes (H3) based visualizations. Widgets, tooltips, popups and other functionalities are also available. Learn more about Builder.
* **CARTO Workflows:** including support for more than 100 components for low-code geospatial analytics, as well as the ability to schedule workflows. Learn more about Workflows.
* SSO, Groups and Sharing
* Custom Basemaps
* **CARTO Data Observatory:** more than 10,000 public and premium geospatial datasets available, directly from Snowflake. Learn more about the Data Observatory
  {% endhint %}

{% hint style="danger" %}
**Current limitations**

* CARTO AI features
* LDS: Geocoding, Isolines, Routing
* Public maps, custom markers and custom branding
* CARTO for Developers, including all APIs
* Imports/Exports
* Workflow components: HTTP\_REQUEST
  {% endhint %}

## Getting started

To get started, get in touch with the team through your CARTO representative. If you do not have one, please contact <support@carto.com>. Our team will grant you access to a **private share containing the CARTO Native App for Snowflake Containers,** and your **CARTO license key.**

### Installing the CARTO Native App

To begin with the installation, simply open the CARTO private share and click on Get. You'll be asked which *warehouse* the app will use.

<figure><img src="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fuploads%2Fgit-blob-7973e305d6e028dd89612eb5ab97520be0d82d16%2FScreenshot%202024-11-20%20at%2021.07.59.png?alt=media" alt="" width="375"><figcaption></figcaption></figure>

### Activating the CARTO Native App

Once you click on Configure, the Snowflake control panel of the app will open. There are some steps that you need to complete before launching CARTO for the first time:

1. **Grant Account Privileges:** the app needs certain privileges to run in your Snowflake Account.
2. **CARTO Network integration:** the app will need access to query resources and URLs hosted by CARTO outside of Snowflake.
3. **Secrets access**: the app will need access to the license secret stored in Snowflake.
4. **Snowflake Network integration:** the app will need access to query resources and URLs hosted in Snowflake.
5. **CARTO license key:** the license corresponding to your CARTO organization, plan, and quotas, as shared by our team.

Once these steps have been completed, you can click on "Launch App"

{% hint style="success" %}
Once the app launches, you're now inside the CARTO Native App
{% endhint %}

### CARTO Manager

The first thing all users will see when opening the app is the control panel. This control panel contains the following pages:

* **Installation:** in this page you can review the status of your installation
* **Restart:** to start or stop the containers used by CARTO
* **SSO:** to add the SSO configuration as provided by CARTO in [Configuring SSO](#configuring-sso).
* **Monitor:** containing a list of all the containers used by CARTO and their last known status.
* **Help and Support:** easy access to all learning and support resources.

Each page will display different content depending on the permissions for each user and the status of the app.

<figure><img src="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fuploads%2Fgit-blob-e847bea840b4c71fe81d1e1099ab1e4feb80c142%2FScreenshot%202024-11-20%20at%2021.37.20.png?alt=media" alt=""><figcaption></figcaption></figure>

### Completing the installation

The first time you open the control panel you'll notice there are 5 additional steps you need to take:

1. **(Optional) Enable Private Link integration:** In order to avoid traffic from hitting public URLs from your Snowflake account, enable the Private Link integration. You'll have to use specific Public and Private Link URLs in the next Snowflake OAuth integration step, following instructions from our team.
2. **Create an Snowflake OAuth integration:** CARTO uses an OAuth-based connection so that each user leverages their own credentials, roles and permissions inside CARTO. To learn more, check [Integrating Snowflake OAuth](https://docs.carto.com/carto-user-manual/settings/advanced-settings/configuring-oauth-connections-to-snowflake).
3. **Learn how to install the CARTO Analytics Toolbox:** the preferred mechanism to [install the CARTO Analytics Toolbox is through a Snowflake Native App](https://docs.carto.com/data-and-analysis/analytics-toolbox-for-snowflake/getting-access/native-app-from-snowflakes-marketplace).
4. **Configure your admin password**
5. **Learn how to add more users:** as explained in [Adding more users](#adding-more-users).

Those are your last steps! Once you're done, CARTO is ready to be launched.

{% hint style="info" %}
When you start CARTO, the containers may take up to 5 or 10 minutes to get started.
{% endhint %}

### Login

{% hint style="info" %}
To access the app, all users must authenticate first with their Snowflake credentials and then, with their CARTO credentials.
{% endhint %}

Login with your Snowflake credentials. Then, use your **admin credentials** as defined previously to access CARTO and start with the onboarding.

### Onboarding

To finish the onboarding, simply configure your Snowflake OAuth connection. You will be required to login again with Snowflake, and then confirm your [Snowflake connection settings](https://docs.carto.com/carto-user-manual/connections/snowflake).

<figure><img src="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fuploads%2Fgit-blob-ead5808e4737e3e9faa4883a0fbd5cc01aff92c7%2FScreenshot%202024-11-20%20at%2021.40.18.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Congrats! Click on "Connect" and you'll be taken to **CARTO** **Workspace** where you can start using CARTO fully deployed inside Snowflake 🎉
{% endhint %}

## Adding more users

To add more users to the app you'll need:

* Give them access to use the Snowflake app, by using roles and permissions in Snowflake.
* Finish your [SSO configuration in CARTO](#configuring-sso).

## Configuring SSO

To configure SSO, get in touch with the CARTO team. Our team will request specific information about your Identity Provider (IdP) and will complete the configuration with you.

At the end of the process, you'll be handed an `Organization ID` that you will need to input in the [CARTO Manager](#control-panel).

## Maintenance and monitoring

CARTO as a Snowflake Native App + Container Services does not require active or scheduled maintenance. Check the [Monitor page in the CARTO Manager](#control-panel) to monitor the container status.

### Updating the app

CARTO will regularly publish updates for the Snowflake Native App. Thanks to the Snowflake Native App framework:

* When CARTO publishes an update, it automatically becomes available for customers
* During the following **30 days,** customers can decide to manually upgrade using `ALTER APPLICATION UPGRADE` or [wait until Snowflake automatically upgrades the app](https://docs.snowflake.com/en/developer-guide/native-apps/update-app-upgrade).
* Once the app is updated, it will automatically stop running. **Admins need to start the app again to finish the update process.**

### Uninstalling the app

{% hint style="danger" %}
**Do not uninstall the app.** If you uninstall the app you'll need to repeat the onboarding process, including obtaining a new CARTO license, and you will lose your maps, workflows and assets.&#x20;

Get in touch with CARTO if you'd like to uninstall the app and we'll guide you through the process.
{% endhint %}

## Release notes

* **February 12th, 2026:** `V1_5 Patch 10` released, equivalent to [2026.1.7 in CARTO Self-Hosted](https://docs.carto.com/carto-self-hosted/release-notes#id-2026.1.7)
* **September 5th, 2025:** `V1_4 Patch 7` released, equivalent to [2025.7.16 in CARTO Self-Hosted](https://docs.carto.com/carto-self-hosted/release-notes#id-2025.4.9-1)
* **May 21st, 2025:** `V1_3 Patch 6` released, equivalent to [2025.4.9 in CARTO Self-Hosted](https://docs.carto.com/carto-self-hosted/release-notes#id-2025.4.9-1)
* **November 21st, 2024:** `V1` released, equivalent to [2025.1.10 in CARTO Self-Hosted](https://docs.carto.com/carto-self-hosted/release-notes#id-2025.1.10)
