Private/Get-NSPConditionalAccessStrengthCatalog.ps1

function Get-NSPConditionalAccessStrengthCatalog {
    <#
    .SYNOPSIS
        The authentication strengths definitions can reference as {Strength:<Name>}: Microsoft's built-in ones and our custom ones.
    .DESCRIPTION
        Built-in strengths (BuiltInId) have the same ID in every tenant; they resolve to it
        directly and are never created or bound.
 
        A custom strength is matched in the tenant by its allowed combinations, not its name: any
        custom strength with exactly these combinations is bound instead of creating another.
    #>

    [CmdletBinding()]
    [OutputType([hashtable])]
    param()
    @{
        Mfa = @{
            DisplayName = 'Multifactor authentication'
            BuiltInId = '00000000-0000-0000-0000-000000000002'
        }
        PasswordlessMfa = @{
            DisplayName = 'Passwordless MFA'
            BuiltInId = '00000000-0000-0000-0000-000000000003'
        }
        PhishingResistant = @{
            DisplayName = 'Phishing-resistant MFA'
            BuiltInId = '00000000-0000-0000-0000-000000000004'
        }
        TapOnly = @{
            DisplayName = 'NSP Temporary Access Pass only'
            Description = 'One-time or multi-use Temporary Access Pass. Managed by NSP.M365.ConditionalAccess.'
            AllowedCombinations = @('temporaryAccessPassOneTime', 'temporaryAccessPassMultiUse')
        }
    }
}