Skip to main content
Develop Tools
← Return to usage guide

How to safely mask and share VB.NET code

VB.NET code contains not only identifiers but also connection destinations, screen fields, business constants, and exception Messages. Separate the structure required for reproduction from information that cannot be shared externally.

How to minimize and mask VB.NET code in the browser before sharing it with AI
How to minimize and mask VB.NET code in the browser before sharing it with AI

Mask VB.NET code in the browser

Select classes/types, functions/methods, identifiers, values, and comments to create a shareable copy that lets you inspect VB.NET structure. Input code is not sent to or stored on Develop Tools servers.

Open VB.NET Code Masking Tool

Conclusion

Create a sharing copy instead of using the original project, and mask classes, methods, variables, strings, numbers, and comments. Preserve the target framework, exception type, and reproduction steps, then visually review the result.

Do not edit the original Project directly; work on a shareable Copy.

First separate the context to retain from the information to hide

Public Class CustomerForm
    Private Async Function LoadCustomerAsync(id As String) As Task
        Dim endpoint = "https://api.example.test/customers/" & id
        Await client.GetAsync(endpoint)
    End Function
End Class

Form names, control names, URLs, IDs, and logs may retain information that can identify an organization or customer.

Procedure for checking with the VB.NET code masking tool

  • 1. Extract only the classes and methods needed for reproduction into a separate copy.
  • 2. Select what to mask and run the process.
  • 3. Compare VB.NET syntax and references with the same name.
  • 4. Minimize the information restored by right-clicking.

Checklist to prevent oversights

CategoryAccount to check
Context.NET, UI framework, and exceptions
IdentifierNamespace, Class, Method, Control
ValueURL, Path, Credential, business values
ShareOnly the result, a minimal reproduction, and reproduction steps

Check that VB.NET-specific syntax and reproduction conditions are retained

  • Record Option Explicit, Strict, Infer, Compare, and Project-side Compiler settings.
  • Check correspondence between Class, Module, Namespace, Sub, Function, Property, and their declarations and references
  • Do not confuse Nothing, Nullable(Of T), and DBNull, or value types and reference types.
  • Do not change the boundaries of ByVal, ByRef, Optional, ParamArray, generics, or lambdas
  • Retain Async, Await, Task, Async Sub, cancellation, and UI thread conditions.
  • Retain LINQ queries, Handles / WithEvents / AddHandler / RemoveHandler, and Try / Catch / Finally
  • Visually check XML Literal, #If / #Const, and interpolated strings especially carefully before and after masking

The current tool does not parse SQL, connection strings, URLs, or JSON inside strings. If necessary, inspect separate copies with SQL, JSON, URL, or log tools as well.

Final check before sharing with AI, an issue, or a vendor

  • Search for Password, API Key, Token, Connection String, Cookie, and Authorization.
  • Check customer names, email addresses, employee numbers, control names, form names, and business enums and constants
  • Check UNC Paths, Windows user names, Server / Database names, URLs, and IP Addresses
  • Also inspect SQL, Logs, Exception Messages, AppSettings, and Environment Variables.
  • Retain .NET, Visual Studio, the target framework, application type, exception type, and reproduction steps.
  • Share only the masking results, and retain the original code and mapping information in an access-controlled location

If real credentials were included in code or Git history, masking the string alone is not sufficient. Revoke and reissue them, and review secret management.

What the current VB.NET code masking tool can and cannot do

ItemCurrent supportPoints to note
InputPaste VB.NET textDo not directly load .vb, .vbproj, or solutions, process an entire project, or download files.
CategoryClasses / types, functions / methods, identifiers, values, commentsNot equivalent to syntax, type, and reference analysis by Roslyn, Visual Studio, or the VB Compiler.
declarationInfer Class, Structure, Interface, Enum, Namespace, Module, Delegate, Sub, Function, Property, Operator, variables, and arguments from contextDoes not semantically analyze Overload resolution, Extension Methods, Partial type merging, Event Wiring, or Designer integration.
ValuesReplace String, Char, Date, and Number according to their typesDo not parse the internals of connection strings, SQL, XML, JSON, URLs, or file paths by field
VB-specific syntaxPreserve reserved words such as Option, Nothing, ByVal, ByRef, LINQ, Async, Await, and Handles.Does not determine the correctness of Nullable, Control Flow, Thread, UI Context, or type conversion.
compound syntaxHandle directives, XML documentation comments, and interpolated strings as tokensAn interpolated string replaces the entire value. XML literals, #If, and #Const are not validated with compiler-equivalent behavior.
outputCopy results, clear all, and individually unmask results by right-clickingDoes not provide Mapping View, Mapping Download, saved history, or restoration files
SaveSave only display settings such as font and theme to LocalStorageDo not save input VB.NET, results, or mappings in LocalStorage.
PrivacyProcess input and conversion in the browser.Do not send or store VB.NET code and results on the Develop Tools server

Masking results are copies for sharing. They do not replace Visual Studio builds, compiler diagnostics, unit tests, or a security review.

Check the specification with official Microsoft documentation and the target project

VB.NET behavior varies by Target Framework, Project settings, UI Framework, and Library Version. Do not make conclusions based only on article examples; check Microsoft Learn and Build results for the target Project.

Example: Consult AI about internal WinForms code

Create a sharing copy instead of using the original project, and mask classes, methods, variables, strings, numbers, and comments. Preserve the target framework, exception type, and reproduction steps, then visually review the result.

Use example.test or dummy objects instead of real credentials, real customer information, or internal paths, and verify only the minimum scope needed to reproduce the issue.

  1. Extract minimal reproducible code into another copy
  2. Mask identifiers, values, and comments
  3. Compare VB.NET syntax and type Context
  4. Share only the masking results

You can individually unmask anonymized locations in the result by right-clicking. Before sending, recheck whether the restored original information is truly necessary for sharing.

Frequently asked questions

Can I directly load .vb, .vbproj, or solution files?
Direct loading is not supported. Paste the required VB.NET text into the input field. The current tool does not provide analysis equivalent to Roslyn, MSBuild, Visual Studio, or the VB Compiler.
Can it also determine the correctness of Nothing, type conversion, Async, LINQ, and XML Literals?
No semantic analysis is performed. Masking preserves reserved words and symbols, but does not analyze the meaning of types, Control Flow, Threads, Query Providers, XML, or Conditional Compilation. Verify with Build and Test.
Is the entered VB.NET code sent to a server?
Input and masking results are processed in the browser and are not sent to or stored on the Develop Tools server. Only display settings are saved to LocalStorage; there is no Mapping View or history storage.