Opper Platform Data Security Overview

Last updated on: 2024-09-02

The general philosophy is that all customer data is treated with the utmost care and attention, and this document aims to capture how the security and privacy around user data is treated.

1. Opper Platform

The Opper platform is deployed in Stockolm, Sweden region within Amazon Web Services (AWS). In order to access the Opper platform, users need to be authenticated.

The platform consists of a web application and an API service. Access to the platform requires being authenticated with a valid user, or having a valid API key.

Opper is using auth0 as an external authentication provider, which handles user flows such as sign up, login and forgotten password.

2. Usage of Large Language Models

The data sent to the Large Language Model (LLM) consists of several parts.

When executing a function in Opper, the prompt in the function, together with the input to the function is sent to the LLM.

If the function has one or more indexes assigned to it, matching snippets from the index are additionally passed to the LLM. The snippets passed are based on the output from what is found in the index based on the input.

The input to the function, as well as the response, is saved in an encrypted Amazon RDS database, and is used for automatic function evaluation.

For a list of LLM providers in use, please see Docs Models Page: https://docs.opper.ai/functions/models.

3. Indexes

The Opper platform provides functionality to manage uploaded documents in the form of indexes. After creating a new index, the user can upload one or more documents to the platform. These indexes can then be associated with one or more functions, and used as context when providing an answer to the question asked, together with the prompt in the function. Data is indexed and vectorized. This data is stored in AWS RDS.

4. Data storage

Application data and uploaded files data is stored in AWS RDS. Encryption at rest is enabled with an AWS KMS managed key.

Uploaded data is stored in a private S3 bucket, and the objects are segregated per organization. The S3 bucket contents is encrypted using Server-side encryption with Amazon S3 managed keys (SSE-S3).

5. Data transmission

Service to service communication is limited using a VPC and specific public and private subnets exist to segregate public and private communication.

Communication between the API service and S3 is using the AWS SDK, and is subject to the TLS encryption set by AWS. All communication between the browser and the Opper platform is encrypted using TLS.

6. Lifecycle, backups and deletion

When an index is deleted, all associated files and indexes are deleted.

When a function is deleted, all associated events are deleted.

Backups are stored in the AWS Backup service and are encrypted using an AWS managed key. Only Opper engineers have access to restore backups if needed, no other personnel at Opper have access.

Realtime backups are enabled for Aurora and S3 for point-in-time-recovery. Daily snapshots are retained for 5 weeks. Weekly snapshot are retained for 14 months.