Blazor.FlowGuide 0.3.0

dotnet add package Blazor.FlowGuide --version 0.3.0
                    
NuGet\Install-Package Blazor.FlowGuide -Version 0.3.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Blazor.FlowGuide" Version="0.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Blazor.FlowGuide" Version="0.3.0" />
                    
Directory.Packages.props
<PackageReference Include="Blazor.FlowGuide" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Blazor.FlowGuide --version 0.3.0
                    
#r "nuget: Blazor.FlowGuide, 0.3.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Blazor.FlowGuide@0.3.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Blazor.FlowGuide&version=0.3.0
                    
Install as a Cake Addin
#tool nuget:?package=Blazor.FlowGuide&version=0.3.0
                    
Install as a Cake Tool

Blazor.FlowGuide

Blazor.FlowGuide is a privacy-first Razor Class Library for Blazor Server and Blazor Web Apps. It helps enterprise teams add guided tours, browser-side flow recording, generated HTML/Markdown manuals, WebM video manuals and reproducible support reports.

Current version: 0.3.0

Secure default posture: recorder off, support reports off, snapshots off, video manuals off, and input values not captured unless explicitly opted in.

Install

dotnet add package Blazor.FlowGuide --version 0.3.0

Register services

Production-safe default:

builder.Services.AddBlazorFlowGuide(options =>
{
    options.ProductName = "My Enterprise App";
    options.DefaultCulture = "en-US";
    options.SupportedCultures = ["en-US", "es-ES"];

    // These are the package defaults.
    options.EnableRecorder = false;
    options.EnableSupportReports = false;
    options.CaptureElementSnapshots = false;
    options.CaptureInputValues = false;
    options.EnableVideoManuals = false;
});

Developer tools mode for internal/demo screens only:

builder.Services.AddBlazorFlowGuideDeveloperTools(builder.Environment, options =>
{
    options.ProductName = "My Enterprise App";
    options.PrimaryColor = "#2563eb";
});

The IWebHostEnvironment overload enables recorder, support reports, snapshots and video only in Development. Outside Development, it falls back to safe production defaults unless you explicitly override options.

Support-team mode:

builder.Services.AddBlazorFlowGuide(FlowGuidePreset.SupportTeam, options =>
{
    options.ProductName = "My Enterprise App";
});

Add the provider and recorder

<FlowGuideProvider>
    @Body

    <AuthorizeView Roles="Administrator,Support">
        <Authorized>
            <FlowGuideRecorder />
        </Authorized>
    </AuthorizeView>
</FlowGuideProvider>

The recorder should not be shown to all users. Your host application is responsible for authentication, authorization, roles and tenant rules.

Static assets

The package includes:

src/Blazor.FlowGuide/wwwroot/flowguide.css
src/Blazor.FlowGuide/wwwroot/flowguide.js

When consumed as a package, Blazor serves them from:

_content/Blazor.FlowGuide/flowguide.css
_content/Blazor.FlowGuide/flowguide.js

FlowGuideProvider can add the CSS automatically. Set IncludeDefaultStyles="false" if your application adds the stylesheet manually.

Stable selectors

Use stable data-flow identifiers instead of CSS classes:

<button data-flow="departments.create-button">
    Create department
</button>

<div data-flow-field data-flow-snapshot>
    <label for="department-name">Name</label>
    <input id="department-name" data-flow="departments.form.name" />
</div>

Privacy markers

Redact a sensitive subtree:

<div data-flow-private>
    <label for="token">Private token</label>
    <input id="token" data-flow="departments.form.secret" />
</div>

Exclude a section from visual snapshots:

<div data-flow-no-snapshot>
    <input data-flow="payment.card-number" />
</div>

Capture an input value only with explicit opt-in:

<input data-flow="search.term" data-flow-capture-value />

Without data-flow-capture-value or options.CaptureInputValues = true, input values are not stored in recorded steps or snapshots.

Define a tour

<FlowGuideTour Id="departments.create" Title="Create a department" Culture="en-US">
    <FlowGuideStep Target="[data-flow='nav.departments']"
                   Title="Departments"
                   Text="Open the departments module." />

    <FlowGuideStep Target="[data-flow='departments.create-button']"
                   Title="Create department"
                   Text="Use this button to create a new department." />
</FlowGuideTour>

<FlowGuideLauncher TourId="departments.create" Label="Start guide" />

Exports

When enabled for trusted users, the recorder can download:

  • Markdown manual (.md)
  • HTML manual (.html)
  • Support report (.html)
  • Browser-generated WebM video manual (.webm)

Large generated files are downloaded directly by the browser and are not sent back to .NET through Blazor Server SignalR.

Demo

Run the demo with a project reference:

dotnet run --project samples/Blazor.FlowGuide.Demo

After packing, test the package in the demo:

dotnet pack src/Blazor.FlowGuide/Blazor.FlowGuide.csproj -c Release -o artifacts
cd samples/Blazor.FlowGuide.Demo
dotnet run -c Release -p:UsePackedPackage=true -p:FlowGuidePackageVersion=0.3.0-preview.20

Validate before publishing

./scripts/validate.ps1

Or manually:

dotnet clean
dotnet restore
dotnet build -c Release
dotnet test -c Release
node --check src/Blazor.FlowGuide/wwwroot/flowguide.js
dotnet pack src/Blazor.FlowGuide/Blazor.FlowGuide.csproj -c Release -o artifacts

The project is configured to generate both .nupkg and .snupkg.

Repository and license

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.3.0 221 6/14/2026
0.3.0-preview.20 51 6/14/2026

Stable 0.3.0 release. Includes tour navigation hotfix, route/query/hash redaction, server-side event sanitization, bounded browser recording memory, safer support reports, and Blazor lifecycle/JSInterop hardening.