Security and compliance

Understand how and where your data is stored

Data Processing and Storage

What Does CAST AI Store?

CAST AI takes data processing and storage seriously, making every effort to be transparent and compliant. Thus, it stores only the minimum data required to provide the caching service.

Database Cache

All query responses are cached within the Proxy component itself. This is a self-hosted component and is, therefore, subject to security and access policies defined by the infrastructure provider. Time To Live (TTL) values are set on each individual query and are defined to be optimum for the purposes of achieving high cache hit rates. TTLs can range from a few milliseconds to several days.

Cached data can be purged at any time via the DBO user interface (console) or via the API.

SQL Query Analytics

Query SQL is processed in real time to support cache automation and analytics. All query SQL is anonymized at ingestion time by the Query Processor component (self-hosted) hashing any query parameters so that no personally identifiable information (PII) is stored. The anonymized structure of the query is stored to help developers associate caching behaviors with specific queries within the CAST AI user interface (console). This data is sent to the CAST AI control plane and temporarily retained to power the user interface. See Data retention periods below.

While all parameters are anonymized (including for prepared statements), database names, table names, column names, and SQL keywords are not anonymized.

Below are some examples of raw queries and their anonymized form.

Query Example 1

SELECT * FROM employees WHERE emp_no = 1001

SELECT * FROM `employees` WHERE `emp_no` = [?]

The [?] is listed in place of the hash for the individual value.

Query Example 2

SELECT AVG(salary) FROM salaries;

SELECT AVG(`salary`) FROM `salaries`;

Because this query has no parameters, the stored query matches the original query.

Query Example 3

SELECT first_name, last_name FROM employees WHERE first_name LIKE '%ing%' LIMIT 2;

SELECT `first_name`, `last_name` FROM `employees` WHERE `first_name` LIKE '[?]' LIMIT 2'

The wild card operators are incorporated in the anonymized hash; the limit value is not hashed.

Data retention periods

Anonymized query SQL data is stored for 7 days, and aggregated metrics used for longer-term views are stored for 90 days. After these time periods, the data is automatically deleted.