# secureHeaders

**Kind:** Function

**Source:** [`src/middleware/secure-headers/secure-headers.ts`](https://github.com/honojs/hono/blob/main/src/middleware/secure-headers/secure-headers.ts#L179)

**Part of:** [Middleware](subsystem-src-middleware)

Secure Headers Middleware for Hono.

`secureHeaders` creates Hono middleware that adds security-related HTTP response headers. Register it on an application or route so matching responses include the configured header policies.

## Signature

```ts
function secureHeaders(customOptions: SecureHeadersOptions): MiddlewareHandler
```

## Parameters

| Name | Type |
|---|---|
| `customOptions` | `SecureHeadersOptions` |

**Returns:** `MiddlewareHandler`

## Diagram

```mermaid
graph LR
  Client --> HonoApp
  HonoApp --> SecureHeaders[secureHeaders middleware]
  SecureHeaders --> Handler[Route handler]
  Handler --> Response
  SecureHeaders --> ResponseHeaders[Security response headers]
  ResponseHeaders --> Client
```

## Usage

```ts
import { Hono } from 'hono'
import { secureHeaders } from './middleware/secure-headers/secure-headers'

const app = new Hono()

app.use('*', secureHeaders())

app.get('/', (c) => {
  return c.text('Hello')
})

export default app
```

## AI Coding Instructions

- Register `secureHeaders()` before route handlers so headers are applied to route responses.
- Apply the middleware globally with `app.use()` or scope it to routes that need the header policy.
- Keep header configuration close to application middleware setup to make policy changes easy to review.
- Check interactions with other middleware that sets response headers, since later middleware may replace header values.
