---
schema_version: "1"
id: ecf3323fcf6535753d557179ad5f07192ae6aa237b18b57ad88aef2bf5268838
title: Working with Secure Properties Using MuleSoft Vibes
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/anypoint-code-builder/vibes-secure-properties.md
canonical_url: https://docs.mulesoft.com/anypoint-code-builder/vibes-secure-properties
source_site: docs.mulesoft.com
content_type: documentation
content_hash: befdd96c489e8fcb93e5a242213eb9af44ec371ae428d079b9e7e4c0f42b39e8
description: MuleSoft Documentation Site
latest: true
---
---
product: Anypoint Code Builder
version: master
---

# Working with Secure Properties Using MuleSoft Vibes

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Instead of manually creating files and editing XML, use MuleSoft Vibes to set up secure properties
conversationally. MuleSoft Vibes can automatically encrypt values, create configuration files,
update XML, and validate your setup.

For information about secure properties concepts and manual configuration, see
[Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs).

![Diagram showing secure properties flow from runtime argument to global-configs.xml to encrypted properties file to flow references](/mulesoft/current/en-us/anypoint-code-builder/_images/int-secure-properties-overview-diagram.png)

Figure 1. How secure properties work

## Set Up Secure Properties from Scratch

To set up secure properties, send a message to MuleSoft Vibes that asks to configure secure
properties for your credentials and specifies the encryption algorithm to use.

For example:

Set up secure properties for my Salesforce credentials using AES/CBC encryption

MuleSoft Vibes:

- Adds the `mule-secure-configuration-property-module` dependency to `pom.xml`

- Adds the `<secure-properties:config>` element to `global-configs.xml`

- Adds the required namespace and schema location

- Updates connector configurations to use `${secure::}` references

- Creates the `.secure.properties` file structure

## Encrypt a Value

To encrypt a specific value, send a message to MuleSoft Vibes that includes the value to encrypt,
your encryption key, and the algorithm to use.

For example:

Encrypt the value 'MyPassword123' using my encryption key MuleSecureKey024 with AES CBC

MuleSoft Vibes runs the secure-properties-tool and returns the encrypted value ready to paste into
your properties file.

## Add a New Credential to an Existing Setup

To add a new encrypted property, send a message to MuleSoft Vibes that specifies the property name
and value to encrypt.

For example:

Add a new secure property called 'netsuite.password' with the value 'NS-Prod-Pass!' to my secure
properties files

MuleSoft Vibes encrypts the value and adds it to the appropriate `.secure.properties` file.

## Switch from Plaintext to Secure

To convert existing plaintext credentials to secure properties, send this message to MuleSoft Vibes:

Convert all the plaintext Salesforce credentials in my project to use secure properties

MuleSoft Vibes:

- Scans for hardcoded or plaintext credential values

- Encrypts each value

- Moves them to `.secure.properties` files

- Updates XML references from `${salesforce.password}` to `${secure::salesforce.password}`

## Set Up Multi-Environment Secure Properties

To create environment-specific secure properties files, send a message to MuleSoft Vibes that
specifies the environment name and requests the `$site.secure.properties` pattern.

For example:

Create a secure properties file for prod with the ${env}.secure.properties pattern

MuleSoft Vibes creates the environment-specific file and configures the dynamic file reference in
`global-configs.xml`.

