---
page_title: sensitive - Functions - Configuration Language
description: The sensitive function marks a value as being sensitive.
---

# `sensitive` Function

-> **Note:** This function is only available in Terraform v0.15 and later.

`sensitive` takes any value and returns a copy of it marked so that Terraform
will treat it as sensitive, with the same meaning and behavior as for
[sensitive input variables](/terraform/language/values/variables#suppressing-values-in-cli-output).

Wherever possible we recommend marking your input variable and/or output value
declarations as sensitive directly, instead of using this function, because in
that case you can be sure that there is no way to refer to those values without
Terraform automatically considering them as sensitive.

The `sensitive` function might be useful in some less-common situations where a
sensitive value arises from a definition _within_ your module, such as if you've
loaded sensitive data from a file on disk as part of your configuration:

```
locals {
  sensitive_content = sensitive(file("${path.module}/sensitive.txt"))
}
```

However, we generally don't recommend writing sensitive values directly within
your module any of the files you distribute statically as part of that module,
because they may be exposed in other ways outside of Terraform's control.

## Examples

```
> sensitive(1)
(sensitive value)
> sensitive("hello")
(sensitive value)
> sensitive([])
(sensitive value)
```
