This page contains Windows bias

About This Page

This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.

Bias Analysis

Bias Types:
⚠️ powershell_heavy
⚠️ windows_first
⚠️ windows_tools
⚠️ missing_linux_example
Summary:
The documentation page demonstrates a moderate Windows bias. Administrative instructions and tooling references (such as Azure PowerShell and the Azure portal) are presented before or more prominently than cross-platform alternatives. The only code sample is in C#, a language most associated with Windows development. There are no explicit Linux shell or scripting examples, and no mention of Linux-native tools or workflows. While Azure CLI is mentioned, it is listed after PowerShell, and there are no Bash or Linux-specific command examples. The documentation assumes familiarity with Windows-centric patterns and tools.
Recommendations:
  • Provide example commands for both Azure PowerShell and Azure CLI side-by-side, making clear that Azure CLI is fully cross-platform and often preferred for Linux/macOS users.
  • Include at least one example of generating a SAS token using Bash/shell scripting (e.g., using openssl and curl), or link to such examples.
  • When referencing the Azure portal, clarify that it is web-based and platform-agnostic, but also provide CLI alternatives for all portal actions.
  • Add code samples in additional languages commonly used on Linux (e.g., Python, JavaScript/Node.js), or link to such samples.
  • Avoid using Windows-centric language (such as referencing PowerShell or C# first) unless there is a technical reason; strive for neutral ordering or explicit cross-platform parity.
  • Explicitly mention that all SDKs and tools are available on Linux, and provide links to relevant installation guides for Linux users.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-08-17 00:01 #83 in_progress ✅ Clean
2025-07-13 21:37 #48 completed ✅ Clean
2025-07-12 23:44 #41 in_progress ❌ Biased

Flagged Code Snippets

/// <summary> /// Send claim-based security (CBS) token /// </summary> /// <param name="shareAccessSignature">Shared access signature (token) to send</param> private bool PutCbsToken(Connection connection, string sasToken) { bool result = true; Session session = new Session(connection); string cbsClientAddress = "cbs-client-reply-to"; var cbsSender = new SenderLink(session, "cbs-sender", "$cbs"); var cbsReceiver = new ReceiverLink(session, cbsClientAddress, "$cbs"); // construct the put-token message var request = new Message(sasToken); request.Properties = new Properties(); request.Properties.MessageId = Guid.NewGuid().ToString(); request.Properties.ReplyTo = cbsClientAddress; request.ApplicationProperties = new ApplicationProperties(); request.ApplicationProperties["operation"] = "put-token"; request.ApplicationProperties["type"] = "servicebus.windows.net:sastoken"; request.ApplicationProperties["name"] = Fx.Format("amqp://{0}/{1}", sbNamespace, entity); cbsSender.Send(request); // receive the response var response = cbsReceiver.Receive(); if (response == null || response.Properties == null || response.ApplicationProperties == null) { result = false; } else { int statusCode = (int)response.ApplicationProperties["status-code"]; if (statusCode != (int)HttpStatusCode.Accepted && statusCode != (int)HttpStatusCode.OK) { result = false; } } // the sender/receiver might be kept open for refreshing tokens cbsSender.Close(); cbsReceiver.Close(); session.Close(); return result; }