---
title: "Impersonation"
slug: "impersonation"
abstract: "Introduction to impersonation and how to impersonate a user."
---
# Impersonation

When impersonating a user, a new `IMClient` instance that acts on behalf of the specified user is returned.

To impersonate users, the user creating the initial `IMClient` needs to have the impersonation privilege. Only users in the `superuser` group have this privilege.

To impersonate a user (for example, *Demo.User* ):

```csharp
IMClient impersonationClient = await MClient.ImpersonateAsync("Demo.User");

```