> ## Documentation Index
> Fetch the complete documentation index at: https://www.dataframer.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture & deployment

> Deploy DataFramer in our cloud or in your own cloud account.

## How DataFramer connects to your stack

<div className="not-prose relative">
  <img className="block dark:hidden" src="https://mintcdn.com/aimonlabsinc/83qUzlqCyXkuj3nF/images/architecture/you-and-dataframer-light.svg?fit=max&auto=format&n=83qUzlqCyXkuj3nF&q=85&s=8ab3cd561df9758e3b24b51ef8d385be" alt="Your stack on the left, DataFramer on the right, and the four connections between them" style={{margin: 0, width: "100%", verticalAlign: "top"}} width="962" height="650" data-path="images/architecture/you-and-dataframer-light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/aimonlabsinc/83qUzlqCyXkuj3nF/images/architecture/you-and-dataframer-dark.svg?fit=max&auto=format&n=83qUzlqCyXkuj3nF&q=85&s=676bd734fba8dc6e112bc45f75e3c57d" alt="Your stack on the left, DataFramer on the right, and the four connections between them" style={{margin: 0, width: "100%", verticalAlign: "top"}} width="962" height="650" data-path="images/architecture/you-and-dataframer-dark.svg" />

  <a className="arch-hotspot" href="/docs/journeys/overview" aria-label="Journeys & business outcomes" style={{left: "58.94%", top: "11.38%", width: "39.29%", height: "12.92%"}} />

  <a className="arch-hotspot" href="/docs/findings/discovery-and-tracking" aria-label="Findings" style={{left: "58.94%", top: "25.85%", width: "39.29%", height: "12.92%"}} />

  <a className="arch-hotspot" href="/docs/reviews/overview" aria-label="Human Reviews" style={{left: "58.94%", top: "40.31%", width: "39.29%", height: "12.92%"}} />

  <a className="arch-hotspot" href="/docs/judges/overview" aria-label="Judges & Evaluations" style={{left: "58.94%", top: "54.77%", width: "39.29%", height: "12.92%"}} />

  <a className="arch-hotspot" href="/docs/concepts" aria-label="Generation & anonymization" style={{left: "58.94%", top: "69.23%", width: "39.29%", height: "12.92%"}} />

  <a className="arch-hotspot" href="/docs/api-and-mcp" aria-label="API · Python SDK · MCP" style={{left: "58.94%", top: "83.69%", width: "39.29%", height: "12.92%"}} />

  <a className="arch-hotspot" href="/docs/user-signals/browser-sdk" aria-label="Your application's frontend" style={{left: "1.77%", top: "11.38%", width: "39.29%", height: "12.92%"}} />

  <a className="arch-hotspot" href="/docs/connect-traces" aria-label="Langfuse or LangSmith" style={{left: "1.77%", top: "25.85%", width: "39.29%", height: "12.92%"}} />

  <a className="arch-hotspot" href="/docs/user-signals/server-instrumentation" aria-label="Your application & backend" style={{left: "1.77%", top: "54.77%", width: "39.29%", height: "12.92%"}} />

  <a className="arch-hotspot" href="/docs/judges/guardrails" aria-label="guardrails" style={{left: "44.28%", top: "56.92%", width: "11.43%", height: "5.23%"}} />
</div>

## Two ways to deploy

Both run the same application. They differ in where your data is processed and stored.

### DataFramer-hosted

Everything runs in DataFramer's cloud, and your data is stored there, scoped to your company. Model calls run on DataFramer credits or on your own model credential; see [AI usage and credits](/docs/ai-usage-and-credits). Nothing to deploy — just [sign up](https://app.dataframer.ai/?screen=signup).

### Customer-hosted

Use this when your data cannot leave your own cloud. DataFramer keeps the **control plane**: the web app, job orchestration, and metadata. You run the **data plane** in your own cloud account, deployed with our Terraform module: the workers that process your data and the storage they use.

<img className="block dark:hidden" src="https://mintcdn.com/aimonlabsinc/83qUzlqCyXkuj3nF/images/architecture/customer-hosted-light.svg?fit=max&auto=format&n=83qUzlqCyXkuj3nF&q=85&s=6f68e90a71be97e0f63d0300d0bbc92a" alt="DataFramer's control plane on the left, the data plane in your cloud account on the right; every arrow across the boundary starts on your side" width="962" height="668" data-path="images/architecture/customer-hosted-light.svg" />

<img className="hidden dark:block" src="https://mintcdn.com/aimonlabsinc/83qUzlqCyXkuj3nF/images/architecture/customer-hosted-dark.svg?fit=max&auto=format&n=83qUzlqCyXkuj3nF&q=85&s=3f398e55efc7f4f70cdd01b14b1c514c" alt="DataFramer's control plane on the left, the data plane in your cloud account on the right; every arrow across the boundary starts on your side" width="962" height="668" data-path="images/architecture/customer-hosted-dark.svg" />

* Your content stays in your account.
* No inbound connections. Every connection that crosses the boundary starts in your account or in your browser.
* Model calls use your own provider credential.
* Same functionality as the DataFramer-hosted version.

[Contact us](mailto:info@dataframer.ai) to plan the rollout.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.