> For the complete documentation index, see [llms.txt](https://intuitem.gitbook.io/ciso-assistant/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://intuitem.gitbook.io/ciso-assistant/configuration/libraries/update-library.md).

# Update a library

Publish a new version of a custom library and apply it where needed

To update a custom library, make changes in its Excel file and upload the new version to CISO Assistant. You can upload the updated Excel file directly. Converting it to YAML before importing is completely optional.

{% hint style="info" %}
Before updating a library, it is strongly recommended to keep a backup copy of the original Excel or YAML file in a safe place.
{% endhint %}

## Publish a new version

1. Edit the library's Excel (`.xlsx`) file.
2. Increase `version` in the `library_meta` sheet. Keep the library's `urn` and the identifiers of existing content stable. CISO Assistant matches content by URN, and a requirement's URN is built from its `ref_id` (or from its position when it has none).
3. Upload the updated Excel (`.xlsx`) file as described in [Import a library](/ciso-assistant/configuration/libraries/import-library.md). If you prefer, [convert it to YAML first](https://intuitem.gitbook.io/ciso-assistant/configuration/libraries/pages/C3bJVhV2eXdqfpERgkwz#id-5.-optional-convert-the-workbook-to-yaml), then upload the generated `.yaml` file.
4. After the upload, follow [Update a library from the catalog](#update-a-library-from-the-catalog) below to load the new version in your instance.

{% hint style="info" %}
CISO Assistant accepts the upload only if `version` is higher than the version already stored. Otherwise, it displays *"This library has already been loaded"* (same version) or *"A newer version of this library is already stored"* (older version). Set `version` above the stored value, then upload the file again.
{% endhint %}

## Update a library from the Catalog

Use this action to load a newer library version into your instance. This applies both to an updated custom library you imported using the steps above and to a built-in library update made available after a CISO Assistant upgrade:

1. Go to **Catalog > Libraries**.
2. Click **Update available** to filter the list to libraries with a newer version.
3. In the relevant row, click the <img src="https://629777851-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCqFeU3oPCgDWkkR386NK%2Fuploads%2Fgit-blob-adcfb64fdc794e85be98dcfbd0c4ce7e7e6cbd5d%2Fupdate_library_button.png?alt=media" alt="Green circular button with an upward arrow" data-size="line"> button at the far right.

![Libraries page showing the Update available filter and the update action for a library](https://629777851-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCqFeU3oPCgDWkkR386NK%2Fuploads%2Fgit-blob-6d8faa9ff2563fd19a69579cac9598006ff0ecc4%2Fupdate_library.png?alt=media)

{% hint style="warning" %}
Updating a library from the catalog changes every object linked to it, including existing audits:

* New requirements are added to every audit that uses the Framework.
* Requirements missing from the new version are deleted, together with their assessments in existing audits (result, score, answers, and observation). Linked evidence and applied controls are kept, but are no longer attached to them.
* A requirement whose `ref_id` changed gets a new URN. It is treated as deleted and re-added, so its assessments are lost.

Always click the library in the catalog and inspect its updated content before starting the update.
{% endhint %}

If the new version changes the score range (`min_score` or `max_score`), CISO Assistant asks how to adjust the scores of existing audits: **Clamp** keeps them within the new bounds, **Rule of Three** rescales them to the new range, and **Reset** clears them. Requirements with their own `min_score` and `max_score` keep their scores.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://intuitem.gitbook.io/ciso-assistant/configuration/libraries/update-library.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
