diff --git a/reserve-api/src/identity/impl/encrypt.ts b/reserve-api/src/identity/impl/encrypt.ts
index 9a6839b14e25ee88ba0be0ffe83e05ea233991ec..8d02e3ed977a72a9a58dddd3e4915ac614ce4550 100644
--- a/reserve-api/src/identity/impl/encrypt.ts
+++ b/reserve-api/src/identity/impl/encrypt.ts
@@ -6,9 +6,13 @@
  */
 
 //#region imports
-import crypto from 'crypto';
+import crypto, { BinaryLike } from 'crypto';
 //#endregion
 
-export function encrypt(value: string, key: string): Buffer {
-  return crypto.createCipher('aes-256-gcm', key).update(value);
+export function encrypt(
+  value: string,
+  key: BinaryLike,
+  iv: BinaryLike = crypto.randomBytes(16),
+): Buffer {
+  return crypto.createCipheriv('aes-256-gcm', key, iv).update(value);
 }
diff --git a/reserve-api/src/identity/impl/generate-anonymization-key.ts b/reserve-api/src/identity/impl/generate-anonymization-key.ts
index d43f42a55ec69ccb1761de48e5f39a80d439ec49..93fc893dea61d79c9feb4352dcd8a1ae3182feb5 100644
--- a/reserve-api/src/identity/impl/generate-anonymization-key.ts
+++ b/reserve-api/src/identity/impl/generate-anonymization-key.ts
@@ -9,6 +9,6 @@
 import crypto from 'crypto';
 //#endregion
 
-export function generateAnonymizationKey(): string {
-  return crypto.randomBytes(256).toString('hex');
+export function generateAnonymizationKey(): Buffer {
+  return crypto.randomBytes(32);
 }
diff --git a/reserve-api/src/identity/impl/identity.service.ts b/reserve-api/src/identity/impl/identity.service.ts
index c6b57ae9626522f2d3b2269ab41949cfecf2e1af..c14ef6359af29c6b207fa96863dd558400119734 100644
--- a/reserve-api/src/identity/impl/identity.service.ts
+++ b/reserve-api/src/identity/impl/identity.service.ts
@@ -101,11 +101,14 @@ export class IdentityServiceImpl implements IdentityService {
   ): Promise<void> {
     const identity = await this.getByUserId(workspaceId, userId);
     const key = generateAnonymizationKey();
-    identity.email = encrypt(identity.email, key).toString();
-    identity.firstName = encrypt(identity.firstName, key).toString();
-    identity.lastName = encrypt(identity.lastName, key).toString();
+    identity.email = encrypt(identity.email, key).toString('hex');
+    identity.firstName = encrypt(identity.firstName, key).toString('hex');
+    identity.lastName = encrypt(identity.lastName, key).toString('hex');
     if (identity.phone) {
-      identity.phone = encrypt(identity.phone, key).toString();
+      identity.phone = encrypt(identity.phone, key).toString('hex');
+    }
+    if (identity.password) {
+      identity.password = encrypt(identity.password, key).toString('hex');
     }
     identity.anonymized = true;
     await this.repository.save(identity);
diff --git a/reserve-web/reserve-client/src/epics/user/index.ts b/reserve-web/reserve-client/src/epics/user/index.ts
index 602be4d7b5c02784795f99cfecbc6fda3edb5c49..7ad53c1e7c72524302706d9f880d5d13358bbce5 100644
--- a/reserve-web/reserve-client/src/epics/user/index.ts
+++ b/reserve-web/reserve-client/src/epics/user/index.ts
@@ -13,6 +13,8 @@ import { isActionOf } from 'typesafe-actions';
 import { RootAction } from 'actions';
 import { get, patch, put, del } from 'actions/request';
 import * as actions from 'actions/users';
+import * as authActions from 'actions/auth';
+import { merge } from 'rxjs';
 //#endregion
 
 export const fetchByIdEpic: Epic<RootAction> = (action$) => (
@@ -58,9 +60,15 @@ export const updateProfileEpic: Epic<RootAction> = (action$) => (
 );
 
 export const deleteMeEpic: Epic<RootAction> = (action$) => (
-  action$.pipe(
-    filter(isActionOf(actions.deleteMe.request)),
-    map(({meta}) => del(null, meta)),
+  merge(
+    action$.pipe(
+      filter(isActionOf(actions.deleteMe.request)),
+      map(({meta}) => del(null, meta)),
+    ),
+    action$.pipe(
+      filter(isActionOf(actions.deleteMe.success)),
+      map(() => authActions.logout.success()),
+    )
   )
 );
 
diff --git a/reserve-web/reserve-client/src/reducers/view/user/getMe.ts b/reserve-web/reserve-client/src/reducers/view/user/getMe.ts
index 2c07dfcb8ba9c9349201f034b01315dca7f7af3e..885451315e47d4c5a797c793eec25f5dc35ab72b 100644
--- a/reserve-web/reserve-client/src/reducers/view/user/getMe.ts
+++ b/reserve-web/reserve-client/src/reducers/view/user/getMe.ts
@@ -8,7 +8,7 @@
 //#region imports
 import { getType } from 'typesafe-actions';
 
-import { userActions as actions, RootAction } from 'actions';
+import { authActions, userActions as actions, RootAction } from 'actions';
 //#endregion
 
 export interface GetMeMeta {
@@ -34,6 +34,7 @@ export function getMe(
     };
 
   case getType(actions.getMe.success):
+  case getType(authActions.logout.success):
     return {
       pending: false,
       retrieved: true,