# Exoscale Documentation — Platform

> Explore Exoscale's cloud platform: get started fast, manage organizations, billing, security, support plans, audit, IP ranges and global data center zones.

---

url: https://community.exoscale.com/platform/

---

# Platform

- [Exoscale](https://community.exoscale.com/platform/exoscale/index.md) - Exoscale is a European cloud provider focusing on simplicity, scalability and security.
- [Quick Start](https://community.exoscale.com/platform/quick-start/index.md) - How to run through the first setup, registration, and verification steps to start using Exoscale.
- [Organization](https://community.exoscale.com/platform/organization/index.md) - Any action you perform on the Exoscale platform is done in the context of an Organization.
- [Billing](https://community.exoscale.com/platform/billing/index.md) - Resources are billed by the exact time or unit of metering they are consumed.
- [Usage Reports](https://community.exoscale.com/platform/usage-report/index.md) - Every resource is metered for usage consumption and billed on a monthly basis.
- [Two-Factor Authentication](https://community.exoscale.com/platform/two-factor-auth/index.md) - Two-factor authentication provides the best possible protection for your account.
- [Single-Sign-On](https://community.exoscale.com/platform/sso-auth/index.md) - Allows single-sign-on for users using an Open ID Connect (OIDC) identity provider.
- [Audit Trail](https://community.exoscale.com/platform/audit-trail/index.md) - Audit-Trail tracks all security-relevant user and API activity with Exoscale resources.
- [IP Address Ranges](https://community.exoscale.com/platform/ip-ranges/index.md) - IP address ranges are published to enable configuration security and traffic path optimization.
- [Data Center Zones](https://community.exoscale.com/platform/dc-zones/index.md) - Exoscale zones are geographically distinguished locations hosted in physical data center facilities.
- [Compliance](https://community.exoscale.com/platform/compliance/index.md) - Documentation related to regulatory compliance and data processing agreements.
- [Service Level Agreements](https://community.exoscale.com/platform/sla/index.md) - Comprehensive SLAs for all Exoscale cloud infrastructure services.
- [Environmental Impact](https://community.exoscale.com/platform/environmental-impact/index.md) - Esimate the impact of resources ahead of time, and receive reports on the impact of your usage.
- [Well-Architected Framework](https://community.exoscale.com/platform/well-architected/index.md) - A guide to building workloads on Exoscale that serve your business well — today and as you grow.

---

url: https://community.exoscale.com/platform/exoscale/

---

# Exoscale

## What is Exoscale?
Exoscale is a European cloud provider focusing on simplicity and security.

## Who are we?
We are a startup founded in 2011 in Lausanne, Switzerland. Our goal is to
provide simple, scalable, yet affordable cloud infrastructure services from
safe locations.

## Our service offerings
Exoscale offers four types of cloud services:

### Infrastructure as a Service
Exoscale's **Compute** offering lets you start an instance of your favorite operating system in less than 40 seconds. You manage your servers, and we take care of the rest. The full list of [available templates](https://www.exoscale.com/templates/) is publicly available and updated frequently. You can start with an instance as small as 1 CPU, 512 MB RAM and a 10 GB disk - and scale in a matter of seconds - to an instance as huge as 24 CPU, 225 GB RAM and a 1.6 TB disk. You can find your perfect instance size in the
[pricing section](https://www.exoscale.com/pricing/#compute). If you need more, feel free to contact us. You can also find out how easy it is to start an instance in our [Compute quickstart guide](https://community.exoscale.com/product/compute/instances/quick-start/index.md).

### Storage as a Service
Exoscale's **Secure Object Storage** (SOS) allows you to store, distribute and manage large quantities of files (also known as objects). You can store almost anything in SOS: assets, [backups](https://www.exoscale.com/backup/), email attachments, videos, pictures and anything else you may imagine. Discover Simple Object Storage with our [SOS quickstart guide](https://community.exoscale.com/product/storage/object-storage/quick-start/index.md).

### Database as a Service
Securely host your data with our end-to-end encrypted Database as a Service (DBaaS), allowing you to set up and scale databases in minutes without the need for costly hardware or licenses. Avoid the hassle of on-premises solutions and speeding up your time to market for new developments. Pay only for what you use with Exoscale DBaaS, cutting down both administration and maintenance overheads. Discover Database as a Service  with our [DBaaS quickstart guide](https://community.exoscale.com/product/dbaas/quick-start/index.md).

### DNS
When you need to deploy an instance or an application, you want it to be accessible in a simple and reliable way. Our DNS service allows you to control your domain name and its records from [the Portal](https://community.exoscale.com/product/networking/dns/how-to/config-examples/index.md) and also from [the API](https://community.exoscale.com/reference/api/dns/record/index.md#list-dns-domain-records). Read more to learn how to [manage your domain](https://community.exoscale.com/product/networking/dns/quick-start/index.md).


## Discover what you can do with our products

Here are a few examples of how our customers use our platform:

* [Deploy a multi master Kubernetes cluster](https://www.exoscale.com/syslog/multi-master-kubernetes/)
* [Build highly available Gitlab runners infrastructure](https://www.exoscale.com/syslog/highly-available-gitlab-runners/)
* [Deploy PostgreSQL with high availability](https://www.exoscale.com/syslog/ansible-pgsql-demo/)
* [Deploy an ELK stack](https://www.exoscale.com/syslog/elk-docker/)
* [Host your personal website with Nginx](https://www.exoscale.com/syslog/nginx-ansible/)

## More details on technologies

* **Hypervisor**: KVM on Linux
* **Storage**: SSDs in RAID level 10 or 5
  [Cassandra](https://cassandra.apache.org/_/index.html)

---

url: https://community.exoscale.com/platform/quick-start/

---

# Quick Start

To start using Exoscale's services, you will need to create an account and at least one 
[Organization](https://community.exoscale.com/platform/organization/index.md).
Think about an Organization as an isolated workspace where you can invite people and store your resources.

## Registration

To register your account, go to our [account registration page](https://portal.exoscale.com/register/).

The process will guide you through:

1. Verify your email address
2. Setup a new Organization
3. Register your credit card, or add some credits in advance

Once your registration is complete, you will land in our web portal and be able to start operating on the different services composing the platform.

### Register as a Company

During the registration process you can choose to identify yourself as a Company.

This will allow you to register your European or Swiss VAT number during the registration process. Additionally, established companies with a proved line of credit can request access to post-paid billing with 
[wire transfer](https://community.exoscale.com/platform/billing/index.md#post-paid-billing-with-wire-transfer)
after a manual vetting process.

### Free Trial Credit

When registering a new account on Exoscale, you might be entitled to get free credit to try the platform.

In order to get the credit, we ask you to save your credit card during the registration process, by choosing to enter our platform in [Post-paid Billing mode](https://community.exoscale.com/platform/billing/index.md#billing-modes).

When saving your credit card, Exoscale will reserve an amount of 20 EUR/CHF (depending on your currency) on it. The card will not be actually charged, the amount is only _pre-authorized_ and will be released by your credit card provider depending on its own rules (usually 30 days or the end of the month).

Upon successful registration, your account will be immediately credited 20 EUR/CHF (depending on your currency), and you can try our services for free.

By saving your credit card, your account will be configured in 
[Post-paid Billing](https://community.exoscale.com/platform/billing/index.md#billing-modes). 
Would you consume more than the free allowance, your credit card will be charged accordingly. Otherwise, nothing is due on your side, and you can decide at any moment to leave or close your account with no costs.

Exoscale reserves the right to not provide the free credit for multiple registrations, and to expire the offered credit.

## Operating on the platform

Once successfully registered, you can start using all Exoscale product and services. You can find detailed documentation about each service on [community.exoscale.com](https://community.exoscale.com/index.md).

You will be billed only for what you will actually use, and you can leave the platform at any time.

[You can find more information about billing and invoicing here](https://community.exoscale.com/platform/billing/index.md). 

> [!NOTE]
> At any point in time, would you need further support please contact us via [support ticket](https://portal.exoscale.com/tickets) > (existing customers only) or [contact form](https://www.exoscale.com/contact/).

---

url: https://community.exoscale.com/platform/organization/

---

# Organization

Any action you perform on the Exoscale platform is done in the context of an Organization.

Organizations represent a workspace for several users, such as a company or a team within a company. Each Organization has their own billing address, credit, users, and resources. You can create multiple Organizations to fit your own business model, isolating resources by project, team, or any other criteria that might suit you.

When you create a new organization in addition to the ones you are already a member of, the new organization starts in a suspended state. You will need to register payment details and add funds before you can create resources.

Organizations can have unlimited users, and have no additional cost beyond the resources they use.

You can switch context between organizations by clicking on the current Organization name in the upper right of the Portal.

## Create an Organization

From the top right dropdown menu in the web portal you can access the "Organization Management" view, from which you can:

- see the detailed list of Organizations you belong to
- switch context to any Organization you belong to
- create a new Organization
- leave any Organization you are member of, as long as you are not its sole Owner.

Upon creation, your organization is immediately available, but appears in a `suspended` state. You will need to add credit to it, or setup an adapted Billing Mode [from the web portal](https://portal.exoscale.com/organization/billing/mode), under `Organization` > `Billing` > `Billing Mode`.

## Switching Context

To switch context between Organizations, you can as well select the name of the desired Organization in the top right dropdown menu of the Portal.

## Add and Manage Users in your Organization

In order to add other users to your workspace for them to collaborate with you in the web portal, you need to set up IAM Roles defining their level of access, then invite them to join your Organization.

Please [refer to the IAM section to learn more](https://community.exoscale.com/product/security/iam/index.md).

## Working with Organizations

Organizations can be structured in 2 different ways:

- Independent
- As a tree

### Independent Organization

Independent organizations are not linked to each other. They can be used to create isolated environments, such as development, staging, or production environments. Each organization has its own set of resources and billing information.

### Tree Organization

Tree organizations are linked to each other. They can be used to create a hierarchical structure, such as a company with multiple departments or a university with multiple faculties. With tree organizations, you can define a parent-child relationship between organizations, allowing you to separate accesses and permissions at each level. Only the top-level organization receives billing information. Each child organization receives usage information for resources allocated to it.

Tree organizations can be nested up to 5 levels, allowing you to create complex organizational structures. Tree organizations must be created by an organization owner and this owner must be owner of all child organizations.

To create a tree organization, reach out to our support team.

---

url: https://community.exoscale.com/platform/billing/

---

# Billing

Each resource, unless noted otherwise, is billed by the exact time or unit of
metering you consume.
Your credit status is updated every hour.
Most resources are metered on exact consumption usage or up to the minute.

Exoscale supports CHF, EUR or USD currencies.

We accept Visa, Mastercard and American Express cards supporting 3D Secure payment verification. We also accept PayPal (Pre-Paid Mode only).

## Billing Modes

The following billing modes are available:

- Pre-paid billing with credit card or PayPal
- Post-paid billing with credit card
- Post-paid billing with wire transfer

### Pre-paid Billing
You add funds to your organization **before** consuming resources. When your organization balance reaches zero, the organization is suspended. Make sure to keep the credit in your account topped up to avoid suspension.

### Post-paid Billing with Credit Card
You register one ore more credit cards and consume resources freely. Every month, we automatically charge your credit card marked **default** for the amount you have consumed.

### Post-paid Billing with Wire Transfer
Established companies with a proved line of credit can request access to post-paid billing with wire transfer after a manual vetting process. Every month, we will issue an invoice to your company.

### Invoicing

For Pre-paid Billing mode invoices are sent via email immediately after the payment has been successfully processed.

For Post-Paid Billing mode, both with Credit Card and Wire Transfer, invoices are sent monthly - the 1st of the month, for the past month.

In Post-paid Billing with Credit Card, invoices are sent 3 days prior to the withdrawal of the invoiced amount from your credit card. Before being billed under the standard monthly cycle, a newly created organization will be invoiced regularly until it reaches the "trusted" status. This occurs either after a set period following the first payment or once usage reaches 160 CHF/EUR/USD.

Please note, that Wire invoices are NOT automatically charged from your bank account. You will need to manually pay Wire invoices within 10 days after invoice date.

### Change Billing Mode

If you are in **pre-paid billing mode**, you can move to post-paid by credit card mode by registering a credit card in the Credit Card Management view. For post-paid by wire transfer please open a support ticket.

If you are in **any post-paid billing mode** (card or wire transfer), you can move to any other mode by contacting our support team.

### Low Credit Notification

Pre-paid accounts have the ability to [set a threshold](https://portal.exoscale.com/organization/billing) at which they will be alerted about their credit being too low, in order to be able to recharge before being suspended. The default is set to 15 CHF/EUR/USD (depending on your currency).

### Invoice Delivery
Invoices are sent via email to all users with a default IAM Role of type Owner or Billing.

In addition, you can add an extra email address within an organization that does not need to be a user to receive invoices.
This can be done directly from the [Billing Details](https://portal.exoscale.com/organization/billing) of your organization.

## Credit Cards
Credit card details are safely stored by our payment processing partner: Adyen. Exoscale does not store credit card details.

You can manage your credit cards and add a new one in the Credit Card Management view.

When adding a new credit card, remember to set it as default in your credit card list if you want it to be your default payment method.

## Products Billing

## Compute
Exoscale Compute pricing is split between instance pricing and disk pricing.
This allows you to mix and match CPU, RAM and disk profiles to get the best value.

We do not charge you for:

* inbound traffic
* support for data portability or reversibility

**Billing of powered off machines**

Powered off machines will only be charged for resources still in use.
Therefore, we will continue to charge your account for the volume attached to your instance.

**Billing of network usage**

The bandwidth is billed hourly and takes the number of machines running during
the last one-hour period.

There are 1.42 GB of output bandwidth for free per machine. If a machine does not
use its free tier, it is reported on other running machines of the same
organization. So, with 5 machines running during the last hour, there are
7.1 GB of free output bandwidth. The exceeding bandwidth is billed.

![](picto-bandwidth-faq.svg "Bandwidth Billing")

**When credit runs out**

If your billing method is Pre-paid and your credit goes below the threshold you have set (15 CHF/EUR/USD by default), you receive an email notification. If you don’t add credit and your credit runs out, your machines will be stopped and your account will be suspended. You will not be able to start your machines until you add credit to your funds.

While your account is suspended, negative credit will continue to add up, as you are
charged for the volume attached to your instance.

When you add credit, you need to add enough to have a positive account balance to start your instance again.

If you choose to not add credit, all your instances will be removed after
several weeks and reminders.

## Storage
Exoscale Storage is charged based on tiers.

Pricing of the tiers is cumulative. The first 512 TiB are charged at Tier 1 level, 512 TiB to 1 PiB at Tier 2 level, everything above at Tier 3 level.

* 0.0198 CHF/EUR/USD per GiB.month stored (e.g. for Tier 1 level)
* 0.0200 CHF/EUR/USD per GiB of networking out

There is no other charge.

So if you store a 1 GB file it will only cost you 0.0198 CHF/EUR/USD. Retrieving the file
will cost you 0.0200 CHF/EUR/USD.

## DNS
Exoscale DNS has three available subscriptions:

* **Small**: 1 CHF/EUR/USD per month for 1 DNS zone
* **Medium**: 5 CHF/EUR/USD per month for 10 DNS zones
* **Large**: 25 CHF/EUR/USD per month for 50 DNS zones

You are billed at monthly intervals.
You can upgrade and downgrade your subscription at any time, and you will be
charged in proportion to your usage.

As an example, if you subscribe to a DNS plan for 10 days and then
unsubscribe, you will be charged 10/30th of the price.

## Support
We are offering different [support plans](https://www.exoscale.com/support/) to suit customers requirements:

* __Built-In__ - included for all customers. Perfect for testers, developers and non-critical applications.
* __Starter__ - for startups and SMEs running production infrastructures. Everything from Built-In plus guaranteed response time of two hours, detailed usage reporting and out of the box services to detect and track events on the platform.
* __Pro__ - for companies running sensitive production infrastructures. Everything from Starter plus guaranteed response time of one hour, support via ticket or phone, during extended office hours.
* __Enterprise__ - for companies running critical workloads. Everything from Pro plus guaranteed response time of 30 minutes (24/7) and your dedicated Customer Success Manager.

Check your current support plan or subscribe to advanced support plans via the [Portal](https://portal.exoscale.com/organization/subscriptions/support).

---

url: https://community.exoscale.com/platform/environmental-impact/

---

# Environmental Impact

Environmental Impact data at Exoscale is available in two forms:

- **Reports** - showing the impact of past usage (e.g. the monthly impact report)
- **Estimations** - the impact of future use of a given resource (e.g. when choosing an Instance type)

Both estimations and reports are calculated using the same Lifecycle Assessment (LCA) methodology, which is based on the [ADEME Product Category Recommendations](https://librairie.ademe.fr/economie-circulaire-et-dechets/6105-7697-product-category-rule-pcr-for-cloud-services-and-data-centre-it-hosting-services.html#/44-type_de_produit-format_electronique). You can read more in [Methodology](https://community.exoscale.com/platform/environmental-impact/methodology/index.md).

## Impact Reports

### Console Access

Reports on your organization's environmental impact can be accessed in the portal, under `Organization > Environmental Impact`.

![](report-page.png "Environmental Impact Report")

These reports show the impact of the aggregated usage across all of your organization's resources. Impacts are estimated across a number of different *impact indicators*, such as Global Warming Potential (GWP), acidification, and eutrophication. You can read more about the impact indicators we use in the [ResilioDB documentation](https://db.resilio.tech/docs/what-is-lca).

Reports are monthly, with the current month's report updated daily to reflect your month-to-date impact.

### API Access

For programmatic access to impact report data, you can use the [`environmental-impact/report`](https://community.exoscale.com/reference/api/general/environmental-impact/index.md#get-impact-report) endpoint, available to all customers.

This endpoint returns the aggregated impact for your organization, broken down by zone and resource type. This endpoint is not limited to monthly data, and can be queried across an arbitrary date range.

#### Parameters

- `from` (required): the start date of the report (format `YYYY-MM-DD`)
- `to` (optional): the end date of the report (format `YYYY-MM-DD`); defaults to today

#### Impact Report JSON Structure

The API returns aggregated impact data in the following format, with the top-level `impact` showing the total, and `zones` giving the breakdown by zone, and by product:

```json
{
  "impact": {
    "ADPe": {
      "unit": "kg Sb eq",
      "value": 0.00017
    },
    "GWP": {
      "unit": "kg CO2 eq",
      "value": 2.2
    },
    // Plus remaining impact indicators
  },
  "zones": {
    "ch-dk-2": {  // Zone name
      "resources": {
        "compute": { // Top-level product, e.g. Compute
          "resources": {
            "instance": { // Product type, e.g. Instance
              "resources": {
                "cpu": { // Product category, e.g. Instance family
                  "resources": {
                    "mega": { // Product sub-category, e.g. Instance size
                      "usage": {
                        "unit": "hours",
                        "value": 200
                      },
                      "impact": {
                        "ADPe": {
                          "unit": "kg Sb eq",
                          "value": 0.0001
                        },
                        "GWP": {
                          "unit": "kg CO2 eq",
                          "value": 1.72
                        },
                        // Plus remaining impact indicators
                      }
                    },
                    // Plus other CPU Instance types
                  }
                },
                "standard": {
                  "resources": {
                    "medium": {
                      "usage": {
                        "unit": "hours",
                        "value": 720
                      },
                      "impact": {
                        "ADPe": {
                          "unit": "kg Sb eq",
                          "value": 0.000077
                        },
                        "GWP": {
                          "unit": "kg CO2 eq",
                          "value": 1.31
                        },
                        // Plus remaining impact indicators
                      }
                    },
                    // Plus other standard Instance types
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
```

#### CLI Usage

```bash
exo api get-impact-report --from 2026-07-01 --to 2026-08-01
```

Note that `--to` is optional and will default to today.
The response will be in the same format as that shown for the API.

## Impact Estimations

### Console Access

Impact estimations are shown in the console on certain product creation pages. These give you an indication of the impact these products will have when run for a certain period of time.

For example, on the Instance creation page, you will see an estimated environmental impact per day when selecting the Instance type.

### API Access

For programmatic access to impact estimations, you can use the [`environmental-impact/estimate`](https://community.exoscale.com/reference/api/general/environmental-impact/index.md#get-impact-estimate) endpoint, available to all customers.

The endpoint returns the estimated impact per unit of usage of the given product. For example, this would be for one hour of usage of a given Instance type.

#### Parameters

- `sku` (required): the SKU of the product or products you want to get impact for

A SKU is a code that identifies a specific product or group of products available in the Exoscale product catalog. Some examples are:

- `compute:ch-gva-2:instance:standard:medium` - a standard medium Instance in the `ch-gva-2` zone
- `compute:ch-gva-2:instance:standard:*` - all standard family Instances in the `ch-gva-2` zone
- `compute:*:instance:standard:*` - all standard family Instances in all zones

#### Impact Estimate JSON Structure

The API returns impact estimates in the following format, where `impact` holds a map of SKUs to maps of impact indicators. The SKUs included in the `impact` map will be those that matched the SKU passed in the request.

```json
{
  "impact": {
    "compute:at-vie-1:instance:cpu:colossus": {
      "ADPe": {
        "unit": "kg Sb eq",
        "value": 9.539079791353054E-7
      },
      "GWP": {
        "unit": "kg CO2 eq",
        "value": 0.04487839483283493
      },
      // Plus remaining impact factors
    },
    "compute:at-vie-1:instance:cpu:extra-large": {
      "ADPe": {
        "unit": "kg Sb eq",
        "value": 7.186477013504592E-8
      },
      "GWP": {
        "unit": "kg CO2 eq",
        "value": 0.04487839483283493
      },
      // Plus remaining impact factors
    }
  }
}
```

#### CLI Usage

```bash
exo api get-impact-estimate "sku: compute:ch-gva-2:instance:standard:medium"
```

The output format will be the same as that of the API.

---

url: https://community.exoscale.com/platform/environmental-impact/methodology/

---

# Methodology

Our environmental impact calculations all use a Lifecycle Assessment (LCA) methodology.
This means we take into account the manufacture, usage, and disposal of all our hardware.
To perform this LCA, we follow the [Product Category Recommendations (PCR)](https://librairie.ademe.fr/economie-circulaire-et-dechets/6105-7697-product-category-rule-pcr-for-cloud-services-and-data-centre-it-hosting-services.html#/44-type_de_produit-format_electronique), created by [ADEME](https://www.ademe.fr/en/frontpage/), the French Agency For Ecological Transition.
The PCR was developed in collaboration with industry partners, including Exoscale.

The impact data we use in our calculations comes from [ResilioDB](https://resilio-solutions.com/en/services/database), developed by [Resilio](https://resilio-solutions.com).
The calculations are performed using [LCA-as-code](https://lca-as-code.com/), developed by [Kleis Technology](https://kleis.ch/).

## Concepts

The following key concepts form the building blocks of our impact estimation methodology.

### Zones

Our infrastructure is divided into **zones**.
Each zone maps directly to one data center.

You can read more on our [Zones page](https://www.exoscale.com/datacenters/).

### Hardware

The hardware included in our impact estimations falls into three categories:

1. **Rack servers** - stand-alone servers with CPUs, GPUs, RAM, storage, power supplies and cooling
2. **Blade servers** - servers with dedicated CPUs, GPUs, RAM, and storage, in a shared _chassis_, providing shared power and cooling
3. **Network equipment** - including switches and routers

All hardware exists in a rack, which exists in a room in one of our data centers.

### Types of impact

All impact estimates include two types of impact:

- **Manufacture** - impacts related to building, transporting and disposing of hardware
- **Usage** - impacts related to resource consumption at runtime

Note that manufacture impacts are zone-independent, i.e. the impact is the same no matter where the hardware is deployed.
Usage impacts are heavily zone-dependent, as the electricity mix and datacenter configuration are different in each zone.

### Pools

Resource pools are groups of hardware that are either dedicated to a specific product (e.g. Instances or SOS), or mutualized between products (e.g. shared networking equipment).

Each piece of hardware belongs to exactly one pool, and its impact is allocated to users proportional to their usage of that pool.

An example is the pool of hypervisors and networking equipment used to run our Instances product in the `ch-gva-2` zone.

## Calculating impact

To calculate the impact of a user's usage of a given product, we calculate the total impact of the pools involved in that usage, then share the pool impacts based on the proportion of resources consumed.

### Pool impact

The total impact of a pool is:

```
impact_pool = impact_manufacture_pool + impact_usage_pool
```

where

```
impact_manufacture_pool = sum(impact_manufacture_hardware)
impact_usage_pool_per_hour = sum(impact_usage_hardware_per_hour)
```

where

```
impact_usage_hardware_per_hour = power_consumption * electricity_impact_zone_per_kwh
```

- `power_consumption` is the average power consumption of a given piece of hardware in kilowatts
- `electricity_impact_zone_per_kwh` is the average impact of consuming 1 kWh of electricity from the grid in the given zone, taken from [ElectricityMaps](https://app.electricitymaps.com)

### Allocation ratio

To allocate a share of the total pool impact to a given usage, we calculate two ratios, one based on the resources used, versus the resources available in the pool, and one based on the duration of the usage versus the lifespan of the pool:

```
resources_ratio = resources / resources_pool_total
time_ratio = duration / lifespan_pool
```

The value of `resources` and `resources_pool_total` will vary depending on the product, and also on the type of impact we are calculating (see below).

Specifically:

```
impact_usage = resources_ratio_usage * duration * impact_usage_pool_per_hour
impact_manufacture = resources_ratio_manufacture * time_ratio * impact_manufacture_pool

impact = impact_usage + impact_manufacture
```

Where `resources_ratio_usage` and `resources_ratio_manufacture` are product-specific, and discussed below:

## Product-specific details

As discussed above, each product will have a slightly different methodology.
The difference is in how we calculate the ratio of the user's resources to the total resources available in the pool (i.e. the value for `resources_ratio_usage` and `resources_ratio_manufacture`).

### Instances

Each Instance type has allocated vCPUs, GPUs, RAM, and attached storage (note that block storage is treated as a separate product).
Each GPU has an amount of video random-access memory (VRAM).

We calculate Instance impact using the ratio of these resources to the total amount of each resource in the pool, as outlined in the PCR.
Specifically:

```
alloc_vcpu = pct_weight_cpu * (vcpu_instance / vcpu_pool)
alloc_gpu = pct_weight_gpu * (vram_instance / vram_pool)
alloc_ram = pct_weight_ram * (ram_instance / ram_pool)
alloc_storage = pct_weight_storage * (storage_instance / storage_pool)

resources_ratio = alloc_vcpu + alloc_gpu + alloc_ram + alloc_storage
```

Where

- `vcpu_instance`, `vram_instance`, `ram_instance`, `storage_instance` are the vCPU, VRAM, RAM, and storage allocated to the Instance respectively
- `vcpu_pool`, `vram_pool`, `ram_pool`, `storage_pool` are the total vCPU, VRAM, RAM, and storage available in the pool
- `pct_weight_cpu`, `pct_weight_gpu`, `pct_weight_ram`, `pct_weight_storage` are the weights assigned to each component, and reflect how much impact we attribute to each (see below); note that these sum to 100%

#### Component weights

The values of `pct_weight_cpu`, `pct_weight_gpu`, `pct_weight_ram`, and `pct_weight_storage` reflect how much weight we give to each component when calculating impact, and are different for the usage and manufacture impacts.

When calculating usage impact, these weights are based on the average relative power draw of each component type in the pool. Specifically:

```
power_draw_total = power_draw_cpu + power_draw_gpu + power_draw_ram + power_draw_storage

pct_weight_cpu = 100 * power_draw_cpu / power_draw_total
pct_weight_gpu = 100 * power_draw_gpu / power_draw_total
pct_weight_ram = 100 * power_draw_ram / power_draw_total
pct_weight_storage = 100 * power_draw_storage / power_draw_total
```

When calculating manufacture impact, these weights are based on the manufacture impact of each type of component:

```
impact_manufacture_total = impact_manufacture_cpu + impact_manufacture_gpu + impact_manufacture_ram + impact_manufacture_storage

pct_weight_cpu = 100 * impact_manufacture_cpu / impact_manufacture_total
pct_weight_gpu = 100 * impact_manufacture_gpu / impact_manufacture_total
pct_weight_ram = 100 * impact_manufacture_ram / impact_manufacture_total
pct_weight_storage = 100 * impact_manufacture_storage / impact_manufacture_total
```

### Object and block storage

Both object and block storage follow the same methodology, based on the ratio of a user's storage to the total storage in the pool.
To calculate object and block storage impact, we use the following:

```
resources_ratio_usage = storage_user / storage_pool
resources_ratio_manufacture = storage_user / storage_pool
```

Meaning we simply divide the user's storage by the total storage available in the pool, and share total pool impact based on this ratio.

## Shortcomings

There are several trade-offs inherent in the PCR methodology, which are discussed below.

### Pooling

Pooling resources is key to the PCR methodology, and without it, the methodology would be unfeasible to implement at scale.
Without pooling, we would need to track specific hosts, utilization, and power consumption for every workload, which is difficult in a production cloud.
Collecting and standardizing this data across all products is even more difficult.

While pooling brings many advantages, it also brings the following issues:

1. Workloads do not see the impact of the specific hardware they use. Instead, they see an average impact of all the hardware used to run that product.

2. Hardware lifespan is averaged. Users using older hardware will see no change in impact versus newer hardware with the same resource allocation.

### Idle resources

The PCR methodology does not include a factor to account for the level of utilization within a pool.
For example, the impact of a given Instance is always the same, regardless of whether that is the only Instance running in an otherwise idle pool, or whether the pool is almost full.

This is good because it means that impact estimations are consistent, and not dependent on levels of activity on the provider's hardware.
However, it does mean that idle machines are ignored in impact calculations, and the impact of a provider's own (in)efficiency must be accounted for elsewhere.

---

url: https://community.exoscale.com/platform/usage-report/

---

# Usage Reports

As referred in the [Billing](https://community.exoscale.com/platform/billing/index.md) 
section, every resource, unless noted otherwise, is metered for usage
consumption and billed on a monthly basis.

You can always see your *current consumption*. For past billing periods, you have
access to *invoices* and *usage reports* as detailed below.

## Types of Reports

- Live Usage Report
- Invoices & Usage Reports
- Detailed Usage Reports

### Live Usage Report

Information about the current consumption (and price estimation) is available
through the portal:

Organization > Billing > Usage Details
![](usage-reports-usage-details.png "Live Usage Reports")

At the top, you can see the **Usage Overview** which does an aggregation by
product and below it, on the **Usage Detail**, you will find detailed 
consumption by product type. There's no live details for individual resources.

These figures are updated every hour.

### Invoices & Usage Reports

*Invoices* and *usage reports* terms refer to similar objects, mainly with
information about the usage (priced). The main difference is that *invoices*
aim to be paid and *usage reports* are for information purpose only.

If you have the Pre-Paid Billing mode, you get:

 * Invoices as receipts for top-up payments
 * *Usage reports* on a monthly basis, providing a summary of all your
   consumption during a given billing cycle.

In case you have the Post-Paid Billing mode, you are billed on a monthly
basis. The *invoice* contains the summary of your consumption during the
relevant billing cycle.

Usage-based invoices and usage reports display the total amount for the 
period and the resources consumption, grouped by product and aggregated
by product type as in the example below:

![](usage-report-pdf-example.png "Live Usage Reports")

Once issued, the *invoices* and *usage reports* are available in two formats: 
PDF and JSON.

The PDF is immediately sent via email and available through the portal: 

Organization > Invoices/Usage Reports
![](usage-reports-invoices-list.png "List Invoices And Usage Reports")

You can find the `DOWNLOAD PDF` button in the *invoice*/*usage report* detail page .


## API Access to Usage Reports

For programmatic access to usage reports, Exoscale provides an [API endpoint](https://community.exoscale.com/reference/api/general/organization/index.md#get-usage-report) available to all customers.

### Parameters

- `period` (optional): Filter reports by specific month in `YYYY-MM` format (e.g., `2024-02`). If not provided, defaults to the current month.

### Usage Report JSON Structure

The API returns aggregated usage data in the following format:

```json
{
  "usage": [
    {
      "from": "2024-01-01T03:00:00Z",
      "to": "2024-01-31T20:00:00Z",
      "product": "compute",
      "variable": "medium_running",
      "description": "Running medium VM",
      "quantity": "789.10",
      "unit": "h"
    },
    {
      "from": "2024-01-01T03:00:00Z",
      "to": "2024-01-31T20:00:00Z",
      "product": "storage",
      "variable": "sos_storage_volume_128k",
      "description": "SOS Storage Volume",
      "quantity": "1024.50",
      "unit": "GiB.h"
    },
    {
      "from": "2024-01-01T03:00:00Z",
      "to": "2024-01-31T20:00:00Z",
      "product": "network",
      "variable": "output_traffic",
      "description": "Output network traffic",
      "quantity": "130.62",
      "unit": "GB"
    }
  ]
}
```

### Error Responses

The API returns appropriate HTTP status codes and error messages for invalid requests:

**400 Bad Request** - Invalid period format:
```json
{
  "error": "Invalid period format: 2024-13. Expected format: YYYY-MM"
}
```

**404 Not Found** - Organization not found or no access permissions

### CLI Usage

```bash
# Get current month usage report
$ exo x get-usage-report

# Get usage report for specific period
$ exo x get-usage-report --period 2025-06
```

### Detailed Usage Reports

In case you are subscribed to one of the [advanced support plans](https://www.exoscale.com/support/),
you'll also have detailed usage reports following each billing cycle.

These reports are stored in a SOS bucket we create for you, named in the 
form `usage-reports-UUID` with the following structure:

```
usage-reports[uuid]/2023/10.json
usage-reports[uuid]/2023/10.xls
usage-reports[uuid]/2023/11.json
usage-reports[uuid]/2023/11.xls
usage-reports[uuid]/2023/12.json
usage-reports[uuid]/2023/12.xls
```

We bundle the information into two formats: JSON and XLS. Inside those files
you will find the usage details for every resource and service used on Exoscale
during the given period.

Json example:
```json
{
  "id": "c06a253f-bc9e-270f-af2d-deacda58c158",
  "created": "2023-06-24T14:51:43.695Z",
  "modified": "2023-07-24T15:31:21.882Z",
  "summary": {...},
  "products": {
    "storage": [
      {
        "entity_id": "511b6af9-34d3-2d75-116a-7f9811d04016",
        "created": "2023-06-24T15:18:49.166Z",
        "modified": "2023-07-24T15:13:57.378Z",
        "meters": {
          "sos:storage_volume_128k": {
            "start": 1687615200000,
            "end": 1690207200000,
            "value": 464.31794916,
            "unit": "GiB.h",
            "meta": {
              ...
              "bucket": "BUCKET NAME",
            }
          }
        }
      },
      {
        "entity_id": "687d36c0-1b4e-4fc3-a8b4-142f8f42a7ab",
        ...
        "meters": {
          "sos:storage_volume_128k": {
            "start": 1687615200000,
            "end": 1690207200000,
            "value": 20725.46139412,
            "unit": "GiB.h",
            "meta": {
              ...
              "bucket": "ANOTHER BUCKET",
            }
          }
        }
      }
    ],
    "instance": [
      {
        "entity_id": "2fdf658d-fa42-4320-8c25-292c8f70119b",
        "created": "2023-06-24T16:02:33.541Z",
        "modified": "2023-07-24T15:07:09.894Z",
        "meters": {
          "opencompute:running_extra_large": {
            "start": 1687617011936,
            "end": 1690209136494,
            "value": 720.03459944,
            "unit": "h",
            "meta": {
              ...
              "name": "INSTANCE-NAME",
            }
          }
        }
     }
    ],
    ...
  }
}
```

Excel example:

![](usage-report-excel-example.png "Usage Report Excel Example")

---

url: https://community.exoscale.com/platform/two-factor-auth/

---

# Two-Factor Authentication

Two-factor authentication provides the best possible protection for your account.

With two-factor authentication enabled, you enter your password and a secure
code generated by your mobile device. Stealing your password is not
enough for an attacker to gain access to your Exoscale account.

This method combines the security of something you know (your password) and
something you have (your mobile device that generates secure codes).

## Set up
From the top `Account` dropdown menu, go to `Account Details` and then click on the
`Password and Security` tab.

* click on `Set up two-factor verification`.
* Enter your account password
* Scan the QR code with your device's authenticator app, or enter the code in the app
* Your app will give you another code to enter in the form - enter the code and click on submit
* You will be presented with a confirmation window and a set of backup codes
* Make sure to **save your backup codes**

If you do not have an authenticator app yet, here are a few possibilities:

 - [FreeOTP](https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp) for Android.
 - [Duo Mobile](https://guide.duo.com/third-party-accounts) for Android and iOS.
 - [OATH Toolkit](https://github.com/jessiewy/oath-toolkit) (with `oathtool --totp -b yoursecret`) for Linux/BSD/macOS
.

## Implications

> [!NOTE]
> When you have two-factor authentication enabled, it is **vitally important** to remember: (1) to keep your authenticator app up > to date (2) to safely store of your TOTP secret (3) to the safely store your backup codes.

If your authenticator app is lost, you can access your account and reset your two-factor authentication with the backup codes we provide on the initial setup.

If you have no backup codes and you are locked out of your account, you can contact our Support team **as a last resort**, but our ability to assist you might be limited.

At Exoscale we take your account security **extremely seriously**. We will need to authenticate your identity with a high degree of confidence. Please note that you might have to provide additional identification.

Please **load your public SSH key** to your account.

If an RSA public key is registered in your private account, we will send you the digest of a challenge, which you can sign with your private key. We can use the public key registered on your account to verify the signed digest and reset the account.

Please **save a phone number** on your account.

If a phone number is registered on the account, we will send a challenge to the phone number and act on the request if the correct challenge is sent back to us in the account reset request.

If those methods are unavailable or fail, there will be no action on our side. Unfortunately, you will be not able to access your account.

---

url: https://community.exoscale.com/platform/sso-auth/

---

# Single-Sign-On

Allow single sign-on to an Exoscale organization using an OpenID Connect (OIDC) identity provider. SSO is available to every Exoscale organization.

## Activation

Accessible to users with **OWNER** user role in the **IAM** section of the main
navigation, under **SSO**.

![](sso-activation.png "SSO activation")

## Configuration

Accessible to users with **OWNER** user role in the **IAM** section of the main
navigation, under **SSO**.

![](sso-configuration.png "SSO configuration")

You need to enter:

* your OIDC `Client ID`
* the OIDC `Issuer URL`
* your OIDC `Client Secret`

This is the URL you need to authorize on the OIDC provider side: `https://portal.exoscale.com/sso-authenticate/<sso-org-name>`

![](sso-shareable.png "SSO shareable endpoints")

## Login

The URL for the SSO login page: `https://portal.exoscale.com/sso-login/<sso-org-name>`

![](sso-login.png "SSO login")

When a user logs in to an organization using SSO for the first time, a new, unique user is created inside this organization. No role is assigned automatically: the user's IAM role is whatever the CEL authorization expression returns, and the login only succeeds when that expression returns a valid role.

The username is a universally unique identifier (or UUID) to allow for a standard non-SSO user with the same email address.

## How SSO users work

When a user successfully authenticates through the configured OIDC provider, Exoscale creates a dedicated SSO user inside the organization.

An SSO user is different from a standard Exoscale user:

* it is created automatically on the first successful SSO login;
* it does not require a local Exoscale password;
* its authorization is controlled by the configured OIDC provider and the CEL authorization expression.

Internally, SSO users are identified independently from standard Exoscale accounts, even if both share the same email address.

### SSO users are organization-specific

An SSO user belongs to the organization where it was created.

If another organization also wants to use SSO authentication, SSO must be configured independently for that organization.

An SSO user created in organization A cannot be reused automatically in organization B if organization B does not use SSO.

## Authorization

You can authorize in two ways:

* Use an ID token introspection with a [Common Expression Language](https://github.com/google/cel-spec) (or CEL) query.
* Set up your own proxy with a [DEX](https://dexidp.io/) server or equivalent.

### Authorization with ID token introspection

Two settings drive the introspection:

* `OIDC Additional Claims`, which is appended to the OAuth scopes requested at login
* a `Common Expression Language Authorization Expression`, which is evaluated at login time against the ID token payload

![](sso-authorization.png "SSO authorization")

#### OIDC additional claims

The authentication request always includes the `openid profile email` scopes, so the standard claims they carry (`sub`, `email`, `name`, ...) are always available to the expression.

The `OIDC Additional Claims` value is appended to that scope string: Exoscale requests `openid profile email <additional claims>`. Enter space-separated, lower-case tokens made of letters, numbers, hyphens, underscores or colons.

Requesting a scope only helps if your identity provider maps it to a claim. How additional claims get released into the ID token differs per provider: Okta uses custom scopes, Entra ID uses app-registration token configuration, Auth0 uses Actions. The examples below give the exact value to enter for each provider. A claim is visible to the CEL expression only if the ID token actually contains it.

#### Common Expression Language Authorization Expression

The expression is evaluated at every login against the ID token payload. Each claim in the token is exposed as a variable named after the claim, keeping its JSON type (string, number, boolean or list).

The expression must return a string holding either:

* the UUID of an IAM role of the organization, or
* the name of an existing IAM role of the organization.

That role is assigned to the user, and is re-evaluated and updated as needed at every subsequent login. Changing the role returned by the expression is therefore enough to change what users get on their next login.

Any other outcome denies the login: a boolean such as `true`, an empty value, a role name or UUID that does not exist in the organization, or an evaluation error, for instance when the expression references a claim the token does not contain. When a first SSO login is denied, no user is created.

```bash
email.endsWith('@exoscale.com') ? 'dc097e90-4636-4d2a-a629-670ab4395209' : false
```

![](sso-login-fail.png "SSO Login failed")

#### Examples

Each example shows the relevant excerpt of the ID token payload, the value to enter in `OIDC Additional Claims`, and the expression to configure. The role UUIDs are placeholders: replace them with the UUIDs of your own IAM roles, visible in the portal under `IAM` > `Roles`.

##### Okta

Create a `groups` scope on the Okta authorization server and add a Groups claim to the ID token. The claim type and filter you configure decide whether group names or group IDs are released.

`OIDC Additional Claims`: `groups`

```json
{
  "iss": "https://example.okta.com",
  "sub": "00u9r1abcdefghijklmnopqrstuvwxyz",
  "email": "jane@example.com",
  "groups": ["Everyone", "exoscale-admins", "platform-engineers"]
}
```

```bash
groups.exists(g, g == 'exoscale-admins')
  ? '00000000-0000-4000-8000-000000000001'
  : groups.exists(g, g == 'platform-engineers')
  ? '00000000-0000-4000-8000-000000000002'
  : false
```

##### Microsoft Entra ID

Add the `roles` and `groups` claims through the app registration **Token configuration**; they cannot be requested through scopes. The `roles` claim carries the app roles assigned to the registration, the `groups` claim lists group object UUIDs and is omitted when the user belongs to more than 200 groups, so prefer app roles.

`OIDC Additional Claims`: leave this empty.

Entra sometimes omits the `email` claim. Exoscale needs it to create the SSO user: enable the `email` optional claim in the app registration, or make sure the user's mail attribute is set in the directory.

```json
{
  "iss": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0",
  "sub": "...",
  "email": "jane@contoso.com",
  "upn": "jane@contoso.com",
  "roles": ["exoscale-operator"],
  "groups": ["8c3a1e4f-2b6d-4f0a-9d3e-5a7c1b9d0e11"]
}
```

```bash
roles.exists(r, r == 'exoscale-operator')
  ? '00000000-0000-4000-8000-000000000001'
  : groups.exists(g, g == '8c3a1e4f-2b6d-4f0a-9d3e-5a7c1b9d0e11')
  ? '00000000-0000-4000-8000-000000000002'
  : false
```

##### Google Workspace

Google returns the `hd` (hosted domain) claim automatically for Workspace accounts and does not release group membership in ID tokens, so mapping a domain to a role is the realistic option.

`OIDC Additional Claims`: leave this empty.

```json
{
  "iss": "https://accounts.google.com",
  "sub": "108440123456789012345",
  "email": "jane@example.com",
  "hd": "example.com"
}
```

```bash
hd == 'example.com' ? '00000000-0000-4000-8000-000000000001' : false
```

Accounts outside your Workspace domain, for instance personal Gmail accounts, carry no `hd` claim: an expression that tests `hd` fails and their login is denied. To allow specific Gmail accounts, match their `email` claim, which is always present:

```json
{
  "iss": "https://accounts.google.com",
  "sub": "104890123456789012345",
  "email": "contractor@gmail.com"
}
```

```bash
email in ['contractor@gmail.com', 'auditor@gmail.com']
  ? '00000000-0000-4000-8000-000000000002'
  : false
```

To run this setup without a Workspace domain, create your own OAuth client in the Google Cloud console:

* Choose the **External** audience. Gmail accounts cannot sign in to an Internal client.
* Set the authorized redirect URI to `https://portal.exoscale.com/sso-authenticate/<sso-org-name>`.
* Enter the client ID and client secret on the Exoscale SSO settings page, with the issuer URL `https://accounts.google.com`.

Exoscale requests only the `openid`, `email` and `profile` scopes, and Google requires no verification for them.

The expression is the only access gate: any Google account can complete the sign-in flow against your organization. List the accepted addresses explicitly, and deny every other login.

For group-based roles, Google's own ID tokens are not enough: put [Dex in front of Google](https://dexidp.io/docs/connectors/google/). Dex's Google connector fetches a user's Workspace groups through the Admin Directory API, using a service account with domain-wide delegation and a Groups Reader admin to impersonate, and re-exposes them as a `groups` claim in Dex's own ID tokens. Dex releases that claim only when the `groups` scope is requested, so enter it as an additional claim:

`OIDC Additional Claims`: `groups`

Groups are listed as their Workspace email addresses:

```bash
groups.exists(g, g == 'admins@example.com')
  ? '00000000-0000-4000-8000-000000000001'
  : false
```

##### Auth0

Auth0 namespaces custom claims with your API identifier, for example `https://exoscale.example.com/roles`, and such names cannot be referenced from a CEL expression. Inject a non-namespaced claim into the ID token with a Post Login action instead:

```js
event.response.idToken.setCustomClaim('exoscale_roles', event.authorization.roles);
```

`OIDC Additional Claims`: leave this empty.

```json
{
  "iss": "https://example.eu.auth0.com/",
  "sub": "auth0|60f1a2b3c4d5e6f7a8b9c0d1",
  "email": "jane@example.com",
  "exoscale_roles": ["exoscale-admin"]
}
```

```bash
exoscale_roles.exists(r, r == 'exoscale-admin')
  ? '00000000-0000-4000-8000-000000000001'
  : '00000000-0000-4000-8000-000000000002'
```

This maps every authenticated user to at least the second role; end with `: false` instead to deny users without a matching role.


## Interaction with Two-Factor Authentication

SSO and 2FA are complementary features.

### Standard authentication

Users authenticating with an Exoscale username and password can enable Two-Factor Authentication on their account.

If an organization enforces Two-Factor Authentication, those users must complete the TOTP challenge before accessing the organization.

### SSO authentication

Users authenticating through SSO do not use an Exoscale password.

Authentication is delegated to the configured OIDC provider.

If the identity provider already enforces Multi-Factor Authentication, users complete MFA on the provider side before being redirected back to Exoscale.

### Mixed environments

It is possible to use both authentication methods within the same organization.

## Removal of SSO users

Every time a new SSO user is recognized by Exoscale, a new special account is created on the platform. You can see all of your Organization's users in the user management view in the web portal: `IAM` > `Users`.

In order to fully remove a SSO user, it is not enough to remove it from your Exoscale Organization, you will also need to prevent his ability to login via the OIDC provider, or the user will simply be recreated at its next login.

##### Common Expression Language resources
* [Introduction](https://github.com/google/cel-spec/blob/master/doc/intro.md)
* [Language reference](https://github.com/google/cel-spec/blob/master/doc/langdef.md)

---

url: https://community.exoscale.com/platform/audit-trail/

---

# Audit Trail

The Exoscale Audit-Trail tracks all security relevant user activity and API
usage, allowing you to list the events that interact with the Exoscale resources.

## Terminology

* **Event**: User activities and API usage;
* **Mutations**: *Events* that will change any resource's state;
* **Short term Storage**: API/CLI request for *Mutations* with **30 days** retention;
* **Long term Storage**: Compressed JSON files, with *2 hours* window events, stored
  into one client's SOS bucket.

## Mutations and Short term Storage

All clients are served with the access, either via the
API [`/event`](https://community.exoscale.com/reference/api/audit-trail/event/index.md#list-events) endpoint
, the [exoscale-cli](https://community.exoscale.com/tools/command-line-interface/index.md)
, or the [Portal](https://portal.exoscale.com),
to all the *Mutations* that happened with their resources within the last **30 days**.

Example output with the [Portal](https://portal.exoscale.com/organization/audit-trail)

![](audit-trail.png "Audit Trail Window")


Example query with the exoscale-cli:

```bash
exo api list-events --from 2024-03-18T00:00:00 --to 2024-03-18T23:59:59
```

Output:

```json
[
    {
        "handler": "authenticate",
        "source-ip": "85.217.161.217",
        "message": "User user@exoscale.com: authenticate",
        "status": 200,
        "timestamp": "2024-03-18T14:27:17Z"
    },
    {
        "handler": "create session",
        "source-ip": "85.217.161.217",
        "message": "User user@exoscale.com: create session",
        "status": 200,
        "timestamp": "2024-03-18T14:51:54Z"
    },
    {
        "request-id": "d3a56d20-e537-11ee-a643-351cc382b6ff",
        "zone": "ch-gva-2",
        "body-params": {
            "template": { "id": "dbebea9b-db67-46b9-878c-aa9582e81177" },
            "public-ip-assignment": "inet4",
            "ssh-key": { "name": "ssh-key", "fingerprint": "7d:11:88:{...}:b7:86:d7" },
            "name": "super-instance",
            "disk-size": 50,
            "security-groups": [{ "id": "edece478-f019-4fa1-ab25-b5a547f252bf" }],
            "instance-type": { "id": "5e5fb3c6-e076-429d-9b6c-b71f7b27760b" },
            "anti-affinity-groups": []
        },
        "status": 200,
        "source-ip": "85.217.161.217",
        "iam-api-key": { "name": "my-api-key", "key": "EXObd2e2d17d088530077bfaa8a" },
        "uri": "/v2/instance",
        "elapsed-ms": 726,
        "timestamp": "2024-03-18T14:57:23Z",
        "handler": "create-instance",
        "message": "POST https://api-{...}.com/v2/instance [create-instance] status 200"
    },
    {
        "request-id": "e0c59070-e537-11ee-a643-351cc382b6ff",
        "zone": "ch-gva-2",
        "status": 200,
        "source-ip": "85.217.161.217",
        "iam-api-key": {
            "name": "my-api-key",
            "key": "EXObd2e2d17d088530077bfaa8a",
            "role-id": "0d91abf3-b4d7-4f40-a8dc-49301d778f25"
        },
        "iam-role": {
            "name": "my-role",
            "id": "0d91abf3-b4d7-4f40-a8dc-49301d778f25"
        },
        "uri": "/v2/instance/9a290148-af49-488e-9900-18cad0b8ac51:stop",
        "elapsed-ms": 72,
        "timestamp": "2024-03-18T14:57:45Z",
        "path-params": { "id": "9a290148-af49-488e-9900-18cad0b8ac51" },
        "handler": "stop-instance",
        "message": "PUT https://api-ch-gva-2.exo{...}51:stop [stop-instance] status 200"
    }
]
```

> [!NOTE]
> By default, the API returns events from the past 24 hours. To see further back in time, 
> [the API accepts `from` and `to` parameters](https://community.exoscale.com/reference/api/audit-trail/event/index.md#list-events).

## General Events and Long term Storage

In case you are subscribed to one of the [advanced support plans](https://www.exoscale.com/support/),
every other relevant interaction with the Portal, CLI or API (e.g.: listing events)
will be packed together along with the *Mutations* and saved into (gzipped) compressed
JSON files.

These files will be daily uploaded into a bucket on your SOS account, which
is automatically created after the subscription, named in the form
`audit-trail-UUID` with the following structure:

```bash
[BUCKET]/[ORIGIN-ZONE]/[YEAR]/[MONTH]/[DAY]/exo.audit-trail.fct.full.[OPAQUE-IDENTIFIER].json.gz
```

```bash
exo storage list sos://audit-trail-0bf52c2d-61f8-361f-b7f8-6c5f813d3413
```

Output:
```bash 
2023-11-03 08:00:31 UTC 1 KiB at-vie-1/2023/11/03/exo.audit-trail.fct.full.0+5+0154505875.json.gz
2023-11-03 08:00:32 UTC 1 KiB at-vie-1/2023/11/03/exo.audit-trail.fct.full.0+5+0154556675.json.gz
2023-11-03 08:00:33 UTC 1 KiB at-vie-1/2023/11/03/exo.audit-trail.fct.full.0+5+0154573530.json.gz
2023-11-04 08:00:12 UTC 1 KiB at-vie-1/2023/11/04/exo.audit-trail.fct.full.0+5+0155319930.json.gz
2023-11-04 08:00:13 UTC 1 KiB at-vie-1/2023/11/04/exo.audit-trail.fct.full.0+5+0155370070.json.gz
```

Events hold enough information about the origin, owner and resource
they are referring to. Therefore, event shapes vary depending on the
entity they relate to.

> [!NOTE]
> Exoscale's Audit-Trail component only appends data to your SOS bucket. Although
> object sizes are unlikely to have significant billing impact, expiration of old
> data is left to you for scheduling according to your needs.

---

url: https://community.exoscale.com/platform/ip-ranges/

---

# IP Address Ranges

Exoscale publishes its current IP address ranges or prefixes in JSON format. This file is officially
maintained and updated whenever we launch a new zone or introduce a new service.

We publish these IP address ranges so users can use the IP ranges and definitions in their configuration to
improve security, or optimize traffic paths if applicable.

## Accessing the resource

The file is published on the Exoscale SOS as
[exoscale-prefixes.json](https://exoscale-prefixes.sos-ch-dk-2.exo.io/exoscale_prefixes.json)

It contains both public IPv4 and IPv6 ranges currently in use by Exoscale.

## File syntax

The Exoscale prefixes file for the IP ranges is structured as follows:

```bash
{
  "creationTime": "2021-11-08T15:07:09.760100+00:00",
  "prefixes": [
    {
      "IPv4Prefix": "89.145.160.0/22",
      "zone": "de-fra-1"
    },
    ...
```

* creationTime: indicates when the file was generated. The file is always overwritten. If you need
    to access a previous version, save successive versions of the .json file on your system.
* Prefixes: contains the array of either IPv4 or IPv6 ranges in use.
* IPv4Prefix or IPv6Prefix: CIDR notation of IP ranges
* zone: technical name of the Exoscale zone the prefix is associated to. The list of
    datacenter zones can be obtained from our [website](https://www.exoscale.com/datacenters/)
    or via the `exo` command-line like below

```bash
exo zone
```

Output:

```bash
┼──────────┼
│   NAME   │
┼──────────┼
│ at-vie-1 │
│ at-vie-2 │
│ bg-sof-1 │
│ ch-dk-2  │
│ ch-gva-2 │
│ de-fra-1 │
│ de-muc-1 │
┼──────────┼
```

## Additional information

The prefixes can be consumed and used as sources in various
configuration elements, and the [jq](https://stedolan.github.io/jq/)
is a handy processor to manage JSON data from the command line.

The information is also available as the RFC 8805 format from the IETF. See the [geofeed](https://exoscale-prefixes.sos-ch-dk-2.exo.io/exoscale_geofeed).

---

url: https://community.exoscale.com/platform/dc-zones/

---

# Data Center Zones

Exoscale uses zones to geographically distinguish locations. An Exoscale zone is:

* identified by a country code: CH, DE,...
* hosted in a physical datacenter facility
* each facility can be comprised of several rooms or buildings

## Building around the zone concept

At Exoscale, zones are independant from one another. This means a failure in a specific zone and
service has no impact on the other zones.

Most items are attached to a single zone only: a compute instance, an
object storage bucket, private network, NLB, EIP,...
Only a few items span globally: API key and security group

## Zone types

Exoscale has 2 zone types:

- General purpose
- Restricted

### General purpose zones

The list of datacenter zones can be obtained from our [website](https://www.exoscale.com/datacenters/)
    or via the `exo` command-line like below

```bash
exo zone
```

Output:

```bash
┼──────────┼
│   NAME   │
┼──────────┼
│ at-vie-1 │
│ at-vie-2 │
│ bg-sof-1 │
│ ch-dk-2  │
│ ch-gva-2 │
│ de-fra-1 │
│ de-muc-1 │
│ hr-zag-1 │
┼──────────┼
```

Currently eight data centers are fully available for new workloads.
A new data center zone in Madrid, Spain, is coming soon.

The table lists all data centers including region and slug for use in API and CLI.


| Data Center | Region | Slug |
| :--- | :--- | :--- |
| AT-VIE-1 | Vienna, Austria | at-vie-1 |
| AT-VIE-2 | Vienna, Austria | at-vie-2 |
| BG-SOF-1 | Sofia, Bulgaria | bg-sof-1 |
| CH-DK-2 | Zurich, Switzerland | ch-dk-2 |
| CH-GVA-2 | Geneva, Switzerland | ch-gva-2 |
| DE-FRA-1 | Frankfurt, Germany | de-fra-1 |
| DE-MUC-1 | Munich, Germany | de-muc-1 |
| HR-ZAG-1 | Zagreb, Croatia | hr-zag-1 |


### Restricted zones

A restricted zone is a zone which is not available by default to all Exoscale organizations. This
limitation arises from a number of possible reasons: not yet in production, out of capacity, exceeds
its environmental limits for electricity or cooling or limited to a specific usage e.g. governement
workloads.

Access to a restricted zone can be provided via [support](https://portal.exoscale.com/tickets) request or via engagement with an Exoscale
Cloud Architect. The current restricted zone list is as follow:

| Data Center | Region | Slug |
| --------------- | ----------------------- | ------------ |
| None | None | - |

---

url: https://community.exoscale.com/platform/compliance/

---

# Compliance

## Overview

Exoscale operates a comprehensive Information Security Management System (ISMS) aligned with international standards and independently audited on a regular basis. Our compliance framework is designed to provide customers with transparency and assurance regarding the confidentiality, integrity, and availability of their data.

Exoscale has been **ISO/IEC 27001 certified since 2018** and continuously extends its certification perimeter and assurance portfolio. We maintain compliance with the latest versions of the applicable standards.

## Third-Party Certifications

| Framework | Description | Type | Latest Revision |
| ----------- | ------------- | ------ | ----------------- |
| **ISO/IEC 27001** | Information Security Management System | Certification | 2022 |
| **ISO/IEC 27017** | Security controls for cloud services | Certification | 2022 |
| **ISO/IEC 27018** | Protection of Personally Identifiable Information (PII) in public clouds | Certification | 2022 |
| **SOC 2 Type 2** | Attestation over the design and operating effectiveness of controls based on AICPA Trust Services Criteria | Attestation (Type 2) | Reporting period: May 1st – May 1st |
| **BSI C5 Type 2** | German Cloud Computing Compliance Criteria Catalogue (C5:2020) | Attestation (Type 2) | Reporting period: May 1st – May 1st |
| **HDS** | French health data hosting certification (*hébergement de données de santé*) | Certification | Scope: 1–4 and 6 |
| **TISAX Level 2** | Trusted Information Security Assessment Exchange for the automotive industry | Assessment | Available to registered partners on the ENX portal |

All certifications and attestations are performed by accredited third-party auditors. The full set of certificates and reports can be accessed from the **Compliance Center** in the Exoscale Portal (see below).

## Compliance Center

The **Compliance Center** is available to all registered Exoscale customers directly from the [Exoscale Portal](https://portal.exoscale.com/).  
It provides self-service access to the latest compliance documentation once a **Non-Disclosure Agreement (NDA)** has been accepted electronically.

Available documentation includes:

- ISO/IEC 27001, 27017, and 27018 certificates  
- SOC 2 Type 2 and BSI C5 Type 2 reports  
- Exoscale Compliance Statement  
- Green energy certificates for our regions  
- Third-party compliance data from data center operators  
- HDS and TISAX certificates  
- Additional environmental and regulatory disclosures

![](compliance_center.png "The Exoscale Compliance Center")


The Compliance Center ensures that customers can independently verify Exoscale’s compliance posture and access all relevant supporting documentation under confidentiality.

## Support for Regulated Industries

Exoscale supports customers operating in **regulated industries** that must demonstrate compliance with specific legal and regulatory frameworks.  
Our security and governance controls are designed to help customers meet the requirements of regulations such as:

- **HIPAA** (Health Insurance Portability and Accountability Act – United States)  
- **FINMA Circular 2018/3** on outsourcing (Switzerland)  
- **DORA** (Digital Operational Resilience Act – EU Regulation 2022/2554)

Through tailored contractual arrangements, Exoscale can provide the necessary guarantees to support customers’ regulatory obligations related to data protection, operational resilience, and third-party risk management.

Customers who require enhanced assurances or specific contractual terms can **contact our Support team** to discuss available options.

## Data Center Operators

Exoscale relies on trusted partners to operate its regional data centers. Each facility meets stringent physical and procedural security requirements.  
Data center operators must hold, at a minimum, **ISO 9001:2015** and **ISO/IEC 27001:2022** certifications covering access control, operational security, and facility management.

| Data Center | Region | Slug | Operator |
| :--- | :--- | :--- | :--- |
| AT-VIE-1 | Vienna, Austria | `at-vie-1` | A1 Telekom Austria Group |
| AT-VIE-2 | Vienna, Austria | `at-vie-2` | A1 Telekom Austria Group |
| BG-SOF-1 | Sofia, Bulgaria | `bg-sof-1` | A1 Telekom Austria Group |
| CH-DK-2 | Zurich, Switzerland | `ch-dk-2` | Equinix |
| CH-GVA-2 | Geneva, Switzerland | `ch-gva-2` | Equinix |
| DE-FRA-1 | Frankfurt, Germany | `de-fra-1` | Equinix |
| DE-MUC-1 | Munich, Germany | `de-muc-1` | Equinix |
| HR-ZAG-1 | Zagreb, Croatia | `hr-zag-1` | A1 Telekom Austria Group |

All data centers implement modern security controls for physical access, environmental monitoring, and redundant power and connectivity. Exoscale regularly reviews its suppliers’ compliance posture as part of its ISMS.

## Continuous Improvement

Exoscale continuously reviews and improves its security and compliance programs to meet evolving international standards, regulatory requirements, and customer expectations.  
Our integrated management approach ensures consistent application of best practices across all regions and services.

---

For questions regarding compliance, certifications, or to request specific documentation, please contact our [Support team](mailto:compliance@exoscale.com).

## More Information

- [Hosting Health Data ](https://community.exoscale.com/platform/compliance/health-data/index.md) - Learn how you can host Health Data on Exoscale while staying compliant with international regulations.
- [Shared Responsability Model](https://community.exoscale.com/platform/compliance/shared-responsability-model/index.md) - Learn how security and compliance in the cloud are a shared responsibility between the provider and its customers.
- [Data Processing Addendum](https://community.exoscale.com/platform/compliance/dpa/index.md) - Review and accept Exoscale's GDPR-compliant Data Processing Addendum (DPA) in our portal to ensure secure, compliant data processing—download a timestamped PDF.
- [Microsoft Licensing](https://community.exoscale.com/platform/compliance/license-mobility/index.md) - Use your existing Microsoft licenses on Exoscale with License Mobility and QMTH. Submit your agreement to host Windows VMs and Office 365 E3/E5 securely.

---

url: https://community.exoscale.com/platform/compliance/health-data/

---

# Hosting Health Data

## Overview

At **Exoscale**, we recognize that health data is among the most sensitive categories of information our customers may process. We therefore apply **the highest standards of confidentiality, integrity, and availability** to the infrastructure and services that host such data.

Our security and compliance framework is designed to meet or exceed the requirements of **European and international regulations governing health data**, including:

* **HDS certification** (France) – for hosting health data under Article L.1111-8 of the French Public Health Code
* **BSI C5 Type 2 attestation** – ensuring conformity with the German Federal Office for Information Security (BSI) Cloud Computing Compliance Controls Catalogue
* **HIPAA alignment (USA)** – through a dedicated **Business Associate Subcontractor Agreement (BASA)**, available for customers processing *Protected Health Information (PHI)* under U.S. HIPAA and HITECH regulations

This page summarizes the principles, certifications, and contractual mechanisms that enable health-sector organizations to confidently use Exoscale's European cloud for regulated workloads.

For the detailed representation of HDS guarantees, please see our dedicated page:
* [HDS Guarantees Representation (English)](https://community.exoscale.com/platform/compliance/health-data/hds-guarantees/index.md)


## Our Core Principles for Hosting Health Data

1. **Data Sovereignty within Europe**

   * All Exoscale zones are located **exclusively within the European Economic Area (EEA)**.
   * Customers can select the specific region for their workloads (e.g. CH, DE, AT).
   * Exoscale commits not to transfer or replicate health data outside the selected region unless expressly instructed by the customer or required by law.

2. **Defense-in-Depth Security Architecture**

   * Security controls are aligned with **ISO/IEC 27001**, **SOC 2 Type II**, and **HDS** standards.
   * All data is **encrypted in transit (TLS)** and **at rest**, with **key management under Exoscale or customer control**.
   * Administrative access to systems that could contain health data is strictly **least-privilege, multi-factor protected, time-bound, and logged**.

3. **Transparency and Shared Responsibility**

   * Customers retain control over their virtual machines, applications, and encryption keys.
   * Exoscale provides a transparent **Shared Responsibility Matrix** in its DPA and HDS appendices.
   * Detailed **subprocessor information** (e.g. Equinix, A1 Telekom Austria, Aiven Oy) is publicly available.

4. **Incident Response and Breach Notification**

   * Security incidents impacting health data are managed under our **centralized Security Operations process**.
   * Notifications are made without undue delay in accordance with **GDPR Articles 33–34**, **HDS requirements**, or **HIPAA 45 CFR 164.410**, as applicable.

5. **Auditability and Continuous Assurance**

   * Exoscale maintains third-party **audit reports** (HDS, ISO/IEC 27001, SOC 2 Type 2, C5 Type 2).
   * Customers may request summaries or perform audits under the terms of the **Data Processing Agreement (DPA)** or **HDS Addendum**.


## Certifications and Regulatory Alignment

### 🇫🇷 **France – HDS Certification**

Exoscale is certified as a **Health Data Hosting Provider (Hébergeur de Données de Santé, HDS)** under Article L.1111-8 of the *French Public Health Code*.
This certification ensures that Exoscale meets the stringent requirements for hosting personal health data, including governance, access control, business continuity, and subcontractor management.

**Scope of certification:**

* (1) Physical hosting sites
* (2) Physical infrastructure
* (3) Virtual infrastructure
* (4) Application hosting platform
* (6) Outsourced backups

**Hosting locations under HDS certification:**

* **Germany (DE):** Equinix Frankfurt, Equinix Munich
* **Austria (AT):** A1 Telekom Austria, Vienna

Detailed public representation of guarantees ("Représentation des garanties HDS") is maintained in [our dedicated publication](https://community.exoscale.com/platform/compliance/health-data/garanties-hds-fr/index.md) and updated periodically according to the **HDS 2024 v2 framework (EXI 28–31)**.

> **Contractual prerequisite:** customers requiring HDS guarantees must contact the Exoscale compliance team to sign an additional addendum specifying the HDS roles, responsibilities, and safeguards, as required by the *French Public Health Code* (Code de la Santé Publique). This addendum complements the standard Data Processing Agreement (DPA) and is necessary to formally activate the HDS guarantees described on this page.
>
> To initiate the process, contact us at [security@exoscale.com](mailto:security@exoscale.com).


### 🇩🇪 **Germany – BSI C5 Type 2 Attestation**

Exoscale holds a **BSI C5 Type 2 attestation**, demonstrating that its information security controls comply with the **Cloud Computing Compliance Controls Catalogue (C5)** established by the German Federal Office for Information Security (BSI).

This framework ensures:

* Transparent data processing practices
* Comprehensive logging and auditability
* Adherence to ISO/IEC 27001 and SOC 2 aligned controls
* Documented evidence of control effectiveness over a defined audit period

As a result, Exoscale is suitable for hosting workloads subject to **German healthcare data protection regulations** and other critical sectors governed by C5 compliance.

### 🇺🇸 **HIPAA and HITECH (on-demand)**

For U.S. customers or international organizations handling **Protected Health Information (PHI)** under HIPAA, Exoscale offers a **Business Associate Subcontractor Agreement (BASA)** that complements the existing **Data Processing Agreement (DPA)**.

This agreement:

* Incorporates the requirements of **45 C.F.R. Parts 160 & 164**, including the Privacy, Security, and Breach Notification Rules.
* Clarifies that Exoscale provides **infrastructure-level services only** and does not process PHI at the application layer.
* Details access controls, encryption, incident notification timelines, and subcontractor transparency.
* Enables BA/Exoscale relationships to remain compliant with **HIPAA's "satisfactory assurances"** obligations.


## Subcontractors and Data Residency

| Role | Entity | Country | Function | Certifications / Safeguards |
| --------------------------- | ------------------------ | ------- | ---------------------------------------- | ----------------------------------------- |
| Data center operator | Equinix | CH / DE | Site facilities and utilities | ISO/IEC 27001, PCI DSS, SOC 2 |
| Data center operator | A1 Telekom Austria Group | AT / BG | Site facilities and utilities | ISO/IEC 27001, ISO 9001 |
| DBaaS orchestration partner | Aiven Oy | FI | Control-plane orchestration, maintenance | ISO/IEC 27001, GDPR SCCs where applicable |

All subprocessors operate **within the EEA or Switzerland**, and all access is **time-bound, MFA-protected, logged, and contractually restricted**.
No data transfers occur outside the EEA unless (a) required by law, (b) based on an EU adequacy decision, or (c) supported by Standard Contractual Clauses (SCCs) with appropriate supplementary measures.


## Customer Responsibilities

Exoscale provides the secure infrastructure and control-plane environment; customers are responsible for:

* Application-level and OS-level security configuration
* Management of access credentials and encryption keys
* Backup and restoration configuration for self-managed workloads
* Ensuring compliance of their own data processing activities with applicable law (e.g. GDPR, HIPAA, or HDS)


## Audits and Transparency


Customers hosting health data can rely on Exoscale's compliance framework and supporting documentation to **demonstrate their own compliance obligations**.  
Exoscale provides several mechanisms to facilitate auditability and transparency:

- **Audit Rights:**  
  Customers are contractually granted an audit right as defined in the **Data Processing Agreement (DPA)**.  
  For specific regulated use cases, this may be further detailed in a dedicated **addendum** to ensure with health data specific regulatory requirements not covered by our regular personal data protection clauses.

- **Compliance Center:**  
  Exoscale maintains a self-service **Compliance Center**, accessible from the [Exoscale Portal](https://portal.exoscale.com/).  
  It provides on-demand access—after acceptance of a Non-Disclosure Agreement—to audit reports and certifications, including:  
  - ISO/IEC 27001, 27017, and 27018 certificates  
  - SOC 2 Type 2 and BSI C5 Type 2 reports  
  - HDS and TISAX attestations  
  - Third-party compliance information (e.g., data center operators)

These resources allow customers to independently verify Exoscale's controls and include them as part of their own **regulatory compliance evidence**.

---

url: https://community.exoscale.com/platform/compliance/health-data/hds-guarantees/

---

# Health Data Hosting (HDS) Guarantees Representation

> **Last update:** 2025-09-19
> **Scope:** Exoscale Compute (IaaS) and Exoscale DBaaS (Managed Database Services)

## Purpose

This page summarizes the **HDS guarantees** implemented by Exoscale for its **Compute** and **DBaaS** services, in line with the **HDS v2 (2024)** framework.
It is designed to help customers **prepare their own compliance** efforts and document **requirements EXI 28–31** (localization, third-country access, exposure to non-EU laws, transparency).

> The information below is for guidance purposes only. In case of discrepancies, **contractual agreements and DPA annexes prevail**.

---

**Note:** This document is also available in [French](https://community.exoscale.com/platform/compliance/health-data/garanties-hds-fr/index.md).


The table of guarantees in the format required by the regulation is available on Exoscale’s Compliance Center: [https://portal.exoscale.com/organization/legal/compliance](https://portal.exoscale.com/organization/legal/compliance).

---

## 1 — Exoscale Compute (IaaS)

### 1.1 — Region **DE** (Equinix)

| Item | Value |
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Main Actor** | Exoscale SA |
| **Role** | Hosting provider (IaaS) |
| **HDS Certified** | In progress (v2) |
| **HDS Activities** | 2, 3, 4 |
| **EXI 29 – Access from third countries** | **Yes — remote administration access may occur from Switzerland (non-EEA), with safeguards (GDPR Art. 45)** |
| **EXI 30 – Non-EU law exposure** | Yes (residual risk controlled) |

| Item | Value |
| ------------------ | ---------------------------------------------------- |
| **Sub-processor** | Equinix (local DE entities) |
| **Role** | Physical site provider |
| **HDS Activities** | 1 |
| **EXI 29** | No (no remote access to HDS health data) |
| **EXI 30** | Yes (potential, controlled – non-EU group ownership) |

**Risk reduction measures:**

* **Health data storage remains exclusively within the EEA** for EEA regions (EXI 28).
* Operations performed from Switzerland are treated as **remote access** (EXI 29) and **do not imply storage outside the EEA**.
* Legal basis: **European Commission adequacy decision for Switzerland (GDPR Art. 45)**.
* Administrative access is performed through an **encrypted private network** (VPN, including Tailscale), with **strong authentication (MFA)**.
* **Controlled operator access**: bastions, **PAM**, least privilege, and segregation of duties.
* **Traceability**: centralized logging of administrative access and actions (identity, source, timestamps), security monitoring, and retention per internal policies.
* **Exfiltration prevention controls**: access restrictions, intervention procedures, regular access reviews, and internal compliance checks.
* Equinix services are **site utilities only** (power, cooling, racks) – no data access.

> **Important (encryption):** Exoscale implements encryption in transit and appropriate at-rest protection mechanisms depending on the service. The Customer remains responsible for any additional application-level encryption required by its own risk assessment, unless otherwise specified contractually.

---

### 1.2 — Region **AT** (A1 Telekom Austria)

| Item | Value |
| ------------------ | ----------------------------------------------------------------------------------------------------------- |
| **Main Actor** | Exoscale SA |
| **Role** | Hosting provider (IaaS) |
| **HDS Activities** | 2, 3, 4 |
| **EXI 29** | **Yes — remote administration access may occur from Switzerland (non-EEA), with safeguards (GDPR Art. 45)** |
| **EXI 30** | No (EU-based actor) |

| Item | Value |
| ------------------ | ---------------------------------------- |
| **Sub-processor** | A1 Telekom Austria AG |
| **Role** | Physical site provider |
| **HDS Activities** | 1 |
| **EXI 29** | No (no remote access to HDS health data) |
| **EXI 30** | No |

**Risk mitigation measures:**

* Same as DE: EEA-only storage for EEA regions, safeguarded remote admin access, encryption, segregation of duties, contractual clauses, and auditability.

---

## 2 — Exoscale DBaaS (Managed Databases)

| Item | Value |
| ------------------ | ----------------------------------------------------------------------------------------------------------- |
| **Main Actor** | Exoscale SA |
| **Role** | Managed service provider (hosting and operations) |
| **HDS Activities** | 2, 3, 4 |
| **EXI 29** | **Yes — remote administration access may occur from Switzerland (non-EEA), with safeguards (GDPR Art. 45)** |
| **EXI 30** | No |

| Item | Value |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sub-processor** | Aiven Oy |
| **Role** | Software orchestration (control plane) |
| **HDS Activities** | 4, 6 |
| **EXI 29** | **Conditional: no non-EEA access by default; if support requires access from a non-EEA country without adequacy → SCC (Art. 46) + supplementary measures, with customer information** |
| **EXI 30** | Yes (residual risk controlled) |

**Risk reduction measures:**

* **Localization (EXI 28):** DBaaS services are configured so that customer data is **stored within the EEA** when the Customer selects an EEA region.
* **Remote access governance (EXI 29):**

  * Exoscale administrative access from Switzerland relies on the **adequacy decision (GDPR Art. 45)** and is protected by strong technical/organizational controls.
  * For Aiven operations: **no non-EEA access by default**; if an intervention requires access from a non-EEA country without adequacy, Exoscale applies **appropriate safeguards (GDPR Art. 46 — SCC)** and **supplementary measures** (EDPB 01/2020) and **informs the Customer** according to contractual/DPA terms.
* **Controlled access path:** technical access only through **Exoscale bastions**, MFA, and audited logs; segmentation and strict access scoping.
* **Cryptographic protection:** encryption in transit; appropriate at-rest protection mechanisms depending on the service, with strict controls over secrets/keys access.
* **Purpose limitation:** data is used only to provide the DBaaS service; transfers outside the EEA are prohibited without a legal basis and contractual controls.
* **Data erasure and reversibility** formally defined (EXI 17–27).

---

## 3 — Common Principles

* **Localization (EXI 28):** storage remains **exclusively within the EEA** for EEA regions selected by the Customer.
* **Third-country access (EXI 29):**

  * **Switzerland:** remote administration access may occur, relying on **adequacy (GDPR Art. 45)** and safeguarded by VPN encryption, MFA, PAM, least privilege, and audit logging.
  * **Other third countries:** not permitted by default; if strictly necessary, requires **Art. 46 (SCC)** plus supplementary measures, and customer information.
* **Non-EU law exposure (EXI 30):** mitigated via contractual, technical, and organizational controls; transfer/risk mapping and mitigation measures are maintained.
* **Auditability and traceability:** auditable logging and customer audit rights as defined in the DPA.
* **Data erasure and reversibility:** formally documented and implemented.

---

## Contact

* **Exoscale HDS / CISO Contact:** [security@exoscale.com](mailto:security@exoscale.com)
* **Audit or compliance inquiries:** via your standard **Exoscale Support** channel

---

url: https://community.exoscale.com/platform/compliance/health-data/garanties-hds-fr/

---

# Représentation des garanties de l'hébergement de données de santé (HDS)

> **Dernière mise à jour :** 2025-09-19
> **Périmètre visé :** Exoscale Compute (IaaS) et Exoscale DBaaS (services managés de bases de données)

## Objectif

Cette page décrit les **garanties HDS** mises en œuvre par Exoscale pour ses offres **Compute** et **DBaaS**, conformément au **référentiel HDS v2 (2024)**.
Elle vise à aider les clients à **préparer leur propre conformité** et à documenter les exigences **EXI 28 à EXI 31** (localisation, accès depuis pays tiers, exposition à des droits extra-UE, transparence).

>  Les informations présentées ici ont une valeur informative. En cas de divergence, **les contrats et annexes DPA prévalent**.

---

**Note:** This document is also available in [English](https://community.exoscale.com/platform/compliance/health-data/hds-guarantees/index.md).

Le tableau des garanties au format exigé par la réglementation est disponible sur le Compliance Center d’Exoscale : [https://portal.exoscale.com/organization/legal/compliance](https://portal.exoscale.com/organization/legal/compliance).

---

## 1 — Exoscale Compute (IaaS)

### 1.1 — Région **DE** (Equinix)

| Élément | Valeur |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------- |
| **Acteur principal** | Exoscale SA |
| **Rôle** | Hébergeur (IaaS) |
| **Certifié HDS** | En cours (v2) |
| **Activités HDS** | 2, 3, 4 |
| **EXI 29 – Accès depuis pays tiers** | **Oui — accès d’administration à distance possible depuis la Suisse (hors EEE), encadré (art. 45 RGPD)** |
| **EXI 30 – Droit extra-UE** | Oui (risque résiduel maîtrisé) |

| Élément | Valeur |
| ----------------- | ---------------------------------------------------- |
| **Sous-traitant** | Equinix (filiales locales DE) |
| **Rôle** | Fourniture des sites physiques |
| **Activités HDS** | 1 |
| **EXI 29** | Non (pas d’accès à distance aux DSCP) |
| **EXI 30** | Oui (risque maîtrisé – appartenance à groupe non-UE) |

**Mesures de réduction de risque :**

* **Stockage des DSCP exclusivement dans l’EEE** pour les zones EEE (EXI 28).
* Les opérations d’administration / support réalisées depuis la Suisse sont des **accès à distance** (EXI 29) qui **n’impliquent pas de transfert de stockage** hors EEE.
* Base juridique : **décision d’adéquation (art. 45 RGPD) applicable à la Suisse**.
* Accès d’administration via **réseau privé chiffré** (VPN, incluant Tailscale), avec **authentification forte (MFA)**.
* **Accès opérateur contrôlé** : bastions, **PAM**, principes du moindre privilège, séparation des rôles.
* **Traçabilité** : journalisation centralisée des accès et actions d’administration (horodatage, identité, origine), supervision sécurité et conservation selon politiques internes.
* **Contrôles de prévention d’exfiltration** : restrictions d’accès, procédures d’intervention, revues régulières d’habilitations, et contrôles de conformité internes.
* Prestation Equinix **limitée aux utilités de site** (énergie, refroidissement, baies) – aucun accès aux données.

> **Important : chiffrement** — Exoscale met en œuvre le chiffrement en transit et des mécanismes de chiffrement adaptés au repos selon les services. Le Client conserve la responsabilité de tout chiffrement applicatif supplémentaire requis par son analyse de risques, sauf mention contraire contractuelle.

---

### 1.2 — Région **AT** (A1 Telekom Austria)

| Élément | Valeur |
| -------------------- | -------------------------------------------------------------------------------------------------------- |
| **Acteur principal** | Exoscale SA |
| **Rôle** | Hébergeur (IaaS) |
| **Activités HDS** | 2, 3, 4 |
| **EXI 29** | **Oui — accès d’administration à distance possible depuis la Suisse (hors EEE), encadré (art. 45 RGPD)** |
| **EXI 30** | Non (acteur de droit UE) |

| Élément | Valeur |
| ----------------- | ------------------------------------- |
| **Sous-traitant** | A1 Telekom Austria AG |
| **Rôle** | Fourniture des sites physiques |
| **Activités HDS** | 1 |
| **EXI 29** | Non (pas d’accès à distance aux DSCP) |
| **EXI 30** | Non |

**Mesures appliquées :**

* Identiques à celles décrites pour DE (EEE-only pour le stockage, accès admin distant encadré, chiffrement, segmentation, clauses contractuelles, auditabilité).

---

## 2 — Exoscale DBaaS (services managés de bases de données)

| Élément | Valeur |
| -------------------- | -------------------------------------------------------------------------------------------------------- |
| **Acteur principal** | Exoscale SA |
| **Rôle** | Fournisseur de service managé (hébergeur) |
| **Activités HDS** | 2, 3, 4 |
| **EXI 29** | **Oui — accès d’administration à distance possible depuis la Suisse (hors EEE), encadré (art. 45 RGPD)** |
| **EXI 30** | Non |

| Élément | Valeur |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Sous-traitant** | Aiven Oy |
| **Rôle** | Exploitation logicielle (plan de contrôle) |
| **Activités HDS** | 4, 6 |
| **EXI 29** | **Oui — accès à distance possible selon les besoins de support ; encadrement art. 45/46 RGPD + mesures complémentaires** |
| **EXI 30** | Oui (risque résiduel maîtrisé) |

**Mesures appliquées :**

* **Localisation (EXI 28)** : Exoscale configure les services DBaaS pour que les données soient **stockées dans l’EEE** lorsque le Client choisit une région EEE.
* **Encadrement des accès à distance (EXI 29)** :

  * Accès d’administration Exoscale possible depuis la Suisse, fondé sur **l’adéquation (art. 45 RGPD)**.
  * Pour les interventions Aiven : **pas d’accès hors EEE par défaut** ; en cas de besoin opérationnel impliquant un accès depuis un pays hors EEE ne bénéficiant pas d’une décision d’adéquation, Exoscale applique des **garanties appropriées (art. 46 RGPD — SCC)** et des **mesures complémentaires** (EDPB 01/2020), et **informe le Client** selon les modalités contractuelles/DPA.
* **Chaîne d’accès maîtrisée** : accès technique via **bastions Exoscale**, MFA, logs audités ; segmentation des environnements et restrictions d’habilitations.
* **Protection cryptographique** : chiffrement en transit ; mécanismes de chiffrement adaptés au repos selon le service, avec contrôles d’accès stricts aux secrets/clefs.
* Données utilisées **uniquement pour la fourniture du service** ; interdiction de transfert hors EEE sans base juridique et contrôle contractuel.
* Processus formalisé d'effacement et de réversibilité (EXI 17–27).

---

## 3 — Lignes directrices communes

* **Localisation (EXI 28)** : stockage exclusivement **dans l'EEE** pour les zones EEE sélectionnées par le Client.
* **Accès depuis pays tiers (EXI 29)** :

  * **Suisse** : accès d’administration à distance possible, encadré par **l’adéquation (art. 45 RGPD)** et des mesures de sécurité (VPN chiffré, MFA, PAM, moindre privilège, traçabilité).
  * **Autres pays tiers** : non autorisé par défaut ; si nécessaire, encadrement **art. 46 (SCC)** + mesures complémentaires, avec information du Client.
* **Droits extra-UE (EXI 30)** : contrôles contractuels, techniques et organisationnels ; cartographie des risques et mesures d’atténuation.
* **Traçabilité** : journalisation auditable, supervision sécurité, et droits d'audit client (selon DPA).
* **Effacement et réversibilité** : formalisation complète, effacement certifié selon les procédures applicables.

---

## Contact

* **Référent HDS / CISO Exoscale** : [security@exoscale.com](mailto:security@exoscale.com)
* **Demandes d'audit ou compléments** : via votre canal de **support Exoscale**

---

url: https://community.exoscale.com/platform/compliance/shared-responsability-model/

---

# Shared Responsibility Model

## Overview

Security and compliance in the cloud are a **shared responsibility** between **Exoscale** and its **customers**.  
While Exoscale ensures the security **of the cloud**—the infrastructure, platform services, and managed components—customers are responsible for the security **in the cloud**, meaning how they configure, deploy, and manage their own environments and data.

The objective of this model is to provide clarity about which party is accountable for which controls, ensuring that all security and compliance requirements are properly addressed.

This model applies to:

- **IaaS services** (Compute, Object Storage, Private Networks, etc.)
- **DBaaS services** (managed PostgreSQL, MySQL, Kafka, Valkey, etc.)


## 1. Responsibility Split

### Exoscale Responsibilities

Exoscale is responsible for securing and maintaining the **underlying infrastructure**, including:

- **Physical security** of data centers and network infrastructure  
- **Virtualization and orchestration layers** used to provision resources  
- **Platform-level identity and access management**, including console and API access  
- **Core service availability**, redundancy, and disaster recovery  
- **Encryption of data at rest** in managed layers (e.g., Object Storage, DBaaS volumes)  
- **Vulnerability management and patching** of the platform and managed services  
- **Monitoring and logging** of the platform environment for operational and security events  
- **Regulatory compliance** of the infrastructure (ISO 27001, SOC 2, C5, HDS, etc.)

### Customer Responsibilities

Customers are responsible for securing and managing the **resources they control**, such as:

- **Configuration and operation** of virtual machines, containers, and applications  
- **Classification, protection, and lawful processing** of their data  
- **Implementation of encryption** within applications and databases (including field-level or client-side)  
- **Network design and access controls** within their Virtual Private Networks.
- **User and role management** within their tenant and workloads  
- **Logging and monitoring** of their applications, guest OS, and user activities  
- **Backup and restoration** of their data (IaaS)
- **Compliance with applicable legal and regulatory requirements**, such as GDPR or sector-specific laws


## 2. Managed Service (DBaaS) Context

For managed services like **Exoscale DBaaS**, Exoscale operates part of the service in partnership with **Aiven**, an ISO 27001-certified provider.  
Exoscale and Aiven are jointly responsible for the **security of the managed service platform**, while customers remain responsible for **how they use the service**—including schema design, data protection, and access control within their databases.

All DBaaS instances are hosted **within Exoscale infrastructure** and **within the EEA or Switzerland**, in line with Exoscale’s data residency commitments.


## 3. Shared Responsibility Matrix (SRM)

The following matrix summarizes the division of responsibilities across control domains for both IaaS and DBaaS (PaaS) environments.

| Control Domain | IaaS (Customer) | IaaS (Exoscale) | PaaS/DBaaS (Customer) | PaaS/DBaaS (Exoscale/Aiven) |
| :---- | :---- | :---- | :---- | :---- |
| Data classification & app-layer access | **Customer** | – | **Customer** | – |
| Encryption **in transit** | **Customer** (workloads) | **Exoscale** (platform) | **Customer** (client→service) | **Exoscale/Aiven** (service endpoints) |
| Encryption **at rest** | **Customer** (VM guest/app layer; CMKs where supported) | **Exoscale** (object storage layer only) | **Customer** (app schema/field-level) | **Exoscale/Aiven** (volumes and backup) |
| Key management | **Customer** (CMK/HYOK where available) | **Exoscale** (platform keys, object storage encryption key) | **Customer** | **Aiven/Exoscale** (service keys; CMK options per service) |
| IAM within tenant | **Customer** | – | **Customer** | – |
| Platform IAM, SSO for console/API | – | **Exoscale** | – | **Exoscale** |
| Network security (PrivNet, SGs, WAF in-tenant) | **Customer** | – | **Customer** | – |
| Perimeter/DC physical security | – | **Exoscale/Providers** | – | **Exoscale/Providers** |
| Vulnerability mgmt (guest/containers) | **Customer** | – | **Customer** | – |
| Vulnerability mgmt (platform/services) | – | **Exoscale** | – | **Exoscale/Aiven** |
| Logging/monitoring (tenant workloads) | **Customer** | – | **Customer** | – |
| Platform/service logs & monitoring | – | **Exoscale** | – | **Exoscale/Aiven** |
| Backup/restore (tenant data) | **Customer** (IaaS) | – | **Customer** config | **Exoscale/Aiven** (managed backup per service) |
| BC/DR objectives (platform) | – | **Exoscale** | – | **Exoscale/Aiven** |


## 4. Practical Implications

- **Customers retain full control** of their hosted data and workloads.  
- Exoscale provides the **secure, compliant infrastructure** and ensures **operational resilience** of the underlying platform.  
- In regulated contexts (e.g. healthcare, financial services), customers can use this matrix to **demonstrate their shared compliance posture**.  
- The model supports frameworks such as **ISO 27001**, **HDS**, **SOC 2**, **C5**, and **NIS2** by clarifying which controls fall within each party’s domain.


## 5. Further Information

- **Compliance Center**: access ISO, SOC 2, and C5 reports under NDA  
- **Data Processing Agreement (DPA)**: defines audit rights and subcontracting conditions  
- **Contact:** [security@exoscale.com](mailto:security@exoscale.com)

---

url: https://community.exoscale.com/platform/compliance/dpa/

---

# Data Processing Addendum

## What is a Data Processing Addendum (DPA)?

A Data Processing Addendum is a key document that the EU's GDPR
regulation requires. The GDPR compliance requires data controllers
to sign a data processing agreement with any parties that act as
data processors on their behalf. These requirements are laid out in
Article 28(3) and (4) of Regulation (EU) 2016/679 and/or
Article 29(3) and (4) of Regulation (EU) 2018/1725.

In the case of the Exoscale Cloud Platform, Exoscale may act
as a processor depending on what data you as an Exoscale IaaS and PaaS
user are processing on the platform, in which case you
act as a controller of the data.

## How to review our Data Processing Addendum (DPA)

You can find our [DPA template](https://www.exoscale.com/dpa/) which complements
our Terms and Conditions.

Login to the [Portal](https://portal.exoscale.com/organization/legal) and select
 `Organization` in the main navigation on the left. You can find information
 under the Legal section.

![](organization-menu-legal.png "Organization menu: Legal")

Here you find our **Data Processing Addendum** (or DPA) at the bottom:

![](organization-legal-dpa.png "Review DPA")

click on `Review and Accept`. A window with the DPA will appear for you to review. You can click on `Confirm` to accept.

![](dpa-window.png "DPA Window")

The DPA is now signed with a timestamp and archived. You can download a PDF copy for your records.

---

url: https://community.exoscale.com/platform/compliance/license-mobility/

---

# Microsoft Licensing

## Microsoft License Mobility

The Microsoft License Mobility process allow to use your existing Microsoft Licenses on Exoscale.

### How to benefit
In order to use your own Microsoft licenses on Exoscale, you need to complete the License Mobility process through Microsoft Software Assurance available [on Microsoft Licensing Programs page](https://www.microsoft.com/en-us/licensing/licensing-programs/software-assurance-license-mobility?activetab=software-assurance-license-mobility-pivot%3aprimaryr2)

After you have completed the procedure and have your License Mobility agreement, you can use the form below to provide us with the necessary information so we can submit your data to be verified by Microsoft.

Please submit one request per Mobility agreement that you hold.

It is your responsibility to comply with Microsoft terms and conditions when using its own Microsoft licensed software.

If you do not have a mobility agreement for an SQL Server, you can use the official PAYG licensed templates that we have available.


## Microsoft Qualified Multitenant Hoster Program (QMTH)

The Qualified Multitenant Hoster (QMTH) Program authorizes qualified third-party hosting service providers to host customers’ Windows instances (also known as virtual machines) via Microsoft Cloud Agreement subscription or Microsoft Volume Licensing on multitenant hardware. The program also authorizes these third-party hosting service providers to host Office 365 ProPlus (including E3 and E5), Project Online Professional, and Visio Pro for Office 365 in shared computer activation (SCA) mode.

You can find more details on the [Microsoft Licensing Programs](https://www.microsoft.com/en-us/licensing/licensing-programs/software-assurance-license-mobility?activetab=software-assurance-license-mobility-pivot%3aprimaryr2) page.

## O365-plans eligible for using in our infrastructure

You will need to submit the report to Microsoft if you use one of the following services on Exoscale:

Office 365 ProPlus/Microsoft Apps for Enterprise is included in:

- Standalone plan
- Office 365 - E3 plan
- Office 365 - E5 plan
- Microsoft 365 - E3 plan
- Micorosoft 365 - E5 plan

After you have completed the procedure and have your License Mobility agreement, you can use the form below to provide us with the necessary information so we can submit your data to be verified by Microsoft.

Please submit one request per Microsoft Tenant ID.

---

url: https://community.exoscale.com/platform/sla/

---

# Service Level Agreements

- [Overview](https://community.exoscale.com/platform/sla/overview/index.md) - SLA overview for all products and services.
- [Portal SLO](https://community.exoscale.com/platform/sla/portal-slo/index.md) - 99.95% uptime target
- [API SLO](https://community.exoscale.com/platform/sla/api-slo/index.md) - 99.95% uptime target

---

url: https://community.exoscale.com/platform/sla/overview/

---

# Overview

We provide comprehensive service-level agreements (SLAs) for all our cloud infrastructure. Our commitment includes 99.95% to 99.99% uptime guarantees depending on the service, across all European zones, with transparent availability metrics and automated service credits for any downtime.

### Products Service-Level Agreements (SLAs)

- [Compute Instances SLA](https://community.exoscale.com/product/compute/instances/service-boundaries/sla/index.md) - 99.95% uptime guarantee
- [SKS SLA](https://community.exoscale.com/product/compute/containers/service-boundaries/sla/index.md) - 99.95% uptime guarantee
- [DBaaS SLA](https://community.exoscale.com/product/dbaas/service-boundaries/sla/index.md) - 99.99% uptime guarantee
- [SOS SLA](https://community.exoscale.com/product/storage/object-storage/service-boundaries/sla/index.md) - 99.95% uptime guarantee
- [Block Storage SLA](https://community.exoscale.com/product/storage/block-storage/service-boundaries/sla/index.md) - 99.95% uptime guarantee
- [DNS SLA](https://community.exoscale.com/product/networking/dns/service-boundaries/sla/index.md) - 99.65% uptime guarantee
- [CDN SLA](https://community.exoscale.com/product/networking/cdn/service-boundaries/sla/index.md) - 99.95% uptime guarantee
- [NLB SLA](https://community.exoscale.com/product/networking/nlb/service-boundaries/sla/index.md) - 99.95% uptime guarantee
- [EIP SLA](https://community.exoscale.com/product/networking/eip/service-boundaries/sla/index.md) - 99.95% uptime guarantee
- [Private Connect SLA](https://community.exoscale.com/product/networking/private-connect/service-boundaries/sla/index.md) - 99.5% single port / 99.99% dual port uptime guarantee
- [Support SLA](https://community.exoscale.com/product/support/sla/index.md) - Response time guarantees based on support tier

### Platform Service Level Objectives (SLOs)

- [API SLO](https://community.exoscale.com/platform/sla/api-slo/index.md) - 99.95% uptime target
- [Portal SLO](https://community.exoscale.com/platform/sla/portal-slo/index.md) - 99.95% uptime target

### Understanding Our SLA Commitments

#### What is a Downtime Period?

A Downtime Period means a period of five or more consecutive minutes of Downtime. Intermittent Downtime for a period of less than five minutes will not be counted towards any Downtime Periods.

#### What is Availability?

Availability measures the percentage of time our services remain operational and accessible to you. We express this as a "Monthly Uptime Percentage" and guarantee between 99.95% and 99.99% availability depending on the product. This means your applications and data remain accessible when you need them, with minimal interruptions.

#### What are Service Level Objectives (SLOs)?

Our SLOs define specific, measurable performance targets that underpin each service-level agreement. These objectives set clear expectations for service performance, response times, and reliability. By establishing concrete SLOs, we ensure transparency and accountability in delivering consistent cloud infrastructure performance.

#### How do Service Credits & Compensation work?

If we fail to meet our guaranteed uptime commitments, you are eligible for service credits proportional to the downtime experienced. To claim a credit, and for the full eligibility and process details, please refer to the Service Unavailability Credit section of our [Terms and Conditions](https://www.exoscale.com/terms/).

#### How is your Infrastructure designed for redundancy?

Our high-availability architecture employs multiple redundancy mechanisms including multi-zone deployment, fault domains, and automated failover systems. This robust infrastructure design ensures continuous service operation even in the event of hardware failures or maintenance activities, supporting our 99.95% uptime guarantee.

#### What are the SLA Exclusions?

Our service-level agreements do not cover downtime caused by factors outside Exoscale's control. These exclusions include scheduled maintenance windows announced in advance, force majeure events (natural disasters, acts of war, etc.), issues with third-party services or client-side infrastructure, service disruptions caused by violations of our Terms of Service, and unavailability resulting from client software, equipment, or network failures.

#### Client Responsibilities

While Exoscale is responsible for operating and maintaining the platform, Clients remain responsible for the following:

- Account and credential security
- IAM policy configuration and user management
- Compliance with Exoscale Terms of Service
- Monitoring and responding to platform notifications

For a complete explanation of the shared responsibility framework between Exoscale and Clients, please see the [Exoscale Shared Responsibility Model documentation](https://community.exoscale.com/platform/compliance/shared-responsability-model/index.md).

#### Where can I find the complete Terms and Conditions?

For complete details about our service agreements, policies, and legal terms, please refer to our [Terms and Conditions](https://www.exoscale.com/terms/).

---

url: https://community.exoscale.com/platform/sla/portal-slo/

---

# Portal SLO

## Portal Service Level Objective (SLO)

These product-specific SLOs define the Service Availability Target for the Exoscale Portal. They apply to every Client who uses the Service. Capitalised terms not defined here have the meanings given in the Exoscale Terms and Conditions or EUSA, whichever applies.

### Non-binding objectives

| Metric | Target | Definition |
| -------- | -------- | ------------ |
| Service Availability | >= 99.95% (per calendar month) | Percentage of time during a calendar month in which the Portal is reachable and can successfully respond to external connectivity requests. |

#### Nature of the Non-binding Objectives Commitment

- This provision does not constitute a legally binding obligation but rather specifies a target value that Exoscale will endeavor to achieve.
- In this case, no monetary credits or other compensation will be granted if the objective is missed.
- This is provided for transparency and capacity-planning purposes only.

### Other product specifications

For detailed product features, technical specifications, and tutorials, please refer to the [Exoscale Portal documentation](https://community.exoscale.com/platform/index.md).

---

url: https://community.exoscale.com/platform/sla/api-slo/

---

# API SLO

## API Service Level Objective (SLO)

These product-specific SLOs define the Service Availability Target for the Exoscale Application Programming Interface (API). They apply to every Client who uses the Service. Capitalised terms not defined here have the meanings given in the Exoscale Terms and Conditions or EUSA, whichever applies.

### Non-binding objectives

| Metric | Target | Definition |
| -------- | -------- | ------------ |
| Service Availability | >= 99.95% (per calendar month) | Percentage of time during a calendar month in which the API is reachable and can successfully respond to external connectivity requests. |

> **Important:** All provisioning and life-cycle actions on Exoscale resources are executed through the API (the Web Console itself relies on the same API). If the API is unavailable, you will not be able to create, modify, or delete your resources until service is restored.

#### Nature of the Non-binding Objectives Commitment

- This provision does not constitute a legally binding obligation but rather specifies a target value that Exoscale will endeavor to achieve.
- In this case, no monetary credits or other compensation will be granted if the objective is missed.
- This is provided for transparency and capacity-planning purposes only.

### Other product specifications

For detailed product features, technical specifications, and tutorials, please refer to the [Exoscale API documentation](https://openapi-v2.exoscale.com/).

---

url: https://community.exoscale.com/platform/well-architected/

---

# Well-Architected Framework

When you build on Exoscale, the decisions you make early shape how your infrastructure behaves later — under load, at audit time, and as your team grows. This framework is not a configuration guide. It is a set of questions to consider before you build, and a pointer to the right resources when you are ready to go deeper.

The [product documentation](https://community.exoscale.com/product/index.md) covers the technical implementation in full. The [pricing calculator](https://calculator.exoscale.com/) lets you model costs across any combination of services before committing. If you would like to discuss your architecture with us, [reach out](https://www.exoscale.com/contact/).

## The foundation: a landing zone

Before the first workload, a [Landing Zone](/platform/well-architected/landing-zone/index.md) sets the ground rules every workload inherits: how organizations are split and billed, who can access what, how networks are laid out, and how activity is audited. It is decided once, at the platform level, and adapted to your size and compliance requirements.

## The three pillars

Once the foundation is in place, the three pillars apply to each workload you build on it.

| Pillar | The question it answers |
| -------- | ------------------------ |
| [Security & Compliance](/platform/well-architected/security/index.md) | Who can access what, and can you demonstrate it? |
| [Reliability & Resilience](/platform/well-architected/reliability/index.md) | What happens when something fails, and how quickly do you recover? |
| [Performance & Cost](/platform/well-architected/performance/index.md) | Are your resources matched to what your business actually needs? |

## Where to start

If you are new to Exoscale, the [Quick Start](https://community.exoscale.com/platform/quick-start/index.md) and [Organization](https://community.exoscale.com/platform/organization/index.md) pages cover the platform fundamentals. If several teams or environments will share your Exoscale account, start with the Landing Zone. The pillars can then be read in any order depending on what is most pressing for your workload.

For existing customers reviewing a running setup, the Performance & Cost pillar is often the most immediately useful place to begin.

---

url: https://community.exoscale.com/platform/well-architected/landing-zone/

---

# Landing Zone

A landing zone is a set of design guidelines and baseline configurations that give your workloads a **secure, governed, and scalable foundation**. It reflects practices common on hyperscale platforms, adapted to Exoscale's simpler and sovereign approach.

A landing zone is a design guide to adapt to your size, compliance requirements, network constraints, and team structure. It takes a few weeks to set up at the start, and far longer to retrofit. Once in place, give it an owner and a backlog: a landing zone left alone gets bypassed.

## Who is it for?

- Organizations adopting Exoscale at scale that want a repeatable, consistent way to deploy workloads.
- Teams with compliance or governance requirements that need separation of duties, auditing, and security guardrails.
- Cloud architects and platform engineers building internal platforms and automation pipelines.

## Design areas

| Design area | What to decide | Start with |
| --- | --- | --- |
| Organization and billing | Isolation boundaries, billing tree, usage reporting | [Organization](https://community.exoscale.com/platform/organization/index.md), [Usage Reports](https://community.exoscale.com/platform/usage-report/index.md) |
| Identity and access | Users, roles, policies, single sign-on | [IAM](https://community.exoscale.com/product/security/iam/overview/index.md), [SSO](https://community.exoscale.com/platform/sso-auth/index.md) |
| Resource organization | Naming conventions and labels | [Labels](https://community.exoscale.com/product/compute/instances/how-to/labels/index.md) |
| Networking | Private networks, filtering, connectivity | [Private Networks](https://community.exoscale.com/product/networking/private-network/index.md), [Security Groups](https://community.exoscale.com/product/networking/security-group/index.md), [Private Connect](https://community.exoscale.com/product/networking/private-connect/index.md) |
| Security baseline | Default deny, MFA, secrets and keys | [Two-factor authentication](https://community.exoscale.com/platform/two-factor-auth/index.md), [KMS](https://community.exoscale.com/product/security/kms/index.md) |
| Monitoring and management | Observability, log collection, audit | [Audit Trail](https://community.exoscale.com/platform/audit-trail/index.md), [DBaaS](https://community.exoscale.com/product/dbaas/index.md) |
| Governance and policy | Guardrails enforced by IAM and pipelines | [IAM policies](https://community.exoscale.com/product/security/iam/how-to/policy-guide/index.md) |
| Platform automation | Infrastructure as code, CLI, CI/CD | [Terraform](https://community.exoscale.com/reference/terraform/provider/index.md), [CLI](https://community.exoscale.com/tools/command-line-interface/index.md) |
| Shared services | Bastion, CI runners, observability, state | [Object Storage](https://community.exoscale.com/product/storage/object-storage/index.md), [SKS](https://community.exoscale.com/product/compute/containers/index.md) |
| Workload landing zones | Boundaries per environment or application | [Organization](https://community.exoscale.com/platform/organization/index.md) |
| Data protection and recovery | Snapshots, backups, immutable storage | [Snapshots](https://community.exoscale.com/product/compute/instances/how-to/snapshot/index.md), [DBaaS backups](https://community.exoscale.com/product/dbaas/how-to/backups-restore/index.md) |

The questions below cover the decisions behind each area.

## Where is your isolation boundary?

On Exoscale, the [Organization](https://community.exoscale.com/platform/organization/index.md) is the unit of isolation and billing, with its own users, resources, quotas, and invoice. If the question is "can development break production?", the answer should be a separate Organization, not a label.

Organizations can form a tree up to five levels deep, with billing consolidated at the top. A common layout:

```
Root              → billing and owners only, no workloads
├── Platform      → shared services: bastion, CI runners, observability, Terraform state
├── Sandbox       → experiments, default quotas, regular cleanup
├── NonProd
│   ├── Dev
│   └── Staging
└── Prod
    ├── Prod-App  → application workloads
    └── Prod-Data → sensitive data and backups
```

Each environment is a workload landing zone with its own users, roles, and quotas. Start with the first level and add the second only when a real need appears: each Organization adds users, roles, and keys to maintain. Tree organizations are created on request by the support team.

## Who can do what, and what is the ceiling?

Exoscale [IAM](https://community.exoscale.com/product/security/iam/overview/index.md) checks every request against two policies: the Organization Policy, which applies to every user and API key, and the policy of the role in use. Both must allow it. The Organization Policy is your guardrail: limit operations to approved zones, or protect audit and backup buckets from deletion.

Policies are [CEL expressions](https://community.exoscale.com/product/security/iam/how-to/policy-guide/index.md) evaluated in order. A request that matches no rule is denied, and an invalid expression is silently skipped, so test policies in your pipeline rather than assume them. Create roles from code, the same way in every Organization.

## How do people sign in?

[Single sign-on](https://community.exoscale.com/platform/sso-auth/index.md) connects your OIDC identity provider to Exoscale. At each login, a CEL expression reads the ID token and returns the IAM role to assign, for example based on a `groups` claim. Your identity provider becomes the source of truth for access, and enforces multi-factor authentication.

SSO is configured separately for each Organization. Offboarding happens in the identity provider: an SSO user removed only on the Exoscale side is recreated at their next login. Keep two break-glass owners as standard users with [two-factor authentication](https://community.exoscale.com/platform/two-factor-auth/index.md).

## Is your baseline secure by default?

Security Groups deny all inbound traffic until you add a rule, but allow all outbound traffic until you define an outbound rule, so decide on egress deliberately. Block Storage volumes and new Object Storage buckets are encrypted at rest by default, and [KMS](https://community.exoscale.com/product/security/kms/index.md) lets you manage your own keys, with rotation and replication across zones.

Keep secrets out of code and pipeline definitions. API keys cannot be modified once created: rotate them by creating a new key and deleting the old one. Use one key per purpose, never per person, and restrict automation keys to known source IP ranges.

## How do your workloads reach each other?

[Private Networks](https://community.exoscale.com/product/networking/private-network/index.md) are layer 2 networks confined to a single zone, and [Security Group](https://community.exoscale.com/product/networking/security-group/index.md) rules do not apply to traffic inside them. Segmentation between internal services is yours to define, with host firewalls or network policies on [SKS](https://community.exoscale.com/product/compute/containers/index.md). Resilience across zones relies on replication and DNS failover. To reach your own infrastructure, use a VPN on instances or a dedicated [Private Connect](https://community.exoscale.com/product/networking/private-connect/index.md) link.

Exoscale is evolving from Private Networks to VPC-based networking, which will bring subnets, routing, and Security Groups for both public and private traffic. Plan addressing as if each Private Network were already a subnet: one non-overlapping block per zone and environment, networks split by tier rather than by application, and no hard-coded IP addresses.

## Can you tell what each resource is for, and what it costs?

A naming convention such as `<env>-<app>-<tier>` and consistent [labels](https://community.exoscale.com/product/compute/instances/how-to/labels/index.md) (environment, team, cost center) make every resource attributable. Since IAM policies can match on labels, restrict who can change them.

Billing follows the organization tree: the root receives the invoice, and each child Organization sees the usage of its own resources. [Usage details](https://community.exoscale.com/platform/usage-report/index.md) are updated every hour and available through the API. Quotas are set per Organization, which also caps what a Sandbox can spend. Model new environments in the [pricing calculator](https://calculator.exoscale.com/) before building them.

## Is everything reproducible?

Every change to the landing zone goes through code: the [Terraform provider](https://community.exoscale.com/reference/terraform/provider/index.md) for most resources, the AWS provider for Object Storage buckets, and the [CLI](https://community.exoscale.com/tools/command-line-interface/index.md) for scripts. A pipeline with review, a mandatory `plan`, and a protected `apply` is the only path to production. Store Terraform state in Object Storage with versioning enabled, and revoke the key used to bootstrap it.

## Can you see what is happening, and what happened?

Run observability as a shared service in the Platform organization. [DBaaS](https://community.exoscale.com/product/dbaas/index.md) provides managed Grafana, OpenSearch, and Thanos for dashboards, logs, and long-term metrics. On SKS, enable [Kubernetes audit logs](https://community.exoscale.com/product/compute/containers/how-to/kubernetes-audit/index.md).

The [Audit Trail](https://community.exoscale.com/platform/audit-trail/index.md) keeps 30 days of API activity by default, which rarely meets regulatory needs. Advanced support plans add a daily export to Object Storage: keep it in a bucket that application roles cannot reach.

## Can you recover?

Use [snapshots](https://community.exoscale.com/product/compute/instances/how-to/snapshot/index.md) for instances, [DBaaS backups](https://community.exoscale.com/product/dbaas/how-to/backups-restore/index.md) for databases, and [versioning and object lock](https://community.exoscale.com/product/storage/object-storage/how-to/versioning/index.md) for backups and audit logs, with [replication](https://community.exoscale.com/product/storage/object-storage/how-to/replication/index.md) to another zone where needed. Keep backups in an Organization separate from the workloads they protect, and test restores regularly.

## Adapting it to your context

Every landing zone is a starting point, not a one-size-fits-all solution. What shapes yours:

- Regulatory requirements, such as data residency and audit retention
- Scale, from a single team to multiple business units
- Your automation and DevOps toolchain
- Connectivity and hybrid cloud needs
- The security and compliance frameworks in scope

Use this page as a foundation, and adapt it to your internal standards and external requirements.

## Going deeper

- [Write IAM policies](https://community.exoscale.com/product/security/iam/how-to/policy-guide/index.md): CEL rules, bindings, and best practices
- [Shared Responsibility Model](https://community.exoscale.com/platform/compliance/shared-responsability-model/index.md): what Exoscale covers, and what remains yours
- [Support plans](https://www.exoscale.com/support/): advanced plans add detailed usage reports and the long-term Audit Trail export

---

url: https://community.exoscale.com/platform/well-architected/security/

---

# Security & Compliance

Exoscale manages the physical infrastructure, the hypervisor, and the network fabric underneath your workloads. What runs on top — how you control access, what can communicate with what, and where your data lives — is yours to design. The [Shared Responsibility Model](https://community.exoscale.com/platform/compliance/shared-responsability-model/index.md) documents this boundary clearly.

## Who can access what?

Access design starts with a straightforward question: what does each part of your system actually need to do? Granting more access than necessary is one of the most common and avoidable sources of risk — not because of attacks, but because mistakes become more consequential when permissions are broad.

Exoscale [IAM](https://community.exoscale.com/product/security/iam/index.md) lets you express access precisely. API keys can be scoped to specific operations and services, and roles can reflect the real needs of each team member or application. All API-level activity across your organisation is recorded in the [Audit Trail](https://community.exoscale.com/platform/audit-trail/index.md), giving you a clear record of who did what and when — useful both for day-to-day operations and for compliance purposes.

## What can reach what?

Network isolation is one of the most effective architectural decisions you can make early. Services that do not need to be public should not be — this limits exposure by default, without relying on any other control working correctly.

[Security Groups](https://community.exoscale.com/product/networking/security-group/index.md) control which traffic can reach your instances. [Private Networks](https://community.exoscale.com/product/networking/private-network/index.md) let your services communicate internally without ever touching the public internet. A common and sensible pattern is to expose only a load balancer publicly, while keeping application servers and databases entirely on private networks.

## What are your regulatory obligations?

If your workload handles personal data, health records, or operates in a regulated sector, zone selection and data handling are compliance decisions — not just infrastructure ones. All Exoscale zones are in Europe. Data does not leave Europe unless you move it yourself. See [Data Center Zones](https://community.exoscale.com/platform/dc-zones/index.md) for the full list of locations.

Exoscale holds ISO 27001, SOC-2, and BSI C5 certifications. A [Data Processing Addendum](https://community.exoscale.com/platform/compliance/dpa/index.md) is available for GDPR purposes. For health data specifically, see [Hosting Health Data on Exoscale](https://community.exoscale.com/platform/compliance/health-data/index.md).

## Going deeper

- [IAM overview](https://community.exoscale.com/product/security/iam/index.md) — roles, policies, and API key scoping
- [Security Groups](https://community.exoscale.com/product/networking/security-group/index.md) — stateful firewall rules for your instances
- [Private Networks](https://community.exoscale.com/product/networking/private-network/index.md) — isolated internal networking between services
- [Private Connect](https://community.exoscale.com/product/networking/private-connect/index.md) — private connectivity to external environments without using the public internet
- [Audit Trail](https://community.exoscale.com/platform/audit-trail/index.md) — organisation-wide API activity log
- [Compliance](https://community.exoscale.com/platform/compliance/index.md) — certifications, DPA, and health data documentation

---

url: https://community.exoscale.com/platform/well-architected/reliability/

---

# Reliability & Resilience

Every system fails eventually. Whether that becomes a minor disruption or a serious incident depends on decisions made before the failure — not during it.

## What is the actual cost of downtime for your business?

This is the first question to answer, because it determines everything else. An internal tool going offline for an hour is a different problem than a customer-facing service doing the same.

Two concepts help frame the conversation:

**RPO (Recovery Point Objective)** — how much data loss is acceptable, expressed as time. This drives how frequently backups need to run.

**RTO (Recovery Time Objective)** — how long the service can be down before it causes serious business impact. This drives how ready your recovery path needs to be.

There is no universally correct answer. What matters is that it is deliberate, documented, and reflected in your architecture.

## What happens when a single component fails?

Exoscale [zones are independent](https://community.exoscale.com/platform/dc-zones/index.md) — a failure in one has no effect on others. Within a zone, a single instance is a single point of failure.

[Instance Pools](https://community.exoscale.com/product/compute/instances/how-to/instance-pools/index.md) with the [Network Load Balancer](https://community.exoscale.com/product/networking/nlb/index.md) let you run multiple instances behind a shared endpoint. If one fails, the others continue serving traffic. [Anti-Affinity Groups](https://community.exoscale.com/product/compute/instances/how-to/anti-affinity/index.md) spread those instances across different physical hosts, so a hardware failure does not take more than one instance at a time.

For containerised workloads, [SKS](https://community.exoscale.com/product/compute/containers/index.md) provides a managed Kubernetes control plane with [node pool autoscaling](https://community.exoscale.com/product/compute/containers/how-to/autoscaling/index.md).

For databases, [Exoscale DBaaS](https://community.exoscale.com/product/dbaas/index.md) handles failover, patching, and backups. It covers PostgreSQL, MySQL, Valkey, Kafka, OpenSearch, and Grafana — each with a published [SLA](https://community.exoscale.com/product/dbaas/service-boundaries/sla/index.md) and documented [architecture](https://community.exoscale.com/product/dbaas/overview/index.md#architecture).

## Have you tested your recovery?

A backup never restored from is an assumption. A failover process never practiced is a plan, not a capability.

[Instance snapshots](https://community.exoscale.com/product/compute/instances/how-to/snapshot/index.md) provide point-in-time recovery for compute. [DBaaS backups and restore](https://community.exoscale.com/product/dbaas/how-to/backups-restore/index.md) covers the database side. Both should be tested, not just configured.

## Going deeper

- [Instance Pools](https://community.exoscale.com/product/compute/instances/how-to/instance-pools/index.md) — groups of identical instances that scale and self-heal
- [Anti-Affinity Groups](https://community.exoscale.com/product/compute/instances/how-to/anti-affinity/index.md) — spreading instances across physical hosts
- [Network Load Balancer](https://community.exoscale.com/product/networking/nlb/index.md) — distributing traffic and removing unhealthy instances automatically
- [NLB health checks](https://community.exoscale.com/product/networking/nlb/how-to/config-healthcheck/index.md) — how the NLB decides when an instance is ready to receive traffic
- [Snapshots](https://community.exoscale.com/product/compute/instances/how-to/snapshot/index.md) — point-in-time recovery for compute instances
- [DBaaS](https://community.exoscale.com/product/dbaas/index.md) — managed databases with built-in high availability and backups
- [SKS autoscaling](https://community.exoscale.com/product/compute/containers/how-to/autoscaling/index.md) — node pool scaling for containerised workloads
- [Data Center Zones](https://community.exoscale.com/platform/dc-zones/index.md) — zone locations and independence model

---

url: https://community.exoscale.com/platform/well-architected/performance/

---

# Performance & Cost

Exoscale resources are billed by the second. The services you run should reflect what your workload genuinely needs — both now and as it evolves. Before committing to a setup, the [pricing calculator](https://calculator.exoscale.com/) lets you model any combination of services across compute, storage, databases, networking, and support plans.

## Is your setup sized for what you actually need?

The most common avoidable inefficiency on any cloud platform is capacity provisioned at launch that is never revisited. A reasonable starting point, observed under real conditions and then adjusted, is more reliable than an estimate made upfront.

Exoscale supports [scaling instances](https://community.exoscale.com/product/compute/instances/how-to/instance-scaling/index.md) and [scaling DBaaS plans](https://community.exoscale.com/product/dbaas/how-to/scaling/index.md) without rebuilding from scratch. For workloads with variable traffic, [Instance Pools](https://community.exoscale.com/product/compute/instances/how-to/instance-pools/index.md) paired with the [Network Load Balancer](https://community.exoscale.com/product/networking/nlb/index.md) let capacity follow demand automatically. For containerised workloads, [SKS node pool autoscaling](https://community.exoscale.com/product/compute/containers/how-to/autoscaling/index.md) does the same.

## Are you using the right storage for each purpose?

[Block Storage](https://community.exoscale.com/product/storage/block-storage/index.md) is for data your instances actively read and write — OS volumes, live database files. [Object Storage (SOS)](https://community.exoscale.com/product/storage/object-storage/index.md) is for everything else: backups, logs, exports, and static assets. SOS is S3-compatible and supports cross-zone [replication](https://community.exoscale.com/product/storage/object-storage/how-to/replication/index.md) for resilience.

One thing worth noting: SOS objects accumulate until explicitly removed. [Lifecycle rules](https://community.exoscale.com/product/storage/object-storage/how-to/bucketlifecycle/index.md) let you define retention policies that handle cleanup automatically, which is much more reliable than doing it by hand.

## Can you see how your resources are being used?

Without consistent [labels](https://community.exoscale.com/product/compute/instances/how-to/labels/index.md) across your resources, attributing usage to a team, project, or environment becomes guesswork. This is straightforward to establish from the start and genuinely difficult to retrofit at scale.

[Usage Reports](https://community.exoscale.com/platform/usage-report/index.md) give you per-resource consumption data. Reviewing them periodically helps catch unexpected growth early. For a more detailed look at what is running and where, the [Audit Trail](https://community.exoscale.com/platform/audit-trail/index.md) records all API-level activity across your organisation.

## Going deeper

- [Pricing calculator](https://calculator.exoscale.com/) — model your setup before you build it
- [Scaling an instance](https://community.exoscale.com/product/compute/instances/how-to/instance-scaling/index.md) — adjust compute capacity without rebuilding
- [DBaaS plan scaling](https://community.exoscale.com/product/dbaas/how-to/scaling/index.md) — change database plan as your needs evolve
- [Instance Pools](https://community.exoscale.com/product/compute/instances/how-to/instance-pools/index.md) — automatic horizontal scaling for stateless workloads
- [Block Storage](https://community.exoscale.com/product/storage/block-storage/index.md) — persistent volumes for active workloads
- [Object Storage (SOS)](https://community.exoscale.com/product/storage/object-storage/index.md) — durable, S3-compatible storage for backups and assets
- [SOS lifecycle rules](https://community.exoscale.com/product/storage/object-storage/how-to/bucketlifecycle/index.md) — automated retention and object expiry
- [Labels](https://community.exoscale.com/product/compute/instances/how-to/labels/index.md) — tagging resources for visibility and organisation
- [Usage Reports](https://community.exoscale.com/platform/usage-report/index.md) — per-resource consumption data
- [Support plans](https://calculator.exoscale.com/support) — from built-in to enterprise, with defined SLAs

---

url: https://community.exoscale.com/platform/glossary/

---

# Glossary

Terms used across the Exoscale documentation, with links to the pages that
define and use them.

Anti-Affinity Group
: A placement rule that distributes member instances across different
  physical hypervisors, reducing the impact of a host failure.
  See the [Compute instances overview](https://community.exoscale.com/product/compute/instances/overview/index.md).

API key
: A credential attached to an IAM role, responsible for authentication when
  accessing Exoscale programmatically.
  See the [IAM quick start](https://community.exoscale.com/product/security/iam/quick-start/index.md).

DBaaS
: Exoscale's Database as a Service deploys fully managed data stores on
  demand, with enterprise-grade automation, European data residency and
  clusters with up to 99.99% uptime SLAs.
  See the [DBaaS overview](https://community.exoscale.com/product/dbaas/overview/index.md).

Dedicated Inference
: A managed AI service within the Concrete AI product suite that deploys and
  runs AI models as production-ready inference endpoints on Exoscale's
  dedicated, sovereign GPU infrastructure, exposed through an
  OpenAI-compatible API.
  See the [Dedicated Inference overview](https://community.exoscale.com/product/concrete-ai/dedicated-inference/overview/index.md).

Deploy Target
: Also called a Deployment Target; a virtual abstraction layer that lets you
  provision Compute instances onto dedicated (single-tenant) infrastructure
  using a specific Deployment Target ID, typically a pool of dedicated
  hypervisors managed by Exoscale.
  See the [Dedicated Hypervisors overview](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md).

Elastic IP (EIP)
: A static IP address that can be persistently attached to multiple Compute
  instances within the same zone, allowing seamless transition and consistent
  IP configuration across instances.
  See the [Elastic IP overview](https://community.exoscale.com/product/networking/eip/overview/index.md).

IAM policy
: A set of permissions attached to an identity that defines what actions it
  can perform on which resources.
  See the [IAM overview](https://community.exoscale.com/product/security/iam/overview/index.md).

IAM role
: A collection of policies that can be assigned to an identity to streamline
  permission assignments for specific needs or job functions.
  See the [IAM overview](https://community.exoscale.com/product/security/iam/overview/index.md).

Instance Pool
: A managed group of Compute instances used to maintain capacity and support
  automated scaling and replacement.
  See the [Compute instances overview](https://community.exoscale.com/product/compute/instances/overview/index.md).

Instance Type
: The resource configuration of a Compute instance — number of vCPUs, amount
  of RAM, and local SSD storage. Exoscale offers instance families optimized
  for CPU, memory, storage, or GPU workloads.
  See the [Compute instances overview](https://community.exoscale.com/product/compute/instances/overview/index.md).

Key Management Service (KMS)
: A centralized, fully managed security service that creates, controls, and
  manages the lifecycle of cryptographic keys, providing data encryption
  across Exoscale workloads, custom applications, and external integrations.
  See the [KMS overview](https://community.exoscale.com/product/security/kms/overview/index.md).

Network Load Balancer (NLB)
: A Layer 4 (TCP/UDP) load balancer that distributes incoming traffic to
  Compute instances managed by an Instance Pool, with round robin,
  source-hash, and MagLev strategies plus health checks.
  See the [NLB overview](https://community.exoscale.com/product/networking/nlb/overview/index.md).

Organization
: The context in which any action on the Exoscale platform is performed; an
  organization groups users, resources, and billing.
  See the [Organization documentation](https://community.exoscale.com/platform/organization/index.md).

Private Connect
: Connects on-premises or hosted infrastructure with one or more private
  networks from a single Exoscale organization.
  See the [Private Connect overview](https://community.exoscale.com/product/networking/private-connect/overview/index.md).

Private Network
: A private network segment shared only with your own instances; each
  instance may provision one or more additional network interfaces bound to
  it.
  See the [Private Network overview](https://community.exoscale.com/product/networking/private-network/overview/index.md).

Scalable Kubernetes Service (SKS)
: A fully managed Kubernetes offering that simplifies the deployment,
  scaling, and management of containerized applications, with a
  production-ready control plane and full Kubernetes ecosystem support.
  See the [SKS overview](https://community.exoscale.com/product/compute/containers/overview/index.md).

Security Group
: A set of stateful ingress and egress firewall rules, managed at the
  hypervisor level, that control traffic to and from an instance.
  See the [Security Group overview](https://community.exoscale.com/product/networking/security-group/overview/index.md).

Simple Object Storage (SOS)
: A highly durable, S3-compatible object storage service that offers data
  accessibility across multiple locations over HTTP(s) and supports a wide
  range of tools, libraries, and programming languages.
  See the [SOS overview](https://community.exoscale.com/product/storage/object-storage/overview/index.md).

Template
: A pre-configured disk image used to launch instances; templates define the
  base OS and system configuration, and can be public (Exoscale-provided) or
  custom (uploaded by you).
  See the [Compute instances overview](https://community.exoscale.com/product/compute/instances/overview/index.md).

Zone
: A location in which an instance and its zone-scoped resources are created;
  an instance cannot be moved to another zone after creation.
  See the [Compute instances overview](https://community.exoscale.com/product/compute/instances/overview/index.md)
  and [Data Center Zones](https://community.exoscale.com/platform/dc-zones/index.md).
