# Architecture Overview

The LatticaAI platform enables **secure processing of encrypted computations**, including AI inference workloads, encrypted vector search, and programs. It uses homomorphic encryption and purpose-built acceleration hardware to perform computation without exposing raw data.

The system consists of **client applications** for management and execution, a **backend control plane**, and **hardware accelerators** to perform secure computation.

<img src="/files/SP5puu6UhgOu4ogJn6Gu" alt="Diagram of the main components in the LatticaAI system." class="gitbook-drawing">

## Components

### 1. LatticaAI Clients

<mark style="color:blue;">⫸</mark> The Management Client enables the **Computation Provider** to onboard and manage computations:

&#x20;  <mark style="color:blue;">►</mark> Submit encrypted computations for execution.

&#x20;  <mark style="color:blue;">►</mark> Configure access controls and resource assignments.

&#x20;  <mark style="color:blue;">►</mark> Allocate and monitor compute resources.

After submission, the computation is prepared and registered in the backend, becoming available for secure execution at an assigned execution endpoint.

<mark style="color:blue;">⫸</mark> The **Query Client** facilitates secure interactions with deployed computations.

&#x20;  <mark style="color:blue;">►</mark> It encrypts input data before sending it to the backend for computation.

&#x20;  <mark style="color:blue;">►</mark> The backend processes queries using the homomorphic-ready logic and returns encrypted results.

&#x20;  <mark style="color:blue;">►</mark> The client decrypts the results locally, ensuring data privacy throughout the process.

<table data-card-size="large" data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Management Client</strong></td><td>Enables Computation <strong>Providers</strong> to control deployment, manage user permissions, and oversee system resources</td><td></td><td><a href="/files/zPshHASYLP32RdlzS63b">/files/zPshHASYLP32RdlzS63b</a></td><td><a href="/pages/pEVhWbKsWPalGMCO6cmP">/pages/pEVhWbKsWPalGMCO6cmP</a></td></tr><tr><td><strong>Query Client</strong>  </td><td><strong>End users</strong> use this client to access the deployed secured computation.</td><td></td><td><a href="/files/GedAzeqWjCILZucGabbj">/files/GedAzeqWjCILZucGabbj</a></td><td><a href="/pages/DeQLM1YR2UewMJvDwqGJ">/pages/DeQLM1YR2UewMJvDwqGJ</a></td></tr></tbody></table>

***

### 2. LatticaAI **Backend**

<mark style="color:blue;">⫸</mark> **Interaction Manager:** Routes requests to the appropriate encrypted computation.

<mark style="color:blue;">⫸</mark> **Hardware Acceleration:** Currently GPU-based for high-performance processing, with CPU execution used for TFHE-based programs and adaptability for future hardware acceleration technologies.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://platformdocs.lattica.ai/architecture-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
