diff --git a/wrappers/wasm/demo/src/app/app.component.html b/wrappers/wasm/demo/src/app/app.component.html
index 989bfe04..b3c8c24a 100644
--- a/wrappers/wasm/demo/src/app/app.component.html
+++ b/wrappers/wasm/demo/src/app/app.component.html
@@ -14,6 +14,7 @@
+
+
+
+
Inspect (Debug)
+
+
+
+
Decode Devolutions-Crypto string
+
+
+
+ @if (parseResult) {
+
+ @if (parseResult.error) {
+
+
Error
+
+
{{ parseResult.error }}
+
+
+ }
+
+
+
Header
+
+
+
+
+ | Field |
+ Value |
+ Details |
+
+
+
+
+ | Signature |
+
+ {{ parseResult.signatureHex }}
+ |
+
+ @if (parseResult.signatureValid) {
+ ✓ valid (0x0C0D)
+ } @else {
+ ✗ invalid — expected 0x0C0D
+ }
+ |
+
+
+ | Type |
+ {{ parseResult.dataType }} |
+ {{ parseResult.dataTypeName }} |
+
+
+ | Subtype |
+ {{ parseResult.subtype }} |
+ {{ parseResult.subtypeName }} |
+
+
+ | Version |
+ {{ parseResult.version }} |
+ {{ parseResult.versionName }} |
+
+
+ | Total size |
+ {{ parseResult.totalBytes }} bytes (8 header + {{ parseResult.payloadBytes }} payload) |
+
+
+
+
+
+
+ @if (parseResult.signatureValid && parseResult.payloadFields.length > 0) {
+
+
Payload Fields
+
+
+
+
+ | Field |
+ Offset |
+ Size |
+ Description |
+ Hex |
+
+
+
+ @for (field of parseResult.payloadFields; track field.name) {
+
+ | {{ field.name }} |
+ +{{ field.offset }} |
+ {{ field.size }} B |
+ {{ field.description }} |
+ {{ field.hex }} |
+
+ }
+
+
+
+
+ }
+
+ }
+
+
diff --git a/wrappers/wasm/demo/src/app/inspect/inspect.component.ts b/wrappers/wasm/demo/src/app/inspect/inspect.component.ts
new file mode 100644
index 00000000..b91912e1
--- /dev/null
+++ b/wrappers/wasm/demo/src/app/inspect/inspect.component.ts
@@ -0,0 +1,410 @@
+import { Component, OnInit } from '@angular/core';
+import { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
+import { EncryptionService } from '../service/encryption.service';
+import { FaIconComponent } from '@fortawesome/angular-fontawesome';
+import { faBug } from '@fortawesome/free-solid-svg-icons';
+import { CommonModule } from '@angular/common';
+import * as functions from '../shared/shared.component';
+
+type EncryptionServiceInner = typeof import('../service/encryption.inner.service');
+
+const SIGNATURE = 0x0c0d;
+const HEADER_SIZE = 8;
+
+const DATA_TYPE_NAMES: Record