# Extending Umbraco

- [Overview](https://docs.umbraco.com/umbraco-cms/extending/build-on-umbraco-functionality.md): Learn more about how to extend and build in the features and functionalities with the Umbraco CMS.
- [Health Check](https://docs.umbraco.com/umbraco-cms/extending/health-check.md): Health Checks are used to determine the state of your Umbraco project. Learn more about each of them in this section.
- [Health Check Guides](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides.md)
- [Click-Jacking Protection](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/clickjackingprotection.md): Learn how to protect your Umbraco site from clickjacking attacks using X-Frame-Options and security headers.
- [Content Content Security Policy (CSP)](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/contentsecuritypolicy.md): Implement a Content Security Policy (CSP) to protect your Umbraco site from XSS and data injection.
- [Content/MIME Sniffing Protection](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/contentsniffingprotection.md): Protect your Umbraco site from MIME sniffing vulnerabilities using security headers like X-Content-Type-Options.
- [Cross-site scripting Protection (X-XSS-Protection header)](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/crosssitescriptingprotection.md)
- [Debug Compilation Mode](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/debugcompilationmode.md): Disable debug compilation mode in Umbraco to boost performance by updating JSON configuration.
- [Excessive Headers](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/excessiveheaders.md)
- [Fixed Application Url](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/fixedapplicationurl.md)
- [Folder & File Permissions](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/folderandfilepermissions.md)
- [HTTPS Configuration](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/httpsconfiguration.md)
- [Notification Email Settings](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/notificationemail.md)
- [SMTP](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/smtp.md)
- [Strict-Transport-Security Header](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/stricttransportsecurityheader.md): Learn about the health checks that check for cookie hijacking and protocol downgrade attacks protection.
- [Untrusted Database Constraints](https://docs.umbraco.com/umbraco-cms/extending/health-check/guides/untrusteddatabaseconstraints.md): Checks that all Umbraco foreign key and check constraints on SQL Server are trusted.
- [Language Files & Localization](https://docs.umbraco.com/umbraco-cms/extending/language-files.md): This article overviews how an Umbraco CMS website uses and manages localization with language files.
- [.NET Localization](https://docs.umbraco.com/umbraco-cms/extending/language-files/net-localization.md): NET Umbraco Core Localization files.
- [Backoffice Search](https://docs.umbraco.com/umbraco-cms/extending/backoffice-search.md): A guide to customization of Backoffice Search
- [Creating a Custom Database Table](https://docs.umbraco.com/umbraco-cms/extending/database.md): A guide to creating a custom Database table in Umbraco
- [Creating a Custom Seed Key Provider](https://docs.umbraco.com/umbraco-cms/extending/creating-custom-seed-key-provider.md): A guide to creating a custom seed key provider for Umbraco
- [Embedded Media Providers](https://docs.umbraco.com/umbraco-cms/extending/embedded-media-providers.md): A guide to creating a custom embed providers in Umbraco
- [Custom File Systems (IFileSystem)](https://docs.umbraco.com/umbraco-cms/extending/filesystemproviders.md): A guide to creating custom file systems in Umbraco
- [Using Azure Blob Storage for Media and ImageSharp Cache](https://docs.umbraco.com/umbraco-cms/extending/filesystemproviders/azure-blob-storage.md): Setup your site to use Azure Blob storage for media and ImageSharp cache
- [Configuring Azure Key Vault](https://docs.umbraco.com/umbraco-cms/extending/key-vault.md): A guide for configuring Azure Key Vault
- [Server Events From SignalR](https://docs.umbraco.com/umbraco-cms/extending/server-events.md): Describes server events emitted via a SignalR hub and available for consumption in the backoffice
- [Flag Providers](https://docs.umbraco.com/umbraco-cms/extending/flag-providers.md): Describes how to use provide flags in management API responses for use in presenting additional details to consumers.
- [Packages](https://docs.umbraco.com/umbraco-cms/extending/packages.md): A package extends the functionality of Umbraco to provide additional functionality to editors, developers, site visitors, and all other types of users of Umbraco.
- [Creating a Package](https://docs.umbraco.com/umbraco-cms/extending/packages/creating-a-package.md): Tutorial to create a package in Umbraco
- [Language file for packages](https://docs.umbraco.com/umbraco-cms/extending/packages/language-files-for-packages.md): Information on how to use language files to make your Umbraco package UI support multiple languages
- [Listing a Package on the Umbraco Marketplace](https://docs.umbraco.com/umbraco-cms/extending/packages/listing-on-marketplace.md): Information on how to list your package on the Umbraco Marketplace.
- [Good practice and defaults](https://docs.umbraco.com/umbraco-cms/extending/packages/good-practice-and-defaults.md): Information on good practices and common defaults for Umbraco package development.
- [Packages on Umbraco Cloud](https://docs.umbraco.com/umbraco-cms/extending/packages/packages-on-umbraco-cloud.md): Things to consider for package development and usage in Umbraco Cloud
- [Installing and Uninstalling Packages](https://docs.umbraco.com/umbraco-cms/extending/packages/installing-and-uninstalling-packages.md): The process of installing and, in turn, uninstalling packages in your Umbraco CMS website.
- [Maintaining packages](https://docs.umbraco.com/umbraco-cms/extending/packages/maintaining-packages.md): Once you've created and published your package, here is what's involved in it's ongoing maintenance
- [Create accessible Umbraco packages](https://docs.umbraco.com/umbraco-cms/extending/packages/accessibility.md)
- [Example Package Repository](https://docs.umbraco.com/umbraco-cms/extending/packages/example-package-repository.md): Suggestions for organizing an Umbraco package source code repository.
- [Single Block Migration](https://docs.umbraco.com/umbraco-cms/extending/single-block-migration.md)


---

# 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://docs.umbraco.com/umbraco-cms/extending.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.