For more information about multi-environment configuration, see
[int-create-secure-configs.adoc#create-prop-file](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs#create-prop-file).

## Validate Your Setup

To check if your secure properties are configured correctly, send this message to MuleSoft Vibes:

Check if my secure properties are configured correctly

MuleSoft Vibes validates:

- The dependency is in `pom.xml`

- The `<secure-properties:config>` element exists with the correct namespace

- Referenced keys exist in the `.secure.properties` files

- The encryption key is configured in `launch.json` for local runs

## Rotate the Encryption Key

To change your encryption key and re-encrypt all values, send a message to MuleSoft Vibes that
specifies the old key, the new key, and asks to re-encrypt all values.

For example:

Rotate my encryption key from MuleSecureKey024 to NewSecureKey2025 and re-encrypt all values

MuleSoft Vibes:

- Decrypts all values with the old key

- Re-encrypts with the new key

- Updates all `.secure.properties` files

- Updates `launch.json` with the new key

## Skills MuleSoft Vibes Uses

When you ask MuleSoft Vibes to work with secure properties, it invokes specialized skills that
handle the tasks:

<table><colgroup><col> <col></colgroup><thead><tr><th>Skill</th><th>What It Does</th></tr></thead><tbody><tr><td><div><div><p><strong>Secure Mule App</strong><br>(<code>/secure-mule-app</code>)</p></div></div></td><td><div><div><p>Scans for sensitive data, encrypts values using the secure-properties-tool JAR, creates <code>.secure.properties</code> files, updates XML with <code>${secure::}</code> references, adds the <code>pom.xml</code> dependency, and configures <code>launch.json</code>.</p></div></div></td></tr><tr><td><div><div><p><strong>Manage Global Configurations</strong><br>(<code>/manage-global-configurations</code>)</p></div></div></td><td><div><div><p>Creates the <code>&lt;secure-properties:config&gt;</code> element in <code>global-configs.xml</code>, manages namespaces, handles the <code>$site.secure.properties</code> multi-environment pattern, and validates the build.</p></div></div></td></tr><tr><td><div><div><p><strong>Build Mule Integration</strong><br>(<code>/build-mule-integration</code>)</p></div></div></td><td><div><div><p>When generating new flows that need credentials, automatically includes secure property placeholders and wires up the secure config element.</p></div></div></td></tr></tbody></table>

These skills work together. For example, when you say "convert my plaintext credentials to secure
properties," MuleSoft Vibes uses **Secure Mule App** to encrypt and create the files, then **Manage
Global Configurations** to wire up the XML config element and validate everything builds.

For more information about skills in MuleSoft Vibes, see
[Using Skills with MuleSoft Vibes](https://docs.mulesoft.com/anypoint-code-builder/vibes-skills).

## Common MuleSoft Vibes Prompts for Secure Properties

Use these example prompts to work with secure properties:

<table><colgroup><col> <col></colgroup><thead><tr><th>What You Want</th><th>What to Ask MuleSoft Vibes</th></tr></thead><tbody><tr><td><div><div><p>Initial setup</p></div></div></td><td><div><div><p>"Set up secure properties for this project"</p></div></div></td></tr><tr><td><div><div><p>Encrypt a single value</p></div></div></td><td><div><div><p>"Encrypt 'my-secret' with key X using AES CBC"</p></div></div></td></tr><tr><td><div><div><p>Add credentials</p></div></div></td><td><div><div><p>"Add encrypted DB credentials to my secure properties"</p></div></div></td></tr><tr><td><div><div><p>Convert plaintext</p></div></div></td><td><div><div><p>"Move my hardcoded passwords to secure properties"</p></div></div></td></tr><tr><td><div><div><p>Production setup</p></div></div></td><td><div><div><p>"Create a prod secure properties file"</p></div></div></td></tr><tr><td><div><div><p>Check configuration</p></div></div></td><td><div><div><p>"Validate my secure properties setup"</p></div></div></td></tr><tr><td><div><div><p>Debug issues</p></div></div></td><td><div><div><p>"Why is my secure property not resolving?"</p></div></div></td></tr><tr><td><div><div><p>Key rotation</p></div></div></td><td><div><div><p>"Rotate my encryption key to a new value"</p></div></div></td></tr></tbody></table>

## See Also

- [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs)

- [Managing Global Configuration Elements](https://docs.mulesoft.com/anypoint-code-builder/int-global-config-elements)

- [Using Skills with MuleSoft Vibes](https://docs.mulesoft.com/anypoint-code-builder/vibes-skills)

- [MuleSoft Vibes Overview](https://docs.mulesoft.com/anypoint-code-builder/mulesoft-vibes)

- [MuleSoft Vibes for Anypoint Code Builder](https://docs.mulesoft.com/anypoint-code-builder/vibes-get-started)
