---
title: "Managing build artifacts"
description: "Learn how CircleCI server v4.8 build artifacts persist data after a job is completed and how they can be used for longer-term storage of your build process outputs."
doc_version: "Server 4.8"
last_updated: "2025-12-04"
---

> For the complete documentation index, see [llms.txt](https://circleci.com/docs/llms.txt)

# Managing build artifacts

Build artifacts persist data after a job is completed. They can be used for longer-term storage of your build process outputs. For example, when a Java build/test process finishes, the output of the process is saved as a `.jar` file. CircleCI can store this file as an artifact, keeping it available long after the process has finished.

## Safe and unsafe content types

By default, only predefined artifact types are allowed to be rendered. This protects users from uploading, and potentially executing, malicious content. The 'allowed-list' is as follows:

| Category | Safe Type |
| --- | --- |
| Text | Plain |
| Application | JSON |
| Image | PNG |
| Image | JPG |
| Image | GIF |
| Image | BMP |
| Video | WEBM |
| Video | OGG |
| Video | mp4 |
| Audio | WEBM |
| Audio | AAC |
| Audio | mp4 |
| Audio | MPEG |
| Audio | OGG |
| Audio | WAV |

Also, by default, the following types will be rendered as plain text:

| Category | Unsafe Type |
| --- | --- |
| Text | HTML |
| Text | CSS |
| Text | JavaScript |
| Text | ECMAscript |
| Application | JavaScript |
| Application | ECMAscript |
| Text | XML |

### Allow unsafe types

You can choose to allow unsafe types to be rendered, if required. Add the following to your `values.yaml` file:

```yaml
serveUnsafeArtifacts: true
```