---
searchable: false
---

import { Callout } from '@theguild/components'

# Error Masking

Hive Gateway automatically masks unexpected errors and prevents leaking sensitive information to
clients.

Unexpected errors can be caused by failed connections to remote services such as databases or HTTP
APIs. Nobody external needs to know that your database server is not reachable. Exposing such
information to the outside world can make you vulnerable for targeted attacks.

In order to build secure applications, it is crucial to understand this concept.

## Disable for development

For development purpose, exposing errors to the client can be needed depending on your architecture.

Error masking can be disabled using the `maskedErrors` option:

```ts filename="gateway.config.ts"
import { defineConfig } from '@graphql-hive/gateway'

export const gatewayConfig = defineConfig({
  maskedErrors: false
})
```

{/* `TODO: Consider how to explain subgraph errors etc` */}
