# Context Management

Agents are mainly stateless, but conversations between people can differ greatly based on their relationship and how much they know about each other. As a chatbot developer, you may find it difficult to keep track of different variables while maintaining the context and natural flow of a conversation.

eva helps you capture and reuse contextual data for a large variety of scenarios, so you can create more complex use cases and redefine the enterprise customer experience.

Those messages might generate data important to maintain the conversation, understand the user, and update information about the current process.

Channels and webhooks can manage the context to add information relevant during the virtual agent execution. Any information fetched by services can be added to the context for later use, while other webhooks might use data stored in the context to call other services and change the execution flow of the dialogue, and so on.

Understanding how the context works is one of the most essential part in eva. It is possible to use 3 different *(three)* types of context:

### Open context <a href="#id-1-open-context" id="id-1-open-context"></a>

This context is the least secure. It is shared in all integrations and can be modified by anyone. Channels that integrate with eva are considered insecure and this is the only place where they can manage information in eva’s context.

{% hint style="warning" %}
**Important:**

**Don’t store sensitive data in this context. This information is visible and modifiable by external agents, such as channels.**
{% endhint %}

### Visible context <a href="#id-2-visible-context" id="id-2-visible-context"></a>

The visible context is available for everyone, but channels are not able to change its content. For the conversation service, this is a read-only context. Information that might be used by the channels but that impact the conversation flow, service calls and overall functioning of the virtual agent must be added here.

{% hint style="warning" %}
**Important:**

**Don’t store sensitive data in this context. This information is visible – but not modifiable – by external agents, such as the channels**.
{% endhint %}

### Hidden context <a href="#id-3-hidden-context" id="id-3-hidden-context"></a>

The most secure of the three. This context is only visible by eva’s platform and services called through webhooks.

{% hint style="warning" %}
**Important:**

**If any sensitive data must be managed in eva, this is where it must be stored.**
{% endhint %}
