Skip to main content
By default, Nexrender stores both template files and render outputs on its own infrastructure. For organizations with strict data residency requirements, compliance constraints, or a zero-retention policy, Nexrender supports a fully clean room configuration where no data is stored on Nexrender’s side.

Data Retention Overview

ComponentDefaultClean Room
Template filesStored on Nexrender infrastructureStored in your own storage
Render outputsStored on Nexrender infrastructureDelivered directly to your storage
Job payloads and assetsProcessed and discardedProcessed and discarded

Templates from Your Own Storage

Instead of uploading templates to Nexrender and referencing them by ID, you can point each job directly at a template file in your own storage using the template.src field.
{
  "template": {
    "id": "PLACEHOLDER",
    "src": "https://your-storage.example.com/templates/promo-v3.zip",
    "composition": "main"
  },
  "assets": []
}
Nexrender downloads the file from the provided URL at render time, renders the job, and discards the file - nothing is retained on Nexrender’s side.
When using template.src, template introspection and caching are not available. Nexrender will not extract compositions or layers from the file - your job payload must reference composition and layer names directly.
The id field is still required in the payload but acts as a reference identifier only when src is provided.

Requirements for template.src

  • Must be a publicly accessible or presigned https:// URL
  • Supported formats: .aep, .zip, .mogrt
  • Maximum file size: 2 GiB
  • The URL must remain accessible for the duration of the render

Render Outputs to Your Own Storage

Use the upload object in any job payload to push rendered outputs directly to your own S3-compatible storage instead of Nexrender’s:
{
  "template": {
    "id": "YOUR_TEMPLATE_ID",
    "composition": "main"
  },
  "upload": {
    "provider": "s3",
    "prefix": "renders/campaign-42/",
    "outputUrl": "https://cdn.yourcompany.com/media",
    "params": {
      "endpoint": "https://s3.amazonaws.com",
      "region": "us-east-1",
      "bucket": "your-render-outputs",
      "accessKeyId": "${secret.S3_KEY_ID}",
      "accessKeySecret": "${secret.S3_KEY_SECRET}"
    }
  }
}
Once the render completes, the output file is uploaded to your bucket and the outputUrl in the job response reflects the path in your storage. Nexrender does not retain a copy. Store your storage credentials as Nexrender secrets rather than embedding them in payloads - see Secrets Management.

Fully Clean Room Configuration

To operate with zero data retained on Nexrender’s side, combine both approaches - template.src for template delivery and upload for output delivery:
{
  "template": {
    "id": "PLACEHOLDER",
    "src": "https://your-storage.example.com/templates/promo-v3.zip",
    "composition": "main"
  },
  "assets": [
    {
      "type": "text",
      "layerName": "title",
      "value": "Hello World"
    }
  ],
  "upload": {
    "provider": "s3",
    "prefix": "renders/",
    "params": {
      "region": "us-east-1",
      "bucket": "your-render-outputs",
      "accessKeyId": "${secret.S3_KEY_ID}",
      "accessKeySecret": "${secret.S3_KEY_SECRET}"
    }
  }
}
In this configuration, Nexrender acts purely as a render engine - it fetches the template, renders the job, pushes the output to your storage, and retains nothing.
Enterprise Private Cloud is available for organizations that require the render infrastructure itself to run within their own environment. Get in touch to learn more.