# Diagnostic Flags for vorssaint-utils: Complete Environment Diagnostics Guide

> Explore the six diagnostic flags in vorssaint-utils. Get a complete environment snapshot for effective troubleshooting. Learn about version, macOS, model, language, beta, and update channel.

- Repository: [vorssaint/vorssaint-utils](https://github.com/vorssaint/vorssaint-utils)
- Tags: how-to-guide
- Published: 2026-09-08

---

**vorssaint-utils exposes six diagnostic flags—App version & build, macOS version, Mac model, Language, Beta badge, and Update channel—that provide a comprehensive snapshot of the runtime environment for troubleshooting.**

The `vorssaint-utils` Swift package includes a built-in diagnostics system designed to streamline bug reporting and user support. These diagnostic flags capture critical system and application state information, making it easy to identify environment-specific issues. Understanding these flags helps developers and support teams quickly diagnose problems across different macOS versions and hardware configurations.

## What Are the Diagnostic Flags in vorssaint-utils?

The diagnostic flags in vorssaint-utils represent specific pieces of environmental data collected by the `FeedbackDiagnostics` structure. According to the source code in [`FeedbackView.swift`](https://github.com/vorssaint/vorssaint-utils/blob/main/FeedbackView.swift), the system captures the following six flags:

- **App version & build**: Displays the current version string and build number of the application, sourced from the main bundle.
- **macOS version**: Reports the operating system version string as provided by the system.
- **Mac model** (optional): Identifies the specific hardware model (e.g., "MacBookPro15,2") when available; this field remains hidden if detection fails.
- **Language**: Shows the current system locale and language settings.
- **Beta badge**: Indicates build status using visual markers—"✓" for beta builds and "○" for stable releases.
- **Update channel**: Displays the release track (e.g., "Stable", "Beta") formatted for human readability.

These values populate the feedback UI at lines 170–175 of [`FeedbackView.swift`](https://github.com/vorssaint/vorssaint-utils/blob/main/FeedbackView.swift), providing users with a transparent view of their configuration before submitting reports.

## How to Access Diagnostic Flags Programmatically

Retrieve the current diagnostic snapshot using the `FeedbackDiagnostics.current()` method. This static method returns a fully populated structure containing all available flags.

```swift
// Retrieve the current diagnostics
let diagnostics = FeedbackDiagnostics.current()

print("Version: \(diagnostics.appVersion) (\(diagnostics.appBuild))")
print("macOS: \(diagnostics.macOS)")
if let model = diagnostics.macModel {
    print("Mac model: \(model)")
}
print("Language: \(diagnostics.language)")
print("Beta build: \(diagnostics.isBeta ? "✓" : "○")")
print("Update channel: \(diagnostics.updateChannel)")

```

The `current()` method automatically gathers system information, making it unnecessary to manually query `ProcessInfo` or `Locale` APIs when collecting environment details for support logs.

## Implementation Architecture

### FeedbackDiagnostics.swift (Data Collection)

The [`FeedbackDiagnostics.swift`](https://github.com/vorssaint/vorssaint-utils/blob/main/FeedbackDiagnostics.swift) file defines the structure and data collection logic for the diagnostic flags. This source file implements the `current()` factory method that queries `Bundle.main` for version information, `ProcessInfo` for macOS version data, and system profiling APIs for hardware model detection.

### FeedbackView.swift (UI Rendering)

The [`FeedbackView.swift`](https://github.com/vorssaint/vorssaint-utils/blob/main/FeedbackView.swift) file renders the diagnostic flags within the user interface. Lines 170–175 specifically handle the presentation layer:

- **Line 170**: Renders the **App version & build** flag
- **Line 171**: Displays the **macOS version** flag  
- **Line 172**: Conditionally shows the **Mac model** flag when detected
- **Line 173**: Presents the **Language** locale settings
- **Line 174**: Draws the **Beta badge** status indicator
- **Line 175**: Formats the **Update channel** string

This separation of concerns ensures that data collection remains independent from presentation logic, allowing the diagnostics to be used across different UI contexts or logging systems.

## Summary

- vorssaint-utils provides **six diagnostic flags** covering version, OS, hardware, locale, build status, and release channel information.
- Access flags programmatically via `FeedbackDiagnostics.current()` defined in [`FeedbackDiagnostics.swift`](https://github.com/vorssaint/vorssaint-utils/blob/main/FeedbackDiagnostics.swift).
- The **Mac model** flag is optional and only displays when hardware detection succeeds.
- All flags render in the feedback UI through [`FeedbackView.swift`](https://github.com/vorssaint/vorssaint-utils/blob/main/FeedbackView.swift) (lines 170–175).
- The system distinguishes beta builds using boolean checks that display "✓" or "○" visual indicators.

## Frequently Asked Questions

### How do I retrieve diagnostic flags programmatically in vorssaint-utils?

Call `FeedbackDiagnostics.current()` to obtain a structure containing all six diagnostic flags. This method automatically queries system APIs and bundle information, returning ready-to-use values for `appVersion`, `macOS`, `macModel`, `language`, `isBeta`, and `updateChannel`.

### What information does the Mac model diagnostic flag include?

The Mac model flag contains the specific hardware identifier string (e.g., "MacBookPro15,2" or "Mac14,2") as reported by the system profiler. This optional flag only appears in the UI when the detection succeeds, providing precise hardware context for troubleshooting architecture-specific issues.

### Is the beta badge diagnostic flag available for all builds?

Yes, the beta badge flag exists for all builds but displays different visual indicators. The flag uses a boolean `isBeta` property that renders as "✓" when the app is a beta build and "○" when running a stable release, allowing users to immediately identify which update channel they are using.

### Where are diagnostic flags displayed in the vorssaint-utils interface?

Diagnostic flags render in the feedback user interface defined in [`FeedbackView.swift`](https://github.com/vorssaint/vorssaint-utils/blob/main/FeedbackView.swift). The view displays all six flags—App version, macOS version, Mac model, Language, Beta badge, and Update channel—between lines 170 and 175, presenting a consolidated environment summary before users submit support requests.