# OpenTofu Encrypted State Encrypted state is a very exciting feature of OpenTofu that allows you to encrypt your state files at rest, so you can check them into version control without worrying about sensitive data being exposed. ## Setup To use encrypted state you need to setup an `encryption` block in your `terraform` configuration. This block specifies the encryption provider and the key to use for encryption. ```hcl terraform { encryption { key_provider "pbkdf2" "key_provider" { passphrase = var.encryption_passphrase } method "aes_gcm" "method" { keys = key_provider.pbkdf2.key_provider } state { method = method.aes_gcm.method enforced = true } plan { method = method.aes_gcm.method enforced = true } } } ``` In this example we will need to provide a passphrase in our `you.auto.tfvars` file: ```hcl encryption_passphrase = "my-super-secret-passphrase" ``` or in CI we can run it as an environment variable: ```bash export TF_VAR_encryption_passphrase="my-super-secret-passphrase" ```