use serde::{Deserialize, Deserializer, Serialize, Serializer};

/// Types of secrets that can be detected
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum SecretType {
    // Cloud Provider Credentials
    AwsAccessKey,
    AwsSecretKey,
    AwsSessionToken,
    AwsMwsKey,
    GcpApiKey,
    GcpServiceAccount,
    AzureStorageKey,
    AzureConnectionString,
    AzureClientSecret,

    // Version Control
    GitHubToken,
    GitHubPat,
    GitHubOauth,
    GitLabToken,
    GitLabPat,
    BitbucketToken,

    // API Keys
    StripeApiKey,
    StripeRestrictedKey,
    SendGridApiKey,
    TwilioApiKey,
    SlackToken,
    SlackWebhook,
    MailgunApiKey,
    MailchimpApiKey,
    HerokuApiKey,

    // Database
    DatabaseUrl,
    MongoDbConnectionString,
    PostgresConnectionString,
    MysqlConnectionString,
    RedisConnectionString,

    // Private Keys
    RsaPrivateKey,
    SshPrivateKey,
    PgpPrivateKey,
    EcPrivateKey,
    OpensslPrivateKey,

    // Tokens
    JwtToken,
    OAuthToken,
    GenericApiKey,
    GenericSecret,

    // AI/ML Platforms
    OpenAiApiKey,
    AnthropicApiKey,
    CohereApiKey,
    HuggingFaceToken,
    ReplicateApiKey,

    // Additional Cloud/SaaS
    DatadogApiKey,
    DatadogAppKey,
    CloudflareApiKey,
    CloudflareApiToken,
    DigitalOceanToken,
    DigitalOceanSpacesKey,
    VercelToken,
    NetlifyToken,
    LinearApiKey,
    NotionApiKey,
    AirtableApiKey,
    PlanetScaleToken,

    // Package Registries
    NpmToken,
    PyPiApiToken,
    NuGetApiKey,
    RubyGemsApiKey,

    // Communication
    DiscordBotToken,
    DiscordWebhook,
    TelegramBotToken,

    // E-commerce / Payment
    ShopifyApiKey,
    ShopifySharedSecret,
    SquareAccessToken,
    PaypalClientSecret,

    // Authentication
    OktaApiToken,
    Auth0ManagementToken,
    FirebaseApiKey,
    SupabaseAnonKey,
    SupabaseServiceKey,

    // Infrastructure
    DockerHubToken,
    HashiCorpVaultToken,
    NewRelicApiKey,
    SentryDsn,
    AlgoliaApiKey,
    ElasticApiKey,
    GrafanaApiKey,
    CircleCiToken,
    TravisCiToken,

    // New: Additional services
    PagerDutyApiKey,
    JiraApiToken,
    BitbucketAppPassword,
    TerraformCloudToken,
    PulumiAccessToken,
    FastlyApiToken,
    LaunchDarklyKey,
    MapboxToken,
    BraintreeAccessToken,
    PlaidClientSecret,
    DopplerToken,
    NetlifyPat,
    RenderApiKey,
    FlyAccessToken,
    ConfluentApiKey,
    DatabricksToken,
    SnowflakeCredential,
    SumoLogicKey,
    PosthogApiKey,
    AmplitudeApiKey,
    SegmentWriteKey,
    MixpanelToken,

    OnePasswordSecretKey,
    OnePasswordServiceToken,
    AdobeClientSecret,
    AgeSecretKey,
    AlibabaAccessKey,
    AlibabaSecretKey,
    ArtifactoryApiKey,
    ArtifactoryReferenceToken,
    AsanaSecret,
    AzureAdClientSecret,
    ClojarsApiToken,
    CodecovAccessToken,
    CoinbaseAccessToken,
    ContentfulApiToken,
    DropboxApiToken,
    DropboxLongLivedToken,
    DropboxShortLivedToken,
    DuffelApiToken,
    DynatraceApiToken,
    EasyPostApiToken,
    EasyPostTestApiToken,
    FacebookAccessToken,
    FacebookPageAccessToken,
    FlutterwaveSecretKey,
    FrameIoApiToken,
    FreshbooksAccessToken,
    GitHubAppToken,
    GitHubFineGrainedPat,
    GoogleOAuthClientSecret,
    IntercomAccessToken,
    KrakenAccessToken,
    LobApiKey,
    MessageBirdApiKey,
    NewRelicBrowserApiKey,
    NytimesAccessToken,
    PostmanApiToken,
    Pkcs8PrivateKey,
    DsaPrivateKey,
    RapidApiKey,
    ReadmeApiKey,
    ScalingoApiToken,
    SourcegraphAccessToken,
    TailscaleApiKey,
    TencentSecretId,
    TrelloAccessToken,
    TwitchApiToken,
    TwitterApiKey,
    TwitterAccessToken,
    TypeformApiToken,
    VaultBatchToken,
    YandexApiKey,
    YandexAwsAccessToken,
    ZendeskSecretKey,
    BeamerApiToken,
    BitwardenApiKey,
    PlanetScalePassword,
    InfracostApiKey,
    PrefectApiToken,
    RailwayApiToken,
    NeonApiKey,
    TurborepoAccessToken,

    AwsBedrockApiKey,
    AzureDevOpsPat,
    AzureCosmosDbKey,
    AzureFunctionKey,
    AzureSasToken,
    AzureSearchAdminKey,
    AzureContainerRegistryKey,
    AzureAppConfigKey,
    DigitalOceanOAuthToken,
    DigitalOceanRefreshToken,
    CloudflareGlobalApiKey,
    CloudflareOriginCaKey,
    IbmCloudApiKey,
    OracleCloudApiKey,
    LinodeApiToken,
    VultrApiKey,
    HetznerApiToken,
    ScalewayApiKey,
    CiscoMerakiApiKey,
    ClickHouseApiSecret,
    AnthropicAdminApiKey,
    DeepSeekApiKey,
    ElevenLabsApiKey,
    DeepgramApiKey,
    AssemblyAiApiKey,
    MistralApiKey,
    GroqApiKey,
    TogetherAiApiKey,
    FireworksAiApiKey,
    Ai21LabsApiKey,
    StabilityAiApiKey,
    PerplexityApiKey,
    RunPodApiKey,
    WandBApiKey,
    GoogleAiStudioKey,
    AdyenApiKey,
    RazorpayKeyId,
    RazorpayKeySecret,
    GoCardlessApiToken,
    RecurlyApiKey,
    ChargeBeeApiKey,
    PaddleApiKey,
    LemonSqueezyApiKey,
    MollieApiKey,
    PaystackSecretKey,
    FinicityApiToken,
    FinicityClientSecret,
    FinnhubAccessToken,
    CheckoutComApiKey,
    DwollaApiKey,
    BittrexAccessKey,
    BittrexSecretKey,
    KucoinAccessToken,
    BinanceApiKey,
    CoinMarketCapApiKey,
    VonageApiKey,
    PlivoApiKey,
    TelnyxApiKey,
    InfobipApiKey,
    MailjetApiKey,
    MailjetSecretKey,
    PostmarkApiToken,
    SparkPostApiKey,
    BrevoApiKey,
    ResendApiKey,
    KlaviyoApiKey,
    ActiveCampaignApiKey,
    CustomerIoApiKey,
    MicrosoftTeamsWebhook,
    ZoomApiKey,
    BuildKiteApiToken,
    DroneCiAccessToken,
    JenkinsApiToken,
    GitLabRunnerToken,
    SemaphoreCiToken,
    AppVeyorApiToken,
    CodeMagicApiToken,
    HarnessApiKey,
    HarnessPat,
    TeamCityApiToken,
    HoneycombApiKey,
    SplunkHecToken,
    RollbarApiKey,
    BugSnagApiKey,
    AirbrakeProjectKey,
    LogglyApiToken,
    HealthchecksIoApiKey,
    ChecklyApiKey,
    BetterStackApiToken,
    AppDynamicsApiKey,
    InstanaApiToken,
    ElasticCloudApiKey,
    LogRocketApiKey,
    NewRelicLicenseKey,
    NewRelicInsightsQueryKey,
    HubSpotApiKey,
    SalesforceApiToken,
    PipedriveApiToken,
    MondayApiKey,
    ClickUpPersonalToken,
    FreshdeskApiKey,
    FrontApiToken,
    HelpScoutApiKey,
    ZohoApiKey,
    BasecampApiKey,
    WrikeApiToken,
    CopperApiKey,
    CloseCrmApiKey,
    CalendlyApiKey,
    DocuSignApiKey,
    StrapiApiToken,
    SanityApiToken,
    PrismicApiToken,
    StoryblokApiToken,
    DatoCmsApiToken,
    GhostAdminApiKey,
    WebflowApiToken,
    ButterCmsApiKey,
    ContentstackToken,
    BuilderIoApiKey,
    ClerkApiKey,
    WorkOsApiKey,
    StytchApiKey,
    Auth0ClientSecret,
    OneLoginApiKey,
    DuoApiKey,
    JumpCloudApiKey,
    FusionAuthApiKey,
    KeycloakClientSecret,
    CognitoClientSecret,
    CargoRegistryToken,
    HexPmApiKey,
    ComposerApiToken,
    CratesIoApiToken,
    CocoaPodsToken,
    UpstashRedisToken,
    TursoApiToken,
    CockroachDbConnectionString,
    FaunaDbApiKey,
    InfluxDbToken,
    Neo4jCredential,
    ElasticsearchConnectionString,
    AivenApiToken,
    TimescaleDbToken,
    CouchbaseConnectionString,
    AkamaiApiKey,
    BunnyCdnApiKey,
    KeyCdnApiKey,
    StackPathApiKey,
    Ns1ApiKey,
    DnSimpleApiToken,
    DefinedNetworkingApiToken,
    CloudFrontKey,
    Route53Key,
    FastlyPersonalToken,
    BigCommerceApiToken,
    WooCommerceApiKey,
    CommercetoolsApiKey,
    ShopwareApiKey,
    EtsyAccessToken,
    MedusaApiKey,
    SwellApiKey,
    SquareOAuthToken,
    ShopifyAccessToken,
    AdyenClientKey,
    HereMapsApiKey,
    TomTomApiKey,
    LocationIqApiKey,
    PositionStackApiKey,
    OpenWeatherMapApiKey,
    MuxApiKey,
    CloudinaryApiSecret,
    ImageKitApiKey,
    UploadcareApiKey,
    LoomApiKey,
    DeepLApiKey,
    CrowdinApiToken,
    LokaliseApiToken,
    TransifexApiToken,
    SmartlingApiKey,
    FigmaPat,
    CanvaApiToken,
    MiroApiToken,
    SlackAppToken,
    SlackConfigToken,
    InVisionApiKey,
    ZeplinApiKey,
    AbstractApiKey,
    NotionOAuthToken,
    AirtableOAuthToken,
    EtherscanApiKey,
    AlchemyApiKey,
    InfuraApiKey,
    MoralisApiKey,
    CoinApiKey,
    BitfinexApiKey,
    BlockNativeApiKey,
    BscScanApiKey,
    AnkrApiKey,
    QuickNodeApiKey,
    OmnisendApiKey,
    MailerLiteApiKey,
    ConvertKitApiSecret,
    DripApiKey,
    IterableApiKey,
    AutopilotApiKey,
    MoosendApiKey,
    CampaignMonitorApiKey,
    ConstantContactApiKey,
    AweberApiKey,
    GetResponseApiKey,
    SendPulseApiKey,
    MailerSendApiKey,
    LoopsApiKey,
    EmailOctopusApiKey,
    GitGuardianApiToken,
    NightfallApiKey,
    SnykApiToken,
    SonarQubeToken,
    CodeClimateApiToken,
    DeployHqApiKey,
    VeracodeApiKey,
    CrowdStrikeApiKey,
    LaunchableApiKey,
    CircleCiPersonalToken,
    GiteaAccessToken,
    BitbucketServerToken,
    JFrogIdentityToken,
    GitLabProjectToken,
    GiteePat,
    VirustotalApiKey,
    ShodanApiKey,
    CensysApiKey,
    SecurityTrailsApiKey,
    HaveIBeenPwnedApiKey,
    AbuseIpDbApiKey,
    GreyNoiseApiKey,
    AlienVaultApiKey,
    UrlScanApiKey,
    BinaryEdgeApiKey,
    AccuWeatherApiKey,
    AdafruitApiKey,
    AgoraApiKey,
    AirshipApiKey,
    AirVisualApiKey,
    ApifyApiKey,
    ApiFlashApiKey,
    ApiLayerApiKey,
    ApolloApiKey,
    AppFollowApiKey,
    AuthressServiceKey,
    AviationStackApiKey,
    AxonautApiKey,
    BannerbearApiKey,
    BaremetricsApiKey,
    BlazeMeterApiKey,
    BrowserStackAccessKey,
    CalendarificApiKey,
    CannyIoApiKey,
    ChartMogulApiKey,
    ClarifaiApiKey,
    ClearbitApiKey,
    CloudConvertApiKey,
    CloudsmithApiKey,
    CodacyApiToken,
    ConvertKitApiKey,
    CoverallsApiToken,
    CurrencyLayerApiKey,
    DataboxApiKey,
    DenoDeployToken,
    DetectifyApiKey,
    DiffBotApiKey,
    DisqusApiKey,
    DotDigitalApiKey,
    EventbriteApiKey,
    EverhourApiKey,
    ExchangeRateApiKey,
    FeedierApiKey,
    FiberyApiKey,
    FixerIoApiKey,
    FleetbaseApiKey,
    FloatApiKey,
    FoursquareApiKey,
    FullStoryApiKey,
    GitterAccessToken,
    HarvestApiToken,
    HeapApiKey,
    HiveApiKey,
    HotjarApiKey,
    IpStackApiKey,
    JotFormApiKey,
    LiveAgentApiKey,
    LoginRadiusApiKey,
    LunacrushApiKey,
    MailboxLayerApiKey,
    MaxMindLicenseKey,
    MeaningCloudApiKey,
    MediaStackApiKey,
    NasdaqDataLinkApiKey,
    NewsApiKey,
    NovuApiKey,
    OneSignalApiKey,
    OpenCageApiKey,
    OpenExchangeRatesApiKey,
    PandaDocApiKey,
    PivotalTrackerApiToken,
    PowerBiApiKey,
    SauceLabsApiKey,
    ScraperApiKey,
    SerpApiKey,
    ShortcutApiToken,
    SmartyApiKey,
    StatusCakeApiKey,
    TaxJarApiToken,
    TeleSignApiKey,
    TimekitApiKey,
    TravisCiApiToken,
    UploadIoApiKey,
    UserflowApiKey,
    WakaTimeApiKey,
    ZapierApiKey,
    ZoomInfoApiKey,
    FlutterwaveEncryptionKey,
    FlutterwavePublicKey,
    FlyIoPersonalToken,
    AdafruitIoApiKey,
    AdobeClientId,
    AsanaClientId,
    AtlassianApiToken,
    AbyssaleApiKey,
    AdzunaApiKey,
    AeroWorkflowApiKey,
    AhaApiKey,
    AirbrakeUserKey,
    AlconostApiKey,
    AlegraApiKey,
    AlethiaApiKey,
    AllSportsApiKey,
    AmadeusApiKey,
    AmbeeApiKey,
    AnypointApiKey,
    ApactaApiKey,
    Api2CartApiKey,
    ApiDeckApiKey,
    ApifonicaApiKey,
    ApimaticApiKey,
    ApimetricsApiKey,
    ApiTemplateApiKey,
    AppcuesApiKey,
    AppointeddApiKey,
    AppOpticsApiKey,
    AppSynergyApiKey,
    ApptivoApiKey,
    ArtsyApiKey,
    AteraApiKey,
    AuddApiKey,
    AutodeskApiKey,
    AutokloseApiKey,
    AvazaApiKey,
    AylienApiKey,
    AyrshareApiKey,
    AzureBatchKey,
    AzureOpenAiApiKey,
    AzureSearchQueryKey,
    AzureApiManagementKey,
    BeeboleApiKey,
    BesnappyApiKey,
    BestTimeApiKey,
    BillomatApiKey,
    BingSubscriptionKey,
    BitBarApiKey,
    BitcoinAverageApiKey,
    BitlyAccessToken,
    BitMexApiKey,
    BlitAppApiKey,
    BloggerApiKey,
    BombBombApiKey,
    BoostNoteApiKey,
    BorgBaseApiKey,
    BoxApiKey,
    BoxOAuthToken,
    BrandfetchApiKey,
    BrowshotApiKey,
    BuddyNsApiKey,
    BudibaseApiKey,
    BugHerdApiKey,
    BulbulApiKey,
    BulkSmsApiKey,
    CaflouApiKey,
    CalorieNinjaApiKey,
    CampaynApiKey,
    CapsuleCrmApiKey,
    CaptainDataApiKey,
    CarbonInterfaceApiKey,
    CashboardApiKey,
    CaspioApiKey,
    CentralStationCrmApiKey,
    CexIoApiKey,
    ChatbotApiKey,
    ChatfuelApiKey,
    ChecIoApiKey,
    CheckvistApiKey,
    CiceroApiKey,
    ClickHelpApiKey,
    ClickSendApiKey,
    CliengoApiKey,
    ClientaryApiKey,
    ClinchPadApiKey,
    ClockifyApiKey,
    ClockworkSmsApiKey,
    CloudElementsApiKey,
    CloudImageApiKey,
    CloudMersiveApiKey,
    CloudPlanApiKey,
    CloverlyApiKey,
    ClozeApiKey,
    ClustDocApiKey,
    CodaApiKey,
    CodeQuiryApiKey,
    CoinLayerApiKey,
    CoinLibApiKey,
    Collect2ApiKey,
    ColumnApiKey,
    CommerceJsApiKey,
    CommoditiesApiKey,
    CompanyHubApiKey,
    ConfluentSecretKey,
    ConversionToolsApiKey,
    ConvertApiKey,
    ConvierApiKey,
    CountryLayerApiKey,
    CourierApiKey,
    CraftMyPdfApiKey,
    CryptoCompareApiKey,
    CurrencyCloudApiKey,
    CurrencyFreaksApiKey,
    CurrencyScoopApiKey,
    CurrentsApiKey,
    CustomerGuruApiKey,
    D7NetworkApiKey,
    DailyCoApiKey,
    DandelionApiKey,
    DareBoostApiKey,
    DataGovApiKey,
    DebounceApiKey,
    DeepAiApiKey,
    DelightedApiKey,
    DemioApiKey,
    DeputyApiKey,
    DetectLanguageApiKey,
    DfuseApiKey,
    DiggernautApiKey,
    DittoApiKey,
    DnsCheckApiKey,
    DocparserApiKey,
    DocumoApiKey,
    DovicoApiKey,
    DronaHqApiKey,
    DuplyApiKey,
    DynalistApiKey,
    DyspatchApiKey,
    EagleEyeNetworksApiKey,
    EasyInsightApiKey,
    EcoStruxureApiKey,
    EdamamApiKey,
    EdenAiApiKey,
    EightByEightApiKey,
    ElasticEmailApiKey,
    EnableXApiKey,
    EndorLabsApiKey,
    EnigmaApiKey,
    EnvoyApiKey,
    EraserApiKey,
    EthplorerApiKey,
    ExchangeRatesApiKey,
    ExportSdkApiKey,
    ExtractorApiKey,
    FacebookOAuthToken,
    FacePlusPlusApiKey,
    FastForexApiKey,
    FetchRssApiKey,
    FileIoApiKey,
    FinageApiKey,
    FinancialModelingPrepApiKey,
    FindlApiKey,
    FlatIoApiKey,
    FlexportApiKey,
    FlickrApiKey,
    FlightApiKey,
    FlightLabsApiKey,
    FlightStatsApiKey,
    FlowFluApiKey,
    FmfwApiKey,
    FormBucketApiKey,
    FormCraftApiKey,
    FormIoApiKey,
    FormSiteApiKey,
    FtpCredential,
    FulcrumApiKey,
    FxMarketApiKey,
    GcpApplicationDefaultCredentials,
    GeocodioApiKey,
    GetGistApiKey,
    GlassfrogApiKey,
    GoCanvasApiKey,
    GoogleMapsApiKey,
    GraphCmsApiKey,
    GraphhopperApiKey,
    GumroadApiKey,
    GuruApiKey,
    GyazoApiKey,
    HelpCrunchApiKey,
    HoneyBadgerApiKey,
    HubSpotPrivateAppToken,
    HumioApiKey,
    HunterApiKey,
    HyperTrackApiKey,
    IexCloudApiKey,
    ImgBbApiKey,
    InstamojoApiKey,
    InterzoidApiKey,
    InvoiceOceanApiKey,
    Ip2LocationApiKey,
    IpApiKey,
    IpDataApiKey,
    IpFindApiKey,
    IpGeolocationApiKey,
    IpifyApiKey,
    IpInfoApiKey,
    IpQualityScoreApiKey,
    JambonesApiKey,
    JanioApiKey,
    KanbanToolApiKey,
    KarbonApiKey,
    KeenApiKey,
    KickboxApiKey,
    KintoneApiKey,
    KlipfolioApiKey,
    KnockApiKey,
    KonakartApiKey,
    KylasApiKey,
    LarkSuitApiKey,
    LeadfeederApiKey,
    LemlistApiKey,
    LendflowApiKey,
    LessAnnoyingCrmApiKey,
    LeverApiKey,
    LexigramApiKey,
    LinearClientSecret,
    LinkPreviewApiKey,
    LiveChatApiKey,
    LivestormApiKey,
    LogzIoApiKey,
    LovenseApiKey,
    LoyverseApiKey,
    LunoApiKey,
    MagicApiKey,
    MailCheckApiKey,
    MailmodoApiKey,
    MailsacApiKey,
    MandrillApiKey,
    MapQuestApiKey,
    MeadowApiKey,
    MercuryApiKey,
    MetaApiKey,
    MindMeisterApiKey,
    MixMaxApiKey,
    MockoonApiKey,
    ModerationApiKey,
    MonFloApiKey,
    NhostApiKey,
    NoticeableApiKey,
    NumbersApiKey,
    NutshellApiKey,
    OandaApiKey,
    OnfleetApiKey,
    OpsGenieApiKey,
    OrbitApiKey,
    OryApiKey,
    PaperformApiKey,
    ParseHubApiKey,
    PdfCoApiKey,
    PdfLayerApiKey,
    PendoApiKey,
    PercyApiKey,
    PersonApiKey,
    PexelsApiKey,
    PinataApiKey,
    PipedreamApiKey,
    PlanhatApiKey,
    PlanyoApiKey,
    PleskApiKey,
    PodioApiKey,
    PollsApiKey,
    PostageAppApiKey,
    PrerenderApiKey,
    PrivacyCloudApiKey,
    ProfitwellApiKey,
    ProspectIoApiKey,
    ProxyCrawlApiKey,
    ProxyScrapeApiKey,
    PushBulletApiKey,
    PushoverApiKey,
    QaseApiKey,
    QuboleApiKey,
    QuickBaseApiKey,
    RampApiKey,
    RavenToolsApiKey,
    RawgApiKey,
    ReallySimpleSystemsApiKey,
    RebrandlyApiKey,
    RechargePaymentsApiKey,
    RecruiteeApiKey,
    RedisLabsApiKey,
    RefinerApiKey,
    ResmushApiKey,
    RestPackApiKey,
    RevApiKey,
    RevampCrmApiKey,
    RiteKitApiKey,
    RiveApiKey,
    RobinApiKey,
    RocketReachApiKey,
    RoninAppApiKey,
    Route4MeApiKey,
    RowndApiKey,
    RunscopeApiKey,
    SaladCloudApiKey,
    SalesMateApiKey,
    SatisMeterApiKey,
    SauceNaoApiKey,
    ScaleSerpApiKey,
    ScraperBoxApiKey,
    ScrapFlyApiKey,
    ScrapinApiKey,
    ScreenshotApiKey,
    ScriptrApiKey,
    SemantriaApiKey,
    SendBirdApiKey,
    ServiceBellApiKey,
    ServiceNowApiKey,
    ShipDayApiKey,
    ShipEngineApiKey,
    ShippingCloudApiKey,
    ShippoApiKey,
    ShotStackApiKey,
    ShutterStockApiKey,
    SignableApiKey,
    SignaturitApiKey,
    SimFinApiKey,
    SimpleSatApiKey,
    SimplyNotedApiKey,
    SimvolyApiKey,
    SirvApiKey,
    SiteLeafApiKey,
    SkylightApiKey,
    SmartSheetsApiKey,
    SmsApiKey,
    SnovApiKey,
    SonarCloudApiKey,
    SpoonacularApiKey,
    SpotifyApiKey,
    SslMateApiKey,
    StackHawkApiKey,
    StatusPageApiKey,
    StatusPalApiKey,
    StitchDataApiKey,
    StormBoardApiKey,
    StormGlassApiKey,
    StoryChiefApiKey,
    StripoApiKey,
    SurveyAnyplaceApiKey,
    SurveySparrowApiKey,
    SurvicateApiKey,
    SvixApiKey,
    SwiftypeApiKey,
    TallyFyApiKey,
    TatumIoApiKey,
    TeamGateApiKey,
    TeamworkApiKey,
    TextMagicApiKey,
    ThinkificApiKey,
    TicketTailorApiKey,
    TikTokApiKey,
    TimeCampApiKey,
    TinesWebhookApiKey,
    TodoistApiKey,
    TogglApiKey,
    TomorrowIoApiKey,
    TradierApiKey,
    TwilioAuthToken,
    TypesenseApiKey,
    TypetalkApiKey,
    UbidotsApiKey,
    UnityApiKey,
    UptimeRobotApiKey,
    UserStackApiKey,
    VatLayerApiKey,
    VeriphoneApiKey,
    VoiceflowApiKey,
    VoucheryApiKey,
    WebexApiKey,
    WebhookRelayApiKey,
    WebScraperApiKey,
    WebScrapingApiKey,
    WeekdoneApiKey,
    WhatCmsApiKey,
    WhoxyApiKey,
    WistiaApiKey,
    WitApiKey,
    WixApiKey,
    XeroApiKey,
    YelpApiKey,
    YextApiKey,
    YouNeedABudgetApiKey,
    YouTubeApiKey,
    ZendeskChatApiKey,
    ZenRowsApiKey,
    ZenScrapeApiKey,
    ZeroBounceApiKey,
    ZeroSslApiKey,
    ZipBooksApiKey,
    EncryptedPrivateKey,
    PuttyPrivateKey,

    // Other
    PasswordInUrl,
    GenericCredential,
    HighEntropyString,

    // Custom
    Custom(String),
}

impl Serialize for SecretType {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        serializer.serialize_str(self.as_str())
    }
}

impl<'de> Deserialize<'de> for SecretType {
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where
        D: Deserializer<'de>,
    {
        let s = String::deserialize(deserializer)?;
        match s.as_str() {
            "AWS Access Key" => Ok(SecretType::AwsAccessKey),
            "AWS Secret Key" => Ok(SecretType::AwsSecretKey),
            "AWS Session Token" => Ok(SecretType::AwsSessionToken),
            "AWS MWS Key" => Ok(SecretType::AwsMwsKey),
            "GCP API Key" => Ok(SecretType::GcpApiKey),
            "GCP Service Account" => Ok(SecretType::GcpServiceAccount),
            "Azure Storage Key" => Ok(SecretType::AzureStorageKey),
            "Azure Connection String" => Ok(SecretType::AzureConnectionString),
            "Azure Client Secret" => Ok(SecretType::AzureClientSecret),
            "GitHub Token" => Ok(SecretType::GitHubToken),
            "GitHub Personal Access Token" => Ok(SecretType::GitHubPat),
            "GitHub OAuth Token" => Ok(SecretType::GitHubOauth),
            "GitLab Token" => Ok(SecretType::GitLabToken),
            "GitLab Personal Access Token" => Ok(SecretType::GitLabPat),
            "Bitbucket Token" => Ok(SecretType::BitbucketToken),
            "Stripe API Key" => Ok(SecretType::StripeApiKey),
            "Stripe Restricted Key" => Ok(SecretType::StripeRestrictedKey),
            "SendGrid API Key" => Ok(SecretType::SendGridApiKey),
            "Twilio API Key" => Ok(SecretType::TwilioApiKey),
            "Slack Token" => Ok(SecretType::SlackToken),
            "Slack Webhook" => Ok(SecretType::SlackWebhook),
            "Mailgun API Key" => Ok(SecretType::MailgunApiKey),
            "Mailchimp API Key" => Ok(SecretType::MailchimpApiKey),
            "Heroku API Key" => Ok(SecretType::HerokuApiKey),
            "Database URL" => Ok(SecretType::DatabaseUrl),
            "MongoDB Connection String" => Ok(SecretType::MongoDbConnectionString),
            "PostgreSQL Connection String" => Ok(SecretType::PostgresConnectionString),
            "MySQL Connection String" => Ok(SecretType::MysqlConnectionString),
            "Redis Connection String" => Ok(SecretType::RedisConnectionString),
            "RSA Private Key" => Ok(SecretType::RsaPrivateKey),
            "SSH Private Key" => Ok(SecretType::SshPrivateKey),
            "PGP Private Key" => Ok(SecretType::PgpPrivateKey),
            "EC Private Key" => Ok(SecretType::EcPrivateKey),
            "OpenSSL Private Key" => Ok(SecretType::OpensslPrivateKey),
            "JWT Token" => Ok(SecretType::JwtToken),
            "OAuth Token" => Ok(SecretType::OAuthToken),
            "Generic API Key" => Ok(SecretType::GenericApiKey),
            "Generic Secret" => Ok(SecretType::GenericSecret),
            "OpenAI API Key" => Ok(SecretType::OpenAiApiKey),
            "Anthropic API Key" => Ok(SecretType::AnthropicApiKey),
            "Cohere API Key" => Ok(SecretType::CohereApiKey),
            "HuggingFace Token" => Ok(SecretType::HuggingFaceToken),
            "Replicate API Key" => Ok(SecretType::ReplicateApiKey),
            "Datadog API Key" => Ok(SecretType::DatadogApiKey),
            "Datadog App Key" => Ok(SecretType::DatadogAppKey),
            "Cloudflare API Key" => Ok(SecretType::CloudflareApiKey),
            "Cloudflare API Token" => Ok(SecretType::CloudflareApiToken),
            "DigitalOcean Token" => Ok(SecretType::DigitalOceanToken),
            "DigitalOcean Spaces Key" => Ok(SecretType::DigitalOceanSpacesKey),
            "Vercel Token" => Ok(SecretType::VercelToken),
            "Netlify Token" => Ok(SecretType::NetlifyToken),
            "Linear API Key" => Ok(SecretType::LinearApiKey),
            "Notion API Key" => Ok(SecretType::NotionApiKey),
            "Airtable API Key" => Ok(SecretType::AirtableApiKey),
            "PlanetScale Token" => Ok(SecretType::PlanetScaleToken),
            "NPM Token" => Ok(SecretType::NpmToken),
            "PyPI API Token" => Ok(SecretType::PyPiApiToken),
            "NuGet API Key" => Ok(SecretType::NuGetApiKey),
            "RubyGems API Key" => Ok(SecretType::RubyGemsApiKey),
            "Discord Bot Token" => Ok(SecretType::DiscordBotToken),
            "Discord Webhook" => Ok(SecretType::DiscordWebhook),
            "Telegram Bot Token" => Ok(SecretType::TelegramBotToken),
            "Shopify API Key" => Ok(SecretType::ShopifyApiKey),
            "Shopify Shared Secret" => Ok(SecretType::ShopifySharedSecret),
            "Square Access Token" => Ok(SecretType::SquareAccessToken),
            "PayPal Client Secret" => Ok(SecretType::PaypalClientSecret),
            "Okta API Token" => Ok(SecretType::OktaApiToken),
            "Auth0 Management Token" => Ok(SecretType::Auth0ManagementToken),
            "Firebase API Key" => Ok(SecretType::FirebaseApiKey),
            "Supabase Anon Key" => Ok(SecretType::SupabaseAnonKey),
            "Supabase Service Key" => Ok(SecretType::SupabaseServiceKey),
            "Docker Hub Token" => Ok(SecretType::DockerHubToken),
            "HashiCorp Vault Token" => Ok(SecretType::HashiCorpVaultToken),
            "New Relic API Key" => Ok(SecretType::NewRelicApiKey),
            "Sentry DSN" => Ok(SecretType::SentryDsn),
            "Algolia API Key" => Ok(SecretType::AlgoliaApiKey),
            "Elastic API Key" => Ok(SecretType::ElasticApiKey),
            "Grafana API Key" => Ok(SecretType::GrafanaApiKey),
            "CircleCI Token" => Ok(SecretType::CircleCiToken),
            "Travis CI Token" => Ok(SecretType::TravisCiToken),
            "PagerDuty API Key" => Ok(SecretType::PagerDutyApiKey),
            "Jira API Token" => Ok(SecretType::JiraApiToken),
            "Bitbucket App Password" => Ok(SecretType::BitbucketAppPassword),
            "Terraform Cloud Token" => Ok(SecretType::TerraformCloudToken),
            "Pulumi Access Token" => Ok(SecretType::PulumiAccessToken),
            "Fastly API Token" => Ok(SecretType::FastlyApiToken),
            "LaunchDarkly Key" => Ok(SecretType::LaunchDarklyKey),
            "Mapbox Token" => Ok(SecretType::MapboxToken),
            "Braintree Access Token" => Ok(SecretType::BraintreeAccessToken),
            "Plaid Client Secret" => Ok(SecretType::PlaidClientSecret),
            "Doppler Token" => Ok(SecretType::DopplerToken),
            "Netlify PAT" => Ok(SecretType::NetlifyPat),
            "Render API Key" => Ok(SecretType::RenderApiKey),
            "Fly Access Token" => Ok(SecretType::FlyAccessToken),
            "Confluent API Key" => Ok(SecretType::ConfluentApiKey),
            "Databricks Token" => Ok(SecretType::DatabricksToken),
            "Snowflake Credential" => Ok(SecretType::SnowflakeCredential),
            "Sumo Logic Key" => Ok(SecretType::SumoLogicKey),
            "PostHog API Key" => Ok(SecretType::PosthogApiKey),
            "Amplitude API Key" => Ok(SecretType::AmplitudeApiKey),
            "Segment Write Key" => Ok(SecretType::SegmentWriteKey),
            "Mixpanel Token" => Ok(SecretType::MixpanelToken),
            "1Password Secret Key" => Ok(SecretType::OnePasswordSecretKey),
            "1Password Service Token" => Ok(SecretType::OnePasswordServiceToken),
            "Adobe Client Secret" => Ok(SecretType::AdobeClientSecret),
            "Age Secret Key" => Ok(SecretType::AgeSecretKey),
            "Alibaba Access Key" => Ok(SecretType::AlibabaAccessKey),
            "Alibaba Secret Key" => Ok(SecretType::AlibabaSecretKey),
            "Artifactory API Key" => Ok(SecretType::ArtifactoryApiKey),
            "Artifactory Reference Token" => Ok(SecretType::ArtifactoryReferenceToken),
            "Asana Secret" => Ok(SecretType::AsanaSecret),
            "Azure AD Client Secret" => Ok(SecretType::AzureAdClientSecret),
            "Clojars API Token" => Ok(SecretType::ClojarsApiToken),
            "Codecov Access Token" => Ok(SecretType::CodecovAccessToken),
            "Coinbase Access Token" => Ok(SecretType::CoinbaseAccessToken),
            "Contentful API Token" => Ok(SecretType::ContentfulApiToken),
            "Dropbox API Token" => Ok(SecretType::DropboxApiToken),
            "Dropbox Long-Lived Token" => Ok(SecretType::DropboxLongLivedToken),
            "Dropbox Short-Lived Token" => Ok(SecretType::DropboxShortLivedToken),
            "Duffel API Token" => Ok(SecretType::DuffelApiToken),
            "Dynatrace API Token" => Ok(SecretType::DynatraceApiToken),
            "EasyPost API Token" => Ok(SecretType::EasyPostApiToken),
            "EasyPost Test API Token" => Ok(SecretType::EasyPostTestApiToken),
            "Facebook Access Token" => Ok(SecretType::FacebookAccessToken),
            "Facebook Page Access Token" => Ok(SecretType::FacebookPageAccessToken),
            "Flutterwave Secret Key" => Ok(SecretType::FlutterwaveSecretKey),
            "Frame.io API Token" => Ok(SecretType::FrameIoApiToken),
            "FreshBooks Access Token" => Ok(SecretType::FreshbooksAccessToken),
            "GitHub App Token" => Ok(SecretType::GitHubAppToken),
            "GitHub Fine-Grained PAT" => Ok(SecretType::GitHubFineGrainedPat),
            "Google OAuth Client Secret" => Ok(SecretType::GoogleOAuthClientSecret),
            "Intercom Access Token" => Ok(SecretType::IntercomAccessToken),
            "Kraken Access Token" => Ok(SecretType::KrakenAccessToken),
            "Lob API Key" => Ok(SecretType::LobApiKey),
            "MessageBird API Key" => Ok(SecretType::MessageBirdApiKey),
            "New Relic Browser API Key" => Ok(SecretType::NewRelicBrowserApiKey),
            "NY Times Access Token" => Ok(SecretType::NytimesAccessToken),
            "Postman API Token" => Ok(SecretType::PostmanApiToken),
            "PKCS8 Private Key" => Ok(SecretType::Pkcs8PrivateKey),
            "DSA Private Key" => Ok(SecretType::DsaPrivateKey),
            "RapidAPI Key" => Ok(SecretType::RapidApiKey),
            "ReadMe API Key" => Ok(SecretType::ReadmeApiKey),
            "Scalingo API Token" => Ok(SecretType::ScalingoApiToken),
            "Sourcegraph Access Token" => Ok(SecretType::SourcegraphAccessToken),
            "Tailscale API Key" => Ok(SecretType::TailscaleApiKey),
            "Tencent Secret ID" => Ok(SecretType::TencentSecretId),
            "Trello Access Token" => Ok(SecretType::TrelloAccessToken),
            "Twitch API Token" => Ok(SecretType::TwitchApiToken),
            "Twitter API Key" => Ok(SecretType::TwitterApiKey),
            "Twitter Access Token" => Ok(SecretType::TwitterAccessToken),
            "Typeform API Token" => Ok(SecretType::TypeformApiToken),
            "Vault Batch Token" => Ok(SecretType::VaultBatchToken),
            "Yandex API Key" => Ok(SecretType::YandexApiKey),
            "Yandex AWS Access Token" => Ok(SecretType::YandexAwsAccessToken),
            "Zendesk Secret Key" => Ok(SecretType::ZendeskSecretKey),
            "Beamer API Token" => Ok(SecretType::BeamerApiToken),
            "Bitwarden API Key" => Ok(SecretType::BitwardenApiKey),
            "PlanetScale Password" => Ok(SecretType::PlanetScalePassword),
            "Infracost API Key" => Ok(SecretType::InfracostApiKey),
            "Prefect API Token" => Ok(SecretType::PrefectApiToken),
            "Railway API Token" => Ok(SecretType::RailwayApiToken),
            "Neon API Key" => Ok(SecretType::NeonApiKey),
            "Turborepo Access Token" => Ok(SecretType::TurborepoAccessToken),
            "Abyssale API Key" => Ok(SecretType::AbyssaleApiKey),
            "Adzuna API Key" => Ok(SecretType::AdzunaApiKey),
            "AeroWorkflow API Key" => Ok(SecretType::AeroWorkflowApiKey),
            "Aha API Key" => Ok(SecretType::AhaApiKey),
            "Airbrake User Key" => Ok(SecretType::AirbrakeUserKey),
            "Alconost API Key" => Ok(SecretType::AlconostApiKey),
            "Alegra API Key" => Ok(SecretType::AlegraApiKey),
            "Alethia API Key" => Ok(SecretType::AlethiaApiKey),
            "AllSports API Key" => Ok(SecretType::AllSportsApiKey),
            "Amadeus API Key" => Ok(SecretType::AmadeusApiKey),
            "Ambee API Key" => Ok(SecretType::AmbeeApiKey),
            "Anypoint API Key" => Ok(SecretType::AnypointApiKey),
            "Apacta API Key" => Ok(SecretType::ApactaApiKey),
            "API2Cart API Key" => Ok(SecretType::Api2CartApiKey),
            "APIDeck API Key" => Ok(SecretType::ApiDeckApiKey),
            "Apifonica API Key" => Ok(SecretType::ApifonicaApiKey),
            "APIMatic API Key" => Ok(SecretType::ApimaticApiKey),
            "APIMetrics API Key" => Ok(SecretType::ApimetricsApiKey),
            "APITemplate API Key" => Ok(SecretType::ApiTemplateApiKey),
            "Appcues API Key" => Ok(SecretType::AppcuesApiKey),
            "Appointedd API Key" => Ok(SecretType::AppointeddApiKey),
            "AppOptics API Key" => Ok(SecretType::AppOpticsApiKey),
            "AppSynergy API Key" => Ok(SecretType::AppSynergyApiKey),
            "Apptivo API Key" => Ok(SecretType::ApptivoApiKey),
            "Artsy API Key" => Ok(SecretType::ArtsyApiKey),
            "Atera API Key" => Ok(SecretType::AteraApiKey),
            "Audd API Key" => Ok(SecretType::AuddApiKey),
            "Autodesk API Key" => Ok(SecretType::AutodeskApiKey),
            "Autoklose API Key" => Ok(SecretType::AutokloseApiKey),
            "Avaza API Key" => Ok(SecretType::AvazaApiKey),
            "Aylien API Key" => Ok(SecretType::AylienApiKey),
            "Ayrshare API Key" => Ok(SecretType::AyrshareApiKey),
            "Azure Batch Key" => Ok(SecretType::AzureBatchKey),
            "Azure OpenAI API Key" => Ok(SecretType::AzureOpenAiApiKey),
            "Azure Search Query Key" => Ok(SecretType::AzureSearchQueryKey),
            "Azure API Management Key" => Ok(SecretType::AzureApiManagementKey),
            "Beebole API Key" => Ok(SecretType::BeeboleApiKey),
            "Besnappy API Key" => Ok(SecretType::BesnappyApiKey),
            "BestTime API Key" => Ok(SecretType::BestTimeApiKey),
            "Billomat API Key" => Ok(SecretType::BillomatApiKey),
            "Bing Subscription Key" => Ok(SecretType::BingSubscriptionKey),
            "BitBar API Key" => Ok(SecretType::BitBarApiKey),
            "BitcoinAverage API Key" => Ok(SecretType::BitcoinAverageApiKey),
            "Bitly Access Token" => Ok(SecretType::BitlyAccessToken),
            "BitMEX API Key" => Ok(SecretType::BitMexApiKey),
            "BlitApp API Key" => Ok(SecretType::BlitAppApiKey),
            "Blogger API Key" => Ok(SecretType::BloggerApiKey),
            "BombBomb API Key" => Ok(SecretType::BombBombApiKey),
            "BoostNote API Key" => Ok(SecretType::BoostNoteApiKey),
            "BorgBase API Key" => Ok(SecretType::BorgBaseApiKey),
            "Box API Key" => Ok(SecretType::BoxApiKey),
            "Box OAuth Token" => Ok(SecretType::BoxOAuthToken),
            "Brandfetch API Key" => Ok(SecretType::BrandfetchApiKey),
            "Browshot API Key" => Ok(SecretType::BrowshotApiKey),
            "BuddyNS API Key" => Ok(SecretType::BuddyNsApiKey),
            "Budibase API Key" => Ok(SecretType::BudibaseApiKey),
            "BugHerd API Key" => Ok(SecretType::BugHerdApiKey),
            "Bulbul API Key" => Ok(SecretType::BulbulApiKey),
            "BulkSMS API Key" => Ok(SecretType::BulkSmsApiKey),
            "Caflou API Key" => Ok(SecretType::CaflouApiKey),
            "CalorieNinja API Key" => Ok(SecretType::CalorieNinjaApiKey),
            "Campayn API Key" => Ok(SecretType::CampaynApiKey),
            "Capsule CRM API Key" => Ok(SecretType::CapsuleCrmApiKey),
            "CaptainData API Key" => Ok(SecretType::CaptainDataApiKey),
            "Carbon Interface API Key" => Ok(SecretType::CarbonInterfaceApiKey),
            "Cashboard API Key" => Ok(SecretType::CashboardApiKey),
            "Caspio API Key" => Ok(SecretType::CaspioApiKey),
            "CentralStationCRM API Key" => Ok(SecretType::CentralStationCrmApiKey),
            "CEX.IO API Key" => Ok(SecretType::CexIoApiKey),
            "Chatbot API Key" => Ok(SecretType::ChatbotApiKey),
            "Chatfuel API Key" => Ok(SecretType::ChatfuelApiKey),
            "Chec.io API Key" => Ok(SecretType::ChecIoApiKey),
            "Checkvist API Key" => Ok(SecretType::CheckvistApiKey),
            "Cicero API Key" => Ok(SecretType::CiceroApiKey),
            "ClickHelp API Key" => Ok(SecretType::ClickHelpApiKey),
            "ClickSend API Key" => Ok(SecretType::ClickSendApiKey),
            "Cliengo API Key" => Ok(SecretType::CliengoApiKey),
            "Clientary API Key" => Ok(SecretType::ClientaryApiKey),
            "ClinchPad API Key" => Ok(SecretType::ClinchPadApiKey),
            "Clockify API Key" => Ok(SecretType::ClockifyApiKey),
            "Clockwork SMS API Key" => Ok(SecretType::ClockworkSmsApiKey),
            "Cloud Elements API Key" => Ok(SecretType::CloudElementsApiKey),
            "CloudImage API Key" => Ok(SecretType::CloudImageApiKey),
            "CloudMersive API Key" => Ok(SecretType::CloudMersiveApiKey),
            "CloudPlan API Key" => Ok(SecretType::CloudPlanApiKey),
            "Cloverly API Key" => Ok(SecretType::CloverlyApiKey),
            "Cloze API Key" => Ok(SecretType::ClozeApiKey),
            "ClustDoc API Key" => Ok(SecretType::ClustDocApiKey),
            "Coda API Key" => Ok(SecretType::CodaApiKey),
            "CodeQuiry API Key" => Ok(SecretType::CodeQuiryApiKey),
            "CoinLayer API Key" => Ok(SecretType::CoinLayerApiKey),
            "CoinLib API Key" => Ok(SecretType::CoinLibApiKey),
            "Collect2 API Key" => Ok(SecretType::Collect2ApiKey),
            "Column API Key" => Ok(SecretType::ColumnApiKey),
            "Commerce.js API Key" => Ok(SecretType::CommerceJsApiKey),
            "Commodities API Key" => Ok(SecretType::CommoditiesApiKey),
            "CompanyHub API Key" => Ok(SecretType::CompanyHubApiKey),
            "Confluent Secret Key" => Ok(SecretType::ConfluentSecretKey),
            "ConversionTools API Key" => Ok(SecretType::ConversionToolsApiKey),
            "ConvertAPI Key" => Ok(SecretType::ConvertApiKey),
            "Convier API Key" => Ok(SecretType::ConvierApiKey),
            "CountryLayer API Key" => Ok(SecretType::CountryLayerApiKey),
            "Courier API Key" => Ok(SecretType::CourierApiKey),
            "CraftMyPDF API Key" => Ok(SecretType::CraftMyPdfApiKey),
            "CryptoCompare API Key" => Ok(SecretType::CryptoCompareApiKey),
            "CurrencyCloud API Key" => Ok(SecretType::CurrencyCloudApiKey),
            "CurrencyFreaks API Key" => Ok(SecretType::CurrencyFreaksApiKey),
            "CurrencyScoop API Key" => Ok(SecretType::CurrencyScoopApiKey),
            "Currents API Key" => Ok(SecretType::CurrentsApiKey),
            "CustomerGuru API Key" => Ok(SecretType::CustomerGuruApiKey),
            "D7 Network API Key" => Ok(SecretType::D7NetworkApiKey),
            "Daily.co API Key" => Ok(SecretType::DailyCoApiKey),
            "Dandelion API Key" => Ok(SecretType::DandelionApiKey),
            "DareBoost API Key" => Ok(SecretType::DareBoostApiKey),
            "Data.gov API Key" => Ok(SecretType::DataGovApiKey),
            "DeBounce API Key" => Ok(SecretType::DebounceApiKey),
            "DeepAI API Key" => Ok(SecretType::DeepAiApiKey),
            "Delighted API Key" => Ok(SecretType::DelightedApiKey),
            "Demio API Key" => Ok(SecretType::DemioApiKey),
            "Deputy API Key" => Ok(SecretType::DeputyApiKey),
            "DetectLanguage API Key" => Ok(SecretType::DetectLanguageApiKey),
            "dfuse API Key" => Ok(SecretType::DfuseApiKey),
            "Diggernaut API Key" => Ok(SecretType::DiggernautApiKey),
            "Ditto API Key" => Ok(SecretType::DittoApiKey),
            "DNSCheck API Key" => Ok(SecretType::DnsCheckApiKey),
            "Docparser API Key" => Ok(SecretType::DocparserApiKey),
            "Documo API Key" => Ok(SecretType::DocumoApiKey),
            "Dovico API Key" => Ok(SecretType::DovicoApiKey),
            "DronaHQ API Key" => Ok(SecretType::DronaHqApiKey),
            "Duply API Key" => Ok(SecretType::DuplyApiKey),
            "Dynalist API Key" => Ok(SecretType::DynalistApiKey),
            "Dyspatch API Key" => Ok(SecretType::DyspatchApiKey),
            "Eagle Eye Networks API Key" => Ok(SecretType::EagleEyeNetworksApiKey),
            "EasyInsight API Key" => Ok(SecretType::EasyInsightApiKey),
            "EcoStruxure IT API Key" => Ok(SecretType::EcoStruxureApiKey),
            "Edamam API Key" => Ok(SecretType::EdamamApiKey),
            "Eden AI API Key" => Ok(SecretType::EdenAiApiKey),
            "8x8 API Key" => Ok(SecretType::EightByEightApiKey),
            "Elastic Email API Key" => Ok(SecretType::ElasticEmailApiKey),
            "EnableX API Key" => Ok(SecretType::EnableXApiKey),
            "Endor Labs API Key" => Ok(SecretType::EndorLabsApiKey),
            "Enigma API Key" => Ok(SecretType::EnigmaApiKey),
            "Envoy API Key" => Ok(SecretType::EnvoyApiKey),
            "Eraser API Key" => Ok(SecretType::EraserApiKey),
            "Ethplorer API Key" => Ok(SecretType::EthplorerApiKey),
            "ExchangeRatesAPI Key" => Ok(SecretType::ExchangeRatesApiKey),
            "ExportSDK API Key" => Ok(SecretType::ExportSdkApiKey),
            "ExtractorAPI Key" => Ok(SecretType::ExtractorApiKey),
            "Facebook OAuth Token" => Ok(SecretType::FacebookOAuthToken),
            "Face++ API Key" => Ok(SecretType::FacePlusPlusApiKey),
            "FastForex API Key" => Ok(SecretType::FastForexApiKey),
            "FetchRSS API Key" => Ok(SecretType::FetchRssApiKey),
            "File.io API Key" => Ok(SecretType::FileIoApiKey),
            "Finage API Key" => Ok(SecretType::FinageApiKey),
            "Financial Modeling Prep API Key" => Ok(SecretType::FinancialModelingPrepApiKey),
            "Findl API Key" => Ok(SecretType::FindlApiKey),
            "Flat.io API Key" => Ok(SecretType::FlatIoApiKey),
            "Flexport API Key" => Ok(SecretType::FlexportApiKey),
            "Flickr API Key" => Ok(SecretType::FlickrApiKey),
            "FlightAPI Key" => Ok(SecretType::FlightApiKey),
            "FlightLabs API Key" => Ok(SecretType::FlightLabsApiKey),
            "FlightStats API Key" => Ok(SecretType::FlightStatsApiKey),
            "FlowFlu API Key" => Ok(SecretType::FlowFluApiKey),
            "FMFW API Key" => Ok(SecretType::FmfwApiKey),
            "FormBucket API Key" => Ok(SecretType::FormBucketApiKey),
            "FormCraft API Key" => Ok(SecretType::FormCraftApiKey),
            "Form.io API Key" => Ok(SecretType::FormIoApiKey),
            "FormSite API Key" => Ok(SecretType::FormSiteApiKey),
            "FTP Credential" => Ok(SecretType::FtpCredential),
            "Fulcrum API Key" => Ok(SecretType::FulcrumApiKey),
            "FXMarket API Key" => Ok(SecretType::FxMarketApiKey),
            "GCP Application Default Credentials" => Ok(SecretType::GcpApplicationDefaultCredentials),
            "Geocodio API Key" => Ok(SecretType::GeocodioApiKey),
            "GetGist API Key" => Ok(SecretType::GetGistApiKey),
            "Glassfrog API Key" => Ok(SecretType::GlassfrogApiKey),
            "GoCanvas API Key" => Ok(SecretType::GoCanvasApiKey),
            "Google Maps API Key" => Ok(SecretType::GoogleMapsApiKey),
            "GraphCMS API Key" => Ok(SecretType::GraphCmsApiKey),
            "Graphhopper API Key" => Ok(SecretType::GraphhopperApiKey),
            "Gumroad API Key" => Ok(SecretType::GumroadApiKey),
            "Guru API Key" => Ok(SecretType::GuruApiKey),
            "Gyazo API Key" => Ok(SecretType::GyazoApiKey),
            "HelpCrunch API Key" => Ok(SecretType::HelpCrunchApiKey),
            "Honeybadger API Key" => Ok(SecretType::HoneyBadgerApiKey),
            "HubSpot Private App Token" => Ok(SecretType::HubSpotPrivateAppToken),
            "Humio API Key" => Ok(SecretType::HumioApiKey),
            "Hunter API Key" => Ok(SecretType::HunterApiKey),
            "HyperTrack API Key" => Ok(SecretType::HyperTrackApiKey),
            "IEX Cloud API Key" => Ok(SecretType::IexCloudApiKey),
            "ImgBB API Key" => Ok(SecretType::ImgBbApiKey),
            "Instamojo API Key" => Ok(SecretType::InstamojoApiKey),
            "Interzoid API Key" => Ok(SecretType::InterzoidApiKey),
            "InvoiceOcean API Key" => Ok(SecretType::InvoiceOceanApiKey),
            "IP2Location API Key" => Ok(SecretType::Ip2LocationApiKey),
            "IPAPI Key" => Ok(SecretType::IpApiKey),
            "IPData API Key" => Ok(SecretType::IpDataApiKey),
            "IPFind API Key" => Ok(SecretType::IpFindApiKey),
            "IPGeolocation API Key" => Ok(SecretType::IpGeolocationApiKey),
            "ipify API Key" => Ok(SecretType::IpifyApiKey),
            "IPInfo API Key" => Ok(SecretType::IpInfoApiKey),
            "IPQualityScore API Key" => Ok(SecretType::IpQualityScoreApiKey),
            "Jambones API Key" => Ok(SecretType::JambonesApiKey),
            "Janio API Key" => Ok(SecretType::JanioApiKey),
            "Kanban Tool API Key" => Ok(SecretType::KanbanToolApiKey),
            "Karbon API Key" => Ok(SecretType::KarbonApiKey),
            "Keen API Key" => Ok(SecretType::KeenApiKey),
            "Kickbox API Key" => Ok(SecretType::KickboxApiKey),
            "Kintone API Key" => Ok(SecretType::KintoneApiKey),
            "Klipfolio API Key" => Ok(SecretType::KlipfolioApiKey),
            "Knock API Key" => Ok(SecretType::KnockApiKey),
            "KonaKart API Key" => Ok(SecretType::KonakartApiKey),
            "Kylas API Key" => Ok(SecretType::KylasApiKey),
            "LarkSuit API Key" => Ok(SecretType::LarkSuitApiKey),
            "Leadfeeder API Key" => Ok(SecretType::LeadfeederApiKey),
            "Lemlist API Key" => Ok(SecretType::LemlistApiKey),
            "Lendflow API Key" => Ok(SecretType::LendflowApiKey),
            "Less Annoying CRM API Key" => Ok(SecretType::LessAnnoyingCrmApiKey),
            "Lever API Key" => Ok(SecretType::LeverApiKey),
            "Lexigram API Key" => Ok(SecretType::LexigramApiKey),
            "Linear Client Secret" => Ok(SecretType::LinearClientSecret),
            "LinkPreview API Key" => Ok(SecretType::LinkPreviewApiKey),
            "LiveChat API Key" => Ok(SecretType::LiveChatApiKey),
            "Livestorm API Key" => Ok(SecretType::LivestormApiKey),
            "Logz.io API Key" => Ok(SecretType::LogzIoApiKey),
            "Lovense API Key" => Ok(SecretType::LovenseApiKey),
            "Loyverse API Key" => Ok(SecretType::LoyverseApiKey),
            "Luno API Key" => Ok(SecretType::LunoApiKey),
            "Magic API Key" => Ok(SecretType::MagicApiKey),
            "MailCheck API Key" => Ok(SecretType::MailCheckApiKey),
            "Mailmodo API Key" => Ok(SecretType::MailmodoApiKey),
            "Mailsac API Key" => Ok(SecretType::MailsacApiKey),
            "Mandrill API Key" => Ok(SecretType::MandrillApiKey),
            "MapQuest API Key" => Ok(SecretType::MapQuestApiKey),
            "Meadow API Key" => Ok(SecretType::MeadowApiKey),
            "Mercury API Key" => Ok(SecretType::MercuryApiKey),
            "MetaAPI Key" => Ok(SecretType::MetaApiKey),
            "MindMeister API Key" => Ok(SecretType::MindMeisterApiKey),
            "MixMax API Key" => Ok(SecretType::MixMaxApiKey),
            "Mockoon API Key" => Ok(SecretType::MockoonApiKey),
            "Moderation API Key" => Ok(SecretType::ModerationApiKey),
            "MonFlo API Key" => Ok(SecretType::MonFloApiKey),
            "Nhost API Key" => Ok(SecretType::NhostApiKey),
            "Noticeable API Key" => Ok(SecretType::NoticeableApiKey),
            "Numbers API Key" => Ok(SecretType::NumbersApiKey),
            "Nutshell API Key" => Ok(SecretType::NutshellApiKey),
            "OANDA API Key" => Ok(SecretType::OandaApiKey),
            "Onfleet API Key" => Ok(SecretType::OnfleetApiKey),
            "OpsGenie API Key" => Ok(SecretType::OpsGenieApiKey),
            "Orbit API Key" => Ok(SecretType::OrbitApiKey),
            "Ory API Key" => Ok(SecretType::OryApiKey),
            "Paperform API Key" => Ok(SecretType::PaperformApiKey),
            "ParseHub API Key" => Ok(SecretType::ParseHubApiKey),
            "PDF.co API Key" => Ok(SecretType::PdfCoApiKey),
            "PDFLayer API Key" => Ok(SecretType::PdfLayerApiKey),
            "Pendo API Key" => Ok(SecretType::PendoApiKey),
            "Percy API Key" => Ok(SecretType::PercyApiKey),
            "Person API Key" => Ok(SecretType::PersonApiKey),
            "Pexels API Key" => Ok(SecretType::PexelsApiKey),
            "Pinata API Key" => Ok(SecretType::PinataApiKey),
            "Pipedream API Key" => Ok(SecretType::PipedreamApiKey),
            "Planhat API Key" => Ok(SecretType::PlanhatApiKey),
            "Planyo API Key" => Ok(SecretType::PlanyoApiKey),
            "Plesk API Key" => Ok(SecretType::PleskApiKey),
            "Podio API Key" => Ok(SecretType::PodioApiKey),
            "Polls API Key" => Ok(SecretType::PollsApiKey),
            "PostageApp API Key" => Ok(SecretType::PostageAppApiKey),
            "Prerender API Key" => Ok(SecretType::PrerenderApiKey),
            "PrivacyCloud API Key" => Ok(SecretType::PrivacyCloudApiKey),
            "ProfitWell API Key" => Ok(SecretType::ProfitwellApiKey),
            "Prospect.io API Key" => Ok(SecretType::ProspectIoApiKey),
            "ProxyCrawl API Key" => Ok(SecretType::ProxyCrawlApiKey),
            "ProxyScrape API Key" => Ok(SecretType::ProxyScrapeApiKey),
            "Pushbullet API Key" => Ok(SecretType::PushBulletApiKey),
            "Pushover API Key" => Ok(SecretType::PushoverApiKey),
            "Qase API Key" => Ok(SecretType::QaseApiKey),
            "Qubole API Key" => Ok(SecretType::QuboleApiKey),
            "QuickBase API Key" => Ok(SecretType::QuickBaseApiKey),
            "Ramp API Key" => Ok(SecretType::RampApiKey),
            "Raven Tools API Key" => Ok(SecretType::RavenToolsApiKey),
            "RAWG API Key" => Ok(SecretType::RawgApiKey),
            "Really Simple Systems API Key" => Ok(SecretType::ReallySimpleSystemsApiKey),
            "Rebrandly API Key" => Ok(SecretType::RebrandlyApiKey),
            "Recharge Payments API Key" => Ok(SecretType::RechargePaymentsApiKey),
            "Recruitee API Key" => Ok(SecretType::RecruiteeApiKey),
            "Redis Labs API Key" => Ok(SecretType::RedisLabsApiKey),
            "Refiner API Key" => Ok(SecretType::RefinerApiKey),
            "reSmush API Key" => Ok(SecretType::ResmushApiKey),
            "RestPack API Key" => Ok(SecretType::RestPackApiKey),
            "Rev API Key" => Ok(SecretType::RevApiKey),
            "Revamp CRM API Key" => Ok(SecretType::RevampCrmApiKey),
            "RiteKit API Key" => Ok(SecretType::RiteKitApiKey),
            "Rive API Key" => Ok(SecretType::RiveApiKey),
            "Robin API Key" => Ok(SecretType::RobinApiKey),
            "RocketReach API Key" => Ok(SecretType::RocketReachApiKey),
            "RoninApp API Key" => Ok(SecretType::RoninAppApiKey),
            "Route4Me API Key" => Ok(SecretType::Route4MeApiKey),
            "Rownd API Key" => Ok(SecretType::RowndApiKey),
            "Runscope API Key" => Ok(SecretType::RunscopeApiKey),
            "SaladCloud API Key" => Ok(SecretType::SaladCloudApiKey),
            "Salesmate API Key" => Ok(SecretType::SalesMateApiKey),
            "SatisMeter API Key" => Ok(SecretType::SatisMeterApiKey),
            "SauceNAO API Key" => Ok(SecretType::SauceNaoApiKey),
            "ScaleSerp API Key" => Ok(SecretType::ScaleSerpApiKey),
            "ScraperBox API Key" => Ok(SecretType::ScraperBoxApiKey),
            "ScrapFly API Key" => Ok(SecretType::ScrapFlyApiKey),
            "Scrapin API Key" => Ok(SecretType::ScrapinApiKey),
            "Screenshot API Key" => Ok(SecretType::ScreenshotApiKey),
            "Scriptr API Key" => Ok(SecretType::ScriptrApiKey),
            "Semantria API Key" => Ok(SecretType::SemantriaApiKey),
            "SendBird API Key" => Ok(SecretType::SendBirdApiKey),
            "ServiceBell API Key" => Ok(SecretType::ServiceBellApiKey),
            "ServiceNow API Key" => Ok(SecretType::ServiceNowApiKey),
            "ShipDay API Key" => Ok(SecretType::ShipDayApiKey),
            "ShipEngine API Key" => Ok(SecretType::ShipEngineApiKey),
            "ShippingCloud API Key" => Ok(SecretType::ShippingCloudApiKey),
            "Shippo API Key" => Ok(SecretType::ShippoApiKey),
            "ShotStack API Key" => Ok(SecretType::ShotStackApiKey),
            "Shutterstock API Key" => Ok(SecretType::ShutterStockApiKey),
            "Signable API Key" => Ok(SecretType::SignableApiKey),
            "Signaturit API Key" => Ok(SecretType::SignaturitApiKey),
            "SimFin API Key" => Ok(SecretType::SimFinApiKey),
            "SimpleSat API Key" => Ok(SecretType::SimpleSatApiKey),
            "SimplyNoted API Key" => Ok(SecretType::SimplyNotedApiKey),
            "Simvoly API Key" => Ok(SecretType::SimvolyApiKey),
            "Sirv API Key" => Ok(SecretType::SirvApiKey),
            "Siteleaf API Key" => Ok(SecretType::SiteLeafApiKey),
            "Skylight API Key" => Ok(SecretType::SkylightApiKey),
            "Smartsheets API Key" => Ok(SecretType::SmartSheetsApiKey),
            "SMSAPI Key" => Ok(SecretType::SmsApiKey),
            "Snov API Key" => Ok(SecretType::SnovApiKey),
            "SonarCloud API Key" => Ok(SecretType::SonarCloudApiKey),
            "Spoonacular API Key" => Ok(SecretType::SpoonacularApiKey),
            "Spotify API Key" => Ok(SecretType::SpotifyApiKey),
            "SSLMate API Key" => Ok(SecretType::SslMateApiKey),
            "StackHawk API Key" => Ok(SecretType::StackHawkApiKey),
            "StatusPage API Key" => Ok(SecretType::StatusPageApiKey),
            "StatusPal API Key" => Ok(SecretType::StatusPalApiKey),
            "Stitch Data API Key" => Ok(SecretType::StitchDataApiKey),
            "Stormboard API Key" => Ok(SecretType::StormBoardApiKey),
            "Storm Glass API Key" => Ok(SecretType::StormGlassApiKey),
            "StoryChief API Key" => Ok(SecretType::StoryChiefApiKey),
            "Stripo API Key" => Ok(SecretType::StripoApiKey),
            "SurveyAnyplace API Key" => Ok(SecretType::SurveyAnyplaceApiKey),
            "SurveySparrow API Key" => Ok(SecretType::SurveySparrowApiKey),
            "Survicate API Key" => Ok(SecretType::SurvicateApiKey),
            "Svix API Key" => Ok(SecretType::SvixApiKey),
            "Swiftype API Key" => Ok(SecretType::SwiftypeApiKey),
            "TallyFy API Key" => Ok(SecretType::TallyFyApiKey),
            "Tatum.io API Key" => Ok(SecretType::TatumIoApiKey),
            "Teamgate API Key" => Ok(SecretType::TeamGateApiKey),
            "Teamwork API Key" => Ok(SecretType::TeamworkApiKey),
            "TextMagic API Key" => Ok(SecretType::TextMagicApiKey),
            "Thinkific API Key" => Ok(SecretType::ThinkificApiKey),
            "Ticket Tailor API Key" => Ok(SecretType::TicketTailorApiKey),
            "TikTok API Key" => Ok(SecretType::TikTokApiKey),
            "TimeCamp API Key" => Ok(SecretType::TimeCampApiKey),
            "Tines Webhook API Key" => Ok(SecretType::TinesWebhookApiKey),
            "Todoist API Key" => Ok(SecretType::TodoistApiKey),
            "Toggl API Key" => Ok(SecretType::TogglApiKey),
            "Tomorrow.io API Key" => Ok(SecretType::TomorrowIoApiKey),
            "Tradier API Key" => Ok(SecretType::TradierApiKey),
            "Twilio Auth Token" => Ok(SecretType::TwilioAuthToken),
            "Typesense API Key" => Ok(SecretType::TypesenseApiKey),
            "Typetalk API Key" => Ok(SecretType::TypetalkApiKey),
            "Ubidots API Key" => Ok(SecretType::UbidotsApiKey),
            "Unity API Key" => Ok(SecretType::UnityApiKey),
            "Uptime Robot API Key" => Ok(SecretType::UptimeRobotApiKey),
            "UserStack API Key" => Ok(SecretType::UserStackApiKey),
            "VATLayer API Key" => Ok(SecretType::VatLayerApiKey),
            "Veriphone API Key" => Ok(SecretType::VeriphoneApiKey),
            "Voiceflow API Key" => Ok(SecretType::VoiceflowApiKey),
            "Vouchery API Key" => Ok(SecretType::VoucheryApiKey),
            "Webex API Key" => Ok(SecretType::WebexApiKey),
            "Webhook Relay API Key" => Ok(SecretType::WebhookRelayApiKey),
            "WebScraper API Key" => Ok(SecretType::WebScraperApiKey),
            "WebScraping API Key" => Ok(SecretType::WebScrapingApiKey),
            "Weekdone API Key" => Ok(SecretType::WeekdoneApiKey),
            "WhatCMS API Key" => Ok(SecretType::WhatCmsApiKey),
            "Whoxy API Key" => Ok(SecretType::WhoxyApiKey),
            "Wistia API Key" => Ok(SecretType::WistiaApiKey),
            "Wit API Key" => Ok(SecretType::WitApiKey),
            "Wix API Key" => Ok(SecretType::WixApiKey),
            "Xero API Key" => Ok(SecretType::XeroApiKey),
            "Yelp API Key" => Ok(SecretType::YelpApiKey),
            "Yext API Key" => Ok(SecretType::YextApiKey),
            "You Need A Budget API Key" => Ok(SecretType::YouNeedABudgetApiKey),
            "YouTube API Key" => Ok(SecretType::YouTubeApiKey),
            "Zendesk Chat API Key" => Ok(SecretType::ZendeskChatApiKey),
            "ZenRows API Key" => Ok(SecretType::ZenRowsApiKey),
            "ZenScrape API Key" => Ok(SecretType::ZenScrapeApiKey),
            "ZeroBounce API Key" => Ok(SecretType::ZeroBounceApiKey),
            "ZeroSSL API Key" => Ok(SecretType::ZeroSslApiKey),
            "ZipBooks API Key" => Ok(SecretType::ZipBooksApiKey),
            "Password in URL" => Ok(SecretType::PasswordInUrl),
            "Generic Credential" => Ok(SecretType::GenericCredential),
            "High Entropy String" => Ok(SecretType::HighEntropyString),
            custom => Ok(SecretType::Custom(custom.to_string())),
        }
    }
}

impl SecretType {
    /// Returns true if this secret type is a private key
    pub fn is_private_key(&self) -> bool {
        matches!(
            self,
            SecretType::RsaPrivateKey
                | SecretType::SshPrivateKey
                | SecretType::PgpPrivateKey
                | SecretType::EcPrivateKey
                | SecretType::OpensslPrivateKey
                | SecretType::Pkcs8PrivateKey
                | SecretType::DsaPrivateKey
        )
    }

    /// Returns true for database/service connection strings where the entropy
    /// should be calculated on the credential portion only, not the protocol
    /// prefix (e.g. `mongodb+srv://`, `postgres://`).
    pub fn is_connection_string(&self) -> bool {
        matches!(
            self,
            SecretType::MongoDbConnectionString
                | SecretType::PostgresConnectionString
                | SecretType::MysqlConnectionString
                | SecretType::RedisConnectionString
                | SecretType::AzureConnectionString
                | SecretType::CockroachDbConnectionString
                | SecretType::ElasticsearchConnectionString
                | SecretType::CouchbaseConnectionString
        )
    }

    pub fn as_str(&self) -> &str {
        match self {
            SecretType::AwsAccessKey => "AWS Access Key",
            SecretType::AwsSecretKey => "AWS Secret Key",
            SecretType::AwsSessionToken => "AWS Session Token",
            SecretType::AwsMwsKey => "AWS MWS Key",
            SecretType::GcpApiKey => "GCP API Key",
            SecretType::GcpServiceAccount => "GCP Service Account",
            SecretType::AzureStorageKey => "Azure Storage Key",
            SecretType::AzureConnectionString => "Azure Connection String",
            SecretType::AzureClientSecret => "Azure Client Secret",
            SecretType::GitHubToken => "GitHub Token",
            SecretType::GitHubPat => "GitHub Personal Access Token",
            SecretType::GitHubOauth => "GitHub OAuth Token",
            SecretType::GitLabToken => "GitLab Token",
            SecretType::GitLabPat => "GitLab Personal Access Token",
            SecretType::BitbucketToken => "Bitbucket Token",
            SecretType::StripeApiKey => "Stripe API Key",
            SecretType::StripeRestrictedKey => "Stripe Restricted Key",
            SecretType::SendGridApiKey => "SendGrid API Key",
            SecretType::TwilioApiKey => "Twilio API Key",
            SecretType::SlackToken => "Slack Token",
            SecretType::SlackWebhook => "Slack Webhook",
            SecretType::MailgunApiKey => "Mailgun API Key",
            SecretType::MailchimpApiKey => "Mailchimp API Key",
            SecretType::HerokuApiKey => "Heroku API Key",
            SecretType::DatabaseUrl => "Database URL",
            SecretType::MongoDbConnectionString => "MongoDB Connection String",
            SecretType::PostgresConnectionString => "PostgreSQL Connection String",
            SecretType::MysqlConnectionString => "MySQL Connection String",
            SecretType::RedisConnectionString => "Redis Connection String",
            SecretType::RsaPrivateKey => "RSA Private Key",
            SecretType::SshPrivateKey => "SSH Private Key",
            SecretType::PgpPrivateKey => "PGP Private Key",
            SecretType::EcPrivateKey => "EC Private Key",
            SecretType::OpensslPrivateKey => "OpenSSL Private Key",
            SecretType::JwtToken => "JWT Token",
            SecretType::OAuthToken => "OAuth Token",
            SecretType::GenericApiKey => "Generic API Key",
            SecretType::GenericSecret => "Generic Secret",
            SecretType::OpenAiApiKey => "OpenAI API Key",
            SecretType::AnthropicApiKey => "Anthropic API Key",
            SecretType::CohereApiKey => "Cohere API Key",
            SecretType::HuggingFaceToken => "HuggingFace Token",
            SecretType::ReplicateApiKey => "Replicate API Key",
            SecretType::DatadogApiKey => "Datadog API Key",
            SecretType::DatadogAppKey => "Datadog App Key",
            SecretType::CloudflareApiKey => "Cloudflare API Key",
            SecretType::CloudflareApiToken => "Cloudflare API Token",
            SecretType::DigitalOceanToken => "DigitalOcean Token",
            SecretType::DigitalOceanSpacesKey => "DigitalOcean Spaces Key",
            SecretType::VercelToken => "Vercel Token",
            SecretType::NetlifyToken => "Netlify Token",
            SecretType::LinearApiKey => "Linear API Key",
            SecretType::NotionApiKey => "Notion API Key",
            SecretType::AirtableApiKey => "Airtable API Key",
            SecretType::PlanetScaleToken => "PlanetScale Token",
            SecretType::NpmToken => "NPM Token",
            SecretType::PyPiApiToken => "PyPI API Token",
            SecretType::NuGetApiKey => "NuGet API Key",
            SecretType::RubyGemsApiKey => "RubyGems API Key",
            SecretType::DiscordBotToken => "Discord Bot Token",
            SecretType::DiscordWebhook => "Discord Webhook",
            SecretType::TelegramBotToken => "Telegram Bot Token",
            SecretType::ShopifyApiKey => "Shopify API Key",
            SecretType::ShopifySharedSecret => "Shopify Shared Secret",
            SecretType::SquareAccessToken => "Square Access Token",
            SecretType::PaypalClientSecret => "PayPal Client Secret",
            SecretType::OktaApiToken => "Okta API Token",
            SecretType::Auth0ManagementToken => "Auth0 Management Token",
            SecretType::FirebaseApiKey => "Firebase API Key",
            SecretType::SupabaseAnonKey => "Supabase Anon Key",
            SecretType::SupabaseServiceKey => "Supabase Service Key",
            SecretType::DockerHubToken => "Docker Hub Token",
            SecretType::HashiCorpVaultToken => "HashiCorp Vault Token",
            SecretType::NewRelicApiKey => "New Relic API Key",
            SecretType::SentryDsn => "Sentry DSN",
            SecretType::AlgoliaApiKey => "Algolia API Key",
            SecretType::ElasticApiKey => "Elastic API Key",
            SecretType::GrafanaApiKey => "Grafana API Key",
            SecretType::CircleCiToken => "CircleCI Token",
            SecretType::TravisCiToken => "Travis CI Token",
            SecretType::PagerDutyApiKey => "PagerDuty API Key",
            SecretType::JiraApiToken => "Jira API Token",
            SecretType::BitbucketAppPassword => "Bitbucket App Password",
            SecretType::TerraformCloudToken => "Terraform Cloud Token",
            SecretType::PulumiAccessToken => "Pulumi Access Token",
            SecretType::FastlyApiToken => "Fastly API Token",
            SecretType::LaunchDarklyKey => "LaunchDarkly Key",
            SecretType::MapboxToken => "Mapbox Token",
            SecretType::BraintreeAccessToken => "Braintree Access Token",
            SecretType::PlaidClientSecret => "Plaid Client Secret",
            SecretType::DopplerToken => "Doppler Token",
            SecretType::NetlifyPat => "Netlify PAT",
            SecretType::RenderApiKey => "Render API Key",
            SecretType::FlyAccessToken => "Fly Access Token",
            SecretType::ConfluentApiKey => "Confluent API Key",
            SecretType::DatabricksToken => "Databricks Token",
            SecretType::SnowflakeCredential => "Snowflake Credential",
            SecretType::SumoLogicKey => "Sumo Logic Key",
            SecretType::PosthogApiKey => "PostHog API Key",
            SecretType::AmplitudeApiKey => "Amplitude API Key",
            SecretType::SegmentWriteKey => "Segment Write Key",
            SecretType::MixpanelToken => "Mixpanel Token",
            SecretType::OnePasswordSecretKey => "1Password Secret Key",
            SecretType::OnePasswordServiceToken => "1Password Service Token",
            SecretType::AdobeClientSecret => "Adobe Client Secret",
            SecretType::AgeSecretKey => "Age Secret Key",
            SecretType::AlibabaAccessKey => "Alibaba Access Key",
            SecretType::AlibabaSecretKey => "Alibaba Secret Key",
            SecretType::ArtifactoryApiKey => "Artifactory API Key",
            SecretType::ArtifactoryReferenceToken => "Artifactory Reference Token",
            SecretType::AsanaSecret => "Asana Secret",
            SecretType::AzureAdClientSecret => "Azure AD Client Secret",
            SecretType::ClojarsApiToken => "Clojars API Token",
            SecretType::CodecovAccessToken => "Codecov Access Token",
            SecretType::CoinbaseAccessToken => "Coinbase Access Token",
            SecretType::ContentfulApiToken => "Contentful API Token",
            SecretType::DropboxApiToken => "Dropbox API Token",
            SecretType::DropboxLongLivedToken => "Dropbox Long-Lived Token",
            SecretType::DropboxShortLivedToken => "Dropbox Short-Lived Token",
            SecretType::DuffelApiToken => "Duffel API Token",
            SecretType::DynatraceApiToken => "Dynatrace API Token",
            SecretType::EasyPostApiToken => "EasyPost API Token",
            SecretType::EasyPostTestApiToken => "EasyPost Test API Token",
            SecretType::FacebookAccessToken => "Facebook Access Token",
            SecretType::FacebookPageAccessToken => "Facebook Page Access Token",
            SecretType::FlutterwaveSecretKey => "Flutterwave Secret Key",
            SecretType::FrameIoApiToken => "Frame.io API Token",
            SecretType::FreshbooksAccessToken => "FreshBooks Access Token",
            SecretType::GitHubAppToken => "GitHub App Token",
            SecretType::GitHubFineGrainedPat => "GitHub Fine-Grained PAT",
            SecretType::GoogleOAuthClientSecret => "Google OAuth Client Secret",
            SecretType::IntercomAccessToken => "Intercom Access Token",
            SecretType::KrakenAccessToken => "Kraken Access Token",
            SecretType::LobApiKey => "Lob API Key",
            SecretType::MessageBirdApiKey => "MessageBird API Key",
            SecretType::NewRelicBrowserApiKey => "New Relic Browser API Key",
            SecretType::NytimesAccessToken => "NY Times Access Token",
            SecretType::PostmanApiToken => "Postman API Token",
            SecretType::Pkcs8PrivateKey => "PKCS8 Private Key",
            SecretType::DsaPrivateKey => "DSA Private Key",
            SecretType::RapidApiKey => "RapidAPI Key",
            SecretType::ReadmeApiKey => "ReadMe API Key",
            SecretType::ScalingoApiToken => "Scalingo API Token",
            SecretType::SourcegraphAccessToken => "Sourcegraph Access Token",
            SecretType::TailscaleApiKey => "Tailscale API Key",
            SecretType::TencentSecretId => "Tencent Secret ID",
            SecretType::TrelloAccessToken => "Trello Access Token",
            SecretType::TwitchApiToken => "Twitch API Token",
            SecretType::TwitterApiKey => "Twitter API Key",
            SecretType::TwitterAccessToken => "Twitter Access Token",
            SecretType::TypeformApiToken => "Typeform API Token",
            SecretType::VaultBatchToken => "Vault Batch Token",
            SecretType::YandexApiKey => "Yandex API Key",
            SecretType::YandexAwsAccessToken => "Yandex AWS Access Token",
            SecretType::ZendeskSecretKey => "Zendesk Secret Key",
            SecretType::BeamerApiToken => "Beamer API Token",
            SecretType::BitwardenApiKey => "Bitwarden API Key",
            SecretType::PlanetScalePassword => "PlanetScale Password",
            SecretType::InfracostApiKey => "Infracost API Key",
            SecretType::PrefectApiToken => "Prefect API Token",
            SecretType::RailwayApiToken => "Railway API Token",
            SecretType::NeonApiKey => "Neon API Key",
            SecretType::TurborepoAccessToken => "Turborepo Access Token",
            SecretType::AwsBedrockApiKey => "AWS Bedrock API Key",
            SecretType::AzureDevOpsPat => "Azure DevOps PAT",
            SecretType::AzureCosmosDbKey => "Azure CosmosDB Key",
            SecretType::AzureFunctionKey => "Azure Function Key",
            SecretType::AzureSasToken => "Azure SAS Token",
            SecretType::AzureSearchAdminKey => "Azure Search Admin Key",
            SecretType::AzureContainerRegistryKey => "Azure Container Registry Key",
            SecretType::AzureAppConfigKey => "Azure App Config Key",
            SecretType::DigitalOceanOAuthToken => "DigitalOcean OAuth Token",
            SecretType::DigitalOceanRefreshToken => "DigitalOcean Refresh Token",
            SecretType::CloudflareGlobalApiKey => "Cloudflare Global API Key",
            SecretType::CloudflareOriginCaKey => "Cloudflare Origin CA Key",
            SecretType::IbmCloudApiKey => "IBM Cloud API Key",
            SecretType::OracleCloudApiKey => "Oracle Cloud API Key",
            SecretType::LinodeApiToken => "Linode API Token",
            SecretType::VultrApiKey => "Vultr API Key",
            SecretType::HetznerApiToken => "Hetzner API Token",
            SecretType::ScalewayApiKey => "Scaleway API Key",
            SecretType::CiscoMerakiApiKey => "Cisco Meraki API Key",
            SecretType::ClickHouseApiSecret => "ClickHouse API Secret",
            SecretType::AnthropicAdminApiKey => "Anthropic Admin API Key",
            SecretType::DeepSeekApiKey => "DeepSeek API Key",
            SecretType::ElevenLabsApiKey => "ElevenLabs API Key",
            SecretType::DeepgramApiKey => "Deepgram API Key",
            SecretType::AssemblyAiApiKey => "AssemblyAI API Key",
            SecretType::MistralApiKey => "Mistral API Key",
            SecretType::GroqApiKey => "Groq API Key",
            SecretType::TogetherAiApiKey => "Together AI API Key",
            SecretType::FireworksAiApiKey => "Fireworks AI API Key",
            SecretType::Ai21LabsApiKey => "AI21 Labs API Key",
            SecretType::StabilityAiApiKey => "Stability AI API Key",
            SecretType::PerplexityApiKey => "Perplexity API Key",
            SecretType::RunPodApiKey => "RunPod API Key",
            SecretType::WandBApiKey => "Weights & Biases API Key",
            SecretType::GoogleAiStudioKey => "Google AI Studio Key",
            SecretType::AdyenApiKey => "Adyen API Key",
            SecretType::RazorpayKeyId => "Razorpay Key ID",
            SecretType::RazorpayKeySecret => "Razorpay Key Secret",
            SecretType::GoCardlessApiToken => "GoCardless API Token",
            SecretType::RecurlyApiKey => "Recurly API Key",
            SecretType::ChargeBeeApiKey => "ChargeBee API Key",
            SecretType::PaddleApiKey => "Paddle API Key",
            SecretType::LemonSqueezyApiKey => "LemonSqueezy API Key",
            SecretType::MollieApiKey => "Mollie API Key",
            SecretType::PaystackSecretKey => "Paystack Secret Key",
            SecretType::FinicityApiToken => "Finicity API Token",
            SecretType::FinicityClientSecret => "Finicity Client Secret",
            SecretType::FinnhubAccessToken => "Finnhub Access Token",
            SecretType::CheckoutComApiKey => "Checkout.com API Key",
            SecretType::DwollaApiKey => "Dwolla API Key",
            SecretType::BittrexAccessKey => "Bittrex Access Key",
            SecretType::BittrexSecretKey => "Bittrex Secret Key",
            SecretType::KucoinAccessToken => "KuCoin Access Token",
            SecretType::BinanceApiKey => "Binance API Key",
            SecretType::CoinMarketCapApiKey => "CoinMarketCap API Key",
            SecretType::VonageApiKey => "Vonage API Key",
            SecretType::PlivoApiKey => "Plivo API Key",
            SecretType::TelnyxApiKey => "Telnyx API Key",
            SecretType::InfobipApiKey => "Infobip API Key",
            SecretType::MailjetApiKey => "Mailjet API Key",
            SecretType::MailjetSecretKey => "Mailjet Secret Key",
            SecretType::PostmarkApiToken => "Postmark API Token",
            SecretType::SparkPostApiKey => "SparkPost API Key",
            SecretType::BrevoApiKey => "Brevo API Key",
            SecretType::ResendApiKey => "Resend API Key",
            SecretType::KlaviyoApiKey => "Klaviyo API Key",
            SecretType::ActiveCampaignApiKey => "ActiveCampaign API Key",
            SecretType::CustomerIoApiKey => "Customer.io API Key",
            SecretType::MicrosoftTeamsWebhook => "Microsoft Teams Webhook",
            SecretType::ZoomApiKey => "Zoom API Key",
            SecretType::BuildKiteApiToken => "BuildKite API Token",
            SecretType::DroneCiAccessToken => "DroneCI Access Token",
            SecretType::JenkinsApiToken => "Jenkins API Token",
            SecretType::GitLabRunnerToken => "GitLab Runner Token",
            SecretType::SemaphoreCiToken => "Semaphore CI Token",
            SecretType::AppVeyorApiToken => "AppVeyor API Token",
            SecretType::CodeMagicApiToken => "CodeMagic API Token",
            SecretType::HarnessApiKey => "Harness API Key",
            SecretType::HarnessPat => "Harness PAT",
            SecretType::TeamCityApiToken => "TeamCity API Token",
            SecretType::HoneycombApiKey => "Honeycomb API Key",
            SecretType::SplunkHecToken => "Splunk HEC Token",
            SecretType::RollbarApiKey => "Rollbar API Key",
            SecretType::BugSnagApiKey => "BugSnag API Key",
            SecretType::AirbrakeProjectKey => "Airbrake Project Key",
            SecretType::LogglyApiToken => "Loggly API Token",
            SecretType::HealthchecksIoApiKey => "Healthchecks.io API Key",
            SecretType::ChecklyApiKey => "Checkly API Key",
            SecretType::BetterStackApiToken => "Better Stack API Token",
            SecretType::AppDynamicsApiKey => "AppDynamics API Key",
            SecretType::InstanaApiToken => "Instana API Token",
            SecretType::ElasticCloudApiKey => "Elastic Cloud API Key",
            SecretType::LogRocketApiKey => "LogRocket API Key",
            SecretType::NewRelicLicenseKey => "New Relic License Key",
            SecretType::NewRelicInsightsQueryKey => "New Relic Insights Query Key",
            SecretType::HubSpotApiKey => "HubSpot API Key",
            SecretType::SalesforceApiToken => "Salesforce API Token",
            SecretType::PipedriveApiToken => "Pipedrive API Token",
            SecretType::MondayApiKey => "Monday.com API Key",
            SecretType::ClickUpPersonalToken => "ClickUp Personal Token",
            SecretType::FreshdeskApiKey => "Freshdesk API Key",
            SecretType::FrontApiToken => "Front API Token",
            SecretType::HelpScoutApiKey => "Help Scout API Key",
            SecretType::ZohoApiKey => "Zoho API Key",
            SecretType::BasecampApiKey => "Basecamp API Key",
            SecretType::WrikeApiToken => "Wrike API Token",
            SecretType::CopperApiKey => "Copper API Key",
            SecretType::CloseCrmApiKey => "Close CRM API Key",
            SecretType::CalendlyApiKey => "Calendly API Key",
            SecretType::DocuSignApiKey => "DocuSign API Key",
            SecretType::StrapiApiToken => "Strapi API Token",
            SecretType::SanityApiToken => "Sanity API Token",
            SecretType::PrismicApiToken => "Prismic API Token",
            SecretType::StoryblokApiToken => "Storyblok API Token",
            SecretType::DatoCmsApiToken => "DatoCMS API Token",
            SecretType::GhostAdminApiKey => "Ghost Admin API Key",
            SecretType::WebflowApiToken => "Webflow API Token",
            SecretType::ButterCmsApiKey => "ButterCMS API Key",
            SecretType::ContentstackToken => "Contentstack Token",
            SecretType::BuilderIoApiKey => "Builder.io API Key",
            SecretType::ClerkApiKey => "Clerk API Key",
            SecretType::WorkOsApiKey => "WorkOS API Key",
            SecretType::StytchApiKey => "Stytch API Key",
            SecretType::Auth0ClientSecret => "Auth0 Client Secret",
            SecretType::OneLoginApiKey => "OneLogin API Key",
            SecretType::DuoApiKey => "Duo API Key",
            SecretType::JumpCloudApiKey => "JumpCloud API Key",
            SecretType::FusionAuthApiKey => "FusionAuth API Key",
            SecretType::KeycloakClientSecret => "Keycloak Client Secret",
            SecretType::CognitoClientSecret => "Cognito Client Secret",
            SecretType::CargoRegistryToken => "Cargo Registry Token",
            SecretType::HexPmApiKey => "Hex.pm API Key",
            SecretType::ComposerApiToken => "Composer API Token",
            SecretType::CratesIoApiToken => "Crates.io API Token",
            SecretType::CocoaPodsToken => "CocoaPods Token",
            SecretType::UpstashRedisToken => "Upstash Redis Token",
            SecretType::TursoApiToken => "Turso API Token",
            SecretType::CockroachDbConnectionString => "CockroachDB Connection String",
            SecretType::FaunaDbApiKey => "FaunaDB API Key",
            SecretType::InfluxDbToken => "InfluxDB Token",
            SecretType::Neo4jCredential => "Neo4j Credential",
            SecretType::ElasticsearchConnectionString => "Elasticsearch Connection String",
            SecretType::AivenApiToken => "Aiven API Token",
            SecretType::TimescaleDbToken => "TimescaleDB Token",
            SecretType::CouchbaseConnectionString => "Couchbase Connection String",
            SecretType::AkamaiApiKey => "Akamai API Key",
            SecretType::BunnyCdnApiKey => "BunnyCDN API Key",
            SecretType::KeyCdnApiKey => "KeyCDN API Key",
            SecretType::StackPathApiKey => "StackPath API Key",
            SecretType::Ns1ApiKey => "NS1 API Key",
            SecretType::DnSimpleApiToken => "DNSimple API Token",
            SecretType::DefinedNetworkingApiToken => "Defined Networking API Token",
            SecretType::CloudFrontKey => "CloudFront Key",
            SecretType::Route53Key => "Route53 Key",
            SecretType::FastlyPersonalToken => "Fastly Personal Token",
            SecretType::BigCommerceApiToken => "BigCommerce API Token",
            SecretType::WooCommerceApiKey => "WooCommerce API Key",
            SecretType::CommercetoolsApiKey => "Commercetools API Key",
            SecretType::ShopwareApiKey => "Shopware API Key",
            SecretType::EtsyAccessToken => "Etsy Access Token",
            SecretType::MedusaApiKey => "Medusa API Key",
            SecretType::SwellApiKey => "Swell API Key",
            SecretType::SquareOAuthToken => "Square OAuth Token",
            SecretType::ShopifyAccessToken => "Shopify Access Token",
            SecretType::AdyenClientKey => "Adyen Client Key",
            SecretType::HereMapsApiKey => "HERE Maps API Key",
            SecretType::TomTomApiKey => "TomTom API Key",
            SecretType::LocationIqApiKey => "LocationIQ API Key",
            SecretType::PositionStackApiKey => "PositionStack API Key",
            SecretType::OpenWeatherMapApiKey => "OpenWeatherMap API Key",
            SecretType::MuxApiKey => "Mux API Key",
            SecretType::CloudinaryApiSecret => "Cloudinary API Secret",
            SecretType::ImageKitApiKey => "ImageKit API Key",
            SecretType::UploadcareApiKey => "Uploadcare API Key",
            SecretType::LoomApiKey => "Loom API Key",
            SecretType::DeepLApiKey => "DeepL API Key",
            SecretType::CrowdinApiToken => "Crowdin API Token",
            SecretType::LokaliseApiToken => "Lokalise API Token",
            SecretType::TransifexApiToken => "Transifex API Token",
            SecretType::SmartlingApiKey => "Smartling API Key",
            SecretType::FigmaPat => "Figma PAT",
            SecretType::CanvaApiToken => "Canva API Token",
            SecretType::MiroApiToken => "Miro API Token",
            SecretType::SlackAppToken => "Slack App Token",
            SecretType::SlackConfigToken => "Slack Config Token",
            SecretType::InVisionApiKey => "InVision API Key",
            SecretType::ZeplinApiKey => "Zeplin API Key",
            SecretType::AbstractApiKey => "Abstract API Key",
            SecretType::NotionOAuthToken => "Notion OAuth Token",
            SecretType::AirtableOAuthToken => "Airtable OAuth Token",
            SecretType::EtherscanApiKey => "Etherscan API Key",
            SecretType::AlchemyApiKey => "Alchemy API Key",
            SecretType::InfuraApiKey => "Infura API Key",
            SecretType::MoralisApiKey => "Moralis API Key",
            SecretType::CoinApiKey => "CoinAPI Key",
            SecretType::BitfinexApiKey => "Bitfinex API Key",
            SecretType::BlockNativeApiKey => "Blocknative API Key",
            SecretType::BscScanApiKey => "BscScan API Key",
            SecretType::AnkrApiKey => "Ankr API Key",
            SecretType::QuickNodeApiKey => "QuickNode API Key",
            SecretType::OmnisendApiKey => "Omnisend API Key",
            SecretType::MailerLiteApiKey => "MailerLite API Key",
            SecretType::ConvertKitApiSecret => "ConvertKit API Secret",
            SecretType::DripApiKey => "Drip API Key",
            SecretType::IterableApiKey => "Iterable API Key",
            SecretType::AutopilotApiKey => "Autopilot API Key",
            SecretType::MoosendApiKey => "Moosend API Key",
            SecretType::CampaignMonitorApiKey => "Campaign Monitor API Key",
            SecretType::ConstantContactApiKey => "Constant Contact API Key",
            SecretType::AweberApiKey => "AWeber API Key",
            SecretType::GetResponseApiKey => "GetResponse API Key",
            SecretType::SendPulseApiKey => "SendPulse API Key",
            SecretType::MailerSendApiKey => "MailerSend API Key",
            SecretType::LoopsApiKey => "Loops API Key",
            SecretType::EmailOctopusApiKey => "EmailOctopus API Key",
            SecretType::GitGuardianApiToken => "GitGuardian API Token",
            SecretType::NightfallApiKey => "Nightfall API Key",
            SecretType::SnykApiToken => "Snyk API Token",
            SecretType::SonarQubeToken => "SonarQube Token",
            SecretType::CodeClimateApiToken => "CodeClimate API Token",
            SecretType::DeployHqApiKey => "DeployHQ API Key",
            SecretType::VeracodeApiKey => "Veracode API Key",
            SecretType::CrowdStrikeApiKey => "CrowdStrike API Key",
            SecretType::LaunchableApiKey => "Launchable API Key",
            SecretType::CircleCiPersonalToken => "CircleCI Personal Token",
            SecretType::GiteaAccessToken => "Gitea Access Token",
            SecretType::BitbucketServerToken => "Bitbucket Server Token",
            SecretType::JFrogIdentityToken => "JFrog Identity Token",
            SecretType::GitLabProjectToken => "GitLab Project Token",
            SecretType::GiteePat => "Gitee PAT",
            SecretType::VirustotalApiKey => "VirusTotal API Key",
            SecretType::ShodanApiKey => "Shodan API Key",
            SecretType::CensysApiKey => "Censys API Key",
            SecretType::SecurityTrailsApiKey => "SecurityTrails API Key",
            SecretType::HaveIBeenPwnedApiKey => "Have I Been Pwned API Key",
            SecretType::AbuseIpDbApiKey => "AbuseIPDB API Key",
            SecretType::GreyNoiseApiKey => "GreyNoise API Key",
            SecretType::AlienVaultApiKey => "AlienVault API Key",
            SecretType::UrlScanApiKey => "URLScan API Key",
            SecretType::BinaryEdgeApiKey => "BinaryEdge API Key",
            SecretType::AccuWeatherApiKey => "AccuWeather API Key",
            SecretType::AdafruitApiKey => "Adafruit API Key",
            SecretType::AgoraApiKey => "Agora API Key",
            SecretType::AirshipApiKey => "Airship API Key",
            SecretType::AirVisualApiKey => "AirVisual API Key",
            SecretType::ApifyApiKey => "Apify API Key",
            SecretType::ApiFlashApiKey => "APIFlash API Key",
            SecretType::ApiLayerApiKey => "APILayer API Key",
            SecretType::ApolloApiKey => "Apollo API Key",
            SecretType::AppFollowApiKey => "AppFollow API Key",
            SecretType::AuthressServiceKey => "Authress Service Key",
            SecretType::AviationStackApiKey => "AviationStack API Key",
            SecretType::AxonautApiKey => "Axonaut API Key",
            SecretType::BannerbearApiKey => "Bannerbear API Key",
            SecretType::BaremetricsApiKey => "Baremetrics API Key",
            SecretType::BlazeMeterApiKey => "BlazeMeter API Key",
            SecretType::BrowserStackAccessKey => "BrowserStack Access Key",
            SecretType::CalendarificApiKey => "Calendarific API Key",
            SecretType::CannyIoApiKey => "Canny.io API Key",
            SecretType::ChartMogulApiKey => "ChartMogul API Key",
            SecretType::ClarifaiApiKey => "Clarifai API Key",
            SecretType::ClearbitApiKey => "Clearbit API Key",
            SecretType::CloudConvertApiKey => "CloudConvert API Key",
            SecretType::CloudsmithApiKey => "Cloudsmith API Key",
            SecretType::CodacyApiToken => "Codacy API Token",
            SecretType::ConvertKitApiKey => "ConvertKit API Key",
            SecretType::CoverallsApiToken => "Coveralls API Token",
            SecretType::CurrencyLayerApiKey => "CurrencyLayer API Key",
            SecretType::DataboxApiKey => "Databox API Key",
            SecretType::DenoDeployToken => "Deno Deploy Token",
            SecretType::DetectifyApiKey => "Detectify API Key",
            SecretType::DiffBotApiKey => "Diffbot API Key",
            SecretType::DisqusApiKey => "Disqus API Key",
            SecretType::DotDigitalApiKey => "dotdigital API Key",
            SecretType::EventbriteApiKey => "Eventbrite API Key",
            SecretType::EverhourApiKey => "Everhour API Key",
            SecretType::ExchangeRateApiKey => "ExchangeRate API Key",
            SecretType::FeedierApiKey => "Feedier API Key",
            SecretType::FiberyApiKey => "Fibery API Key",
            SecretType::FixerIoApiKey => "Fixer.io API Key",
            SecretType::FleetbaseApiKey => "Fleetbase API Key",
            SecretType::FloatApiKey => "Float API Key",
            SecretType::FoursquareApiKey => "Foursquare API Key",
            SecretType::FullStoryApiKey => "FullStory API Key",
            SecretType::GitterAccessToken => "Gitter Access Token",
            SecretType::HarvestApiToken => "Harvest API Token",
            SecretType::HeapApiKey => "Heap API Key",
            SecretType::HiveApiKey => "Hive API Key",
            SecretType::HotjarApiKey => "Hotjar API Key",
            SecretType::IpStackApiKey => "ipstack API Key",
            SecretType::JotFormApiKey => "JotForm API Key",
            SecretType::LiveAgentApiKey => "LiveAgent API Key",
            SecretType::LoginRadiusApiKey => "LoginRadius API Key",
            SecretType::LunacrushApiKey => "LunarCrush API Key",
            SecretType::MailboxLayerApiKey => "Mailbox Layer API Key",
            SecretType::MaxMindLicenseKey => "MaxMind License Key",
            SecretType::MeaningCloudApiKey => "MeaningCloud API Key",
            SecretType::MediaStackApiKey => "MediaStack API Key",
            SecretType::NasdaqDataLinkApiKey => "Nasdaq Data Link API Key",
            SecretType::NewsApiKey => "NewsAPI Key",
            SecretType::NovuApiKey => "Novu API Key",
            SecretType::OneSignalApiKey => "OneSignal API Key",
            SecretType::OpenCageApiKey => "OpenCage API Key",
            SecretType::OpenExchangeRatesApiKey => "Open Exchange Rates API Key",
            SecretType::PandaDocApiKey => "PandaDoc API Key",
            SecretType::PivotalTrackerApiToken => "Pivotal Tracker API Token",
            SecretType::PowerBiApiKey => "Power BI API Key",
            SecretType::SauceLabsApiKey => "Sauce Labs API Key",
            SecretType::ScraperApiKey => "ScraperAPI Key",
            SecretType::SerpApiKey => "SerpAPI Key",
            SecretType::ShortcutApiToken => "Shortcut API Token",
            SecretType::SmartyApiKey => "Smarty API Key",
            SecretType::StatusCakeApiKey => "StatusCake API Key",
            SecretType::TaxJarApiToken => "TaxJar API Token",
            SecretType::TeleSignApiKey => "TeleSign API Key",
            SecretType::TimekitApiKey => "Timekit API Key",
            SecretType::TravisCiApiToken => "Travis CI API Token",
            SecretType::UploadIoApiKey => "Upload.io API Key",
            SecretType::UserflowApiKey => "Userflow API Key",
            SecretType::WakaTimeApiKey => "WakaTime API Key",
            SecretType::ZapierApiKey => "Zapier API Key",
            SecretType::ZoomInfoApiKey => "ZoomInfo API Key",
            SecretType::FlutterwaveEncryptionKey => "Flutterwave Encryption Key",
            SecretType::FlutterwavePublicKey => "Flutterwave Public Key",
            SecretType::FlyIoPersonalToken => "Fly.io Personal Token",
            SecretType::AdafruitIoApiKey => "Adafruit IO API Key",
            SecretType::AdobeClientId => "Adobe Client ID",
            SecretType::AsanaClientId => "Asana Client ID",
            SecretType::AtlassianApiToken => "Atlassian API Token",
            SecretType::AbyssaleApiKey => "Abyssale API Key",
            SecretType::AdzunaApiKey => "Adzuna API Key",
            SecretType::AeroWorkflowApiKey => "AeroWorkflow API Key",
            SecretType::AhaApiKey => "Aha API Key",
            SecretType::AirbrakeUserKey => "Airbrake User Key",
            SecretType::AlconostApiKey => "Alconost API Key",
            SecretType::AlegraApiKey => "Alegra API Key",
            SecretType::AlethiaApiKey => "Alethia API Key",
            SecretType::AllSportsApiKey => "AllSports API Key",
            SecretType::AmadeusApiKey => "Amadeus API Key",
            SecretType::AmbeeApiKey => "Ambee API Key",
            SecretType::AnypointApiKey => "Anypoint API Key",
            SecretType::ApactaApiKey => "Apacta API Key",
            SecretType::Api2CartApiKey => "API2Cart API Key",
            SecretType::ApiDeckApiKey => "APIDeck API Key",
            SecretType::ApifonicaApiKey => "Apifonica API Key",
            SecretType::ApimaticApiKey => "APIMatic API Key",
            SecretType::ApimetricsApiKey => "APIMetrics API Key",
            SecretType::ApiTemplateApiKey => "APITemplate API Key",
            SecretType::AppcuesApiKey => "Appcues API Key",
            SecretType::AppointeddApiKey => "Appointedd API Key",
            SecretType::AppOpticsApiKey => "AppOptics API Key",
            SecretType::AppSynergyApiKey => "AppSynergy API Key",
            SecretType::ApptivoApiKey => "Apptivo API Key",
            SecretType::ArtsyApiKey => "Artsy API Key",
            SecretType::AteraApiKey => "Atera API Key",
            SecretType::AuddApiKey => "Audd API Key",
            SecretType::AutodeskApiKey => "Autodesk API Key",
            SecretType::AutokloseApiKey => "Autoklose API Key",
            SecretType::AvazaApiKey => "Avaza API Key",
            SecretType::AylienApiKey => "Aylien API Key",
            SecretType::AyrshareApiKey => "Ayrshare API Key",
            SecretType::AzureBatchKey => "Azure Batch Key",
            SecretType::AzureOpenAiApiKey => "Azure OpenAI API Key",
            SecretType::AzureSearchQueryKey => "Azure Search Query Key",
            SecretType::AzureApiManagementKey => "Azure API Management Key",
            SecretType::BeeboleApiKey => "Beebole API Key",
            SecretType::BesnappyApiKey => "Besnappy API Key",
            SecretType::BestTimeApiKey => "BestTime API Key",
            SecretType::BillomatApiKey => "Billomat API Key",
            SecretType::BingSubscriptionKey => "Bing Subscription Key",
            SecretType::BitBarApiKey => "BitBar API Key",
            SecretType::BitcoinAverageApiKey => "BitcoinAverage API Key",
            SecretType::BitlyAccessToken => "Bitly Access Token",
            SecretType::BitMexApiKey => "BitMEX API Key",
            SecretType::BlitAppApiKey => "BlitApp API Key",
            SecretType::BloggerApiKey => "Blogger API Key",
            SecretType::BombBombApiKey => "BombBomb API Key",
            SecretType::BoostNoteApiKey => "BoostNote API Key",
            SecretType::BorgBaseApiKey => "BorgBase API Key",
            SecretType::BoxApiKey => "Box API Key",
            SecretType::BoxOAuthToken => "Box OAuth Token",
            SecretType::BrandfetchApiKey => "Brandfetch API Key",
            SecretType::BrowshotApiKey => "Browshot API Key",
            SecretType::BuddyNsApiKey => "BuddyNS API Key",
            SecretType::BudibaseApiKey => "Budibase API Key",
            SecretType::BugHerdApiKey => "BugHerd API Key",
            SecretType::BulbulApiKey => "Bulbul API Key",
            SecretType::BulkSmsApiKey => "BulkSMS API Key",
            SecretType::CaflouApiKey => "Caflou API Key",
            SecretType::CalorieNinjaApiKey => "CalorieNinja API Key",
            SecretType::CampaynApiKey => "Campayn API Key",
            SecretType::CapsuleCrmApiKey => "Capsule CRM API Key",
            SecretType::CaptainDataApiKey => "CaptainData API Key",
            SecretType::CarbonInterfaceApiKey => "Carbon Interface API Key",
            SecretType::CashboardApiKey => "Cashboard API Key",
            SecretType::CaspioApiKey => "Caspio API Key",
            SecretType::CentralStationCrmApiKey => "CentralStationCRM API Key",
            SecretType::CexIoApiKey => "CEX.IO API Key",
            SecretType::ChatbotApiKey => "Chatbot API Key",
            SecretType::ChatfuelApiKey => "Chatfuel API Key",
            SecretType::ChecIoApiKey => "Chec.io API Key",
            SecretType::CheckvistApiKey => "Checkvist API Key",
            SecretType::CiceroApiKey => "Cicero API Key",
            SecretType::ClickHelpApiKey => "ClickHelp API Key",
            SecretType::ClickSendApiKey => "ClickSend API Key",
            SecretType::CliengoApiKey => "Cliengo API Key",
            SecretType::ClientaryApiKey => "Clientary API Key",
            SecretType::ClinchPadApiKey => "ClinchPad API Key",
            SecretType::ClockifyApiKey => "Clockify API Key",
            SecretType::ClockworkSmsApiKey => "Clockwork SMS API Key",
            SecretType::CloudElementsApiKey => "Cloud Elements API Key",
            SecretType::CloudImageApiKey => "CloudImage API Key",
            SecretType::CloudMersiveApiKey => "CloudMersive API Key",
            SecretType::CloudPlanApiKey => "CloudPlan API Key",
            SecretType::CloverlyApiKey => "Cloverly API Key",
            SecretType::ClozeApiKey => "Cloze API Key",
            SecretType::ClustDocApiKey => "ClustDoc API Key",
            SecretType::CodaApiKey => "Coda API Key",
            SecretType::CodeQuiryApiKey => "CodeQuiry API Key",
            SecretType::CoinLayerApiKey => "CoinLayer API Key",
            SecretType::CoinLibApiKey => "CoinLib API Key",
            SecretType::Collect2ApiKey => "Collect2 API Key",
            SecretType::ColumnApiKey => "Column API Key",
            SecretType::CommerceJsApiKey => "Commerce.js API Key",
            SecretType::CommoditiesApiKey => "Commodities API Key",
            SecretType::CompanyHubApiKey => "CompanyHub API Key",
            SecretType::ConfluentSecretKey => "Confluent Secret Key",
            SecretType::ConversionToolsApiKey => "ConversionTools API Key",
            SecretType::ConvertApiKey => "ConvertAPI Key",
            SecretType::ConvierApiKey => "Convier API Key",
            SecretType::CountryLayerApiKey => "CountryLayer API Key",
            SecretType::CourierApiKey => "Courier API Key",
            SecretType::CraftMyPdfApiKey => "CraftMyPDF API Key",
            SecretType::CryptoCompareApiKey => "CryptoCompare API Key",
            SecretType::CurrencyCloudApiKey => "CurrencyCloud API Key",
            SecretType::CurrencyFreaksApiKey => "CurrencyFreaks API Key",
            SecretType::CurrencyScoopApiKey => "CurrencyScoop API Key",
            SecretType::CurrentsApiKey => "Currents API Key",
            SecretType::CustomerGuruApiKey => "CustomerGuru API Key",
            SecretType::D7NetworkApiKey => "D7 Network API Key",
            SecretType::DailyCoApiKey => "Daily.co API Key",
            SecretType::DandelionApiKey => "Dandelion API Key",
            SecretType::DareBoostApiKey => "DareBoost API Key",
            SecretType::DataGovApiKey => "Data.gov API Key",
            SecretType::DebounceApiKey => "DeBounce API Key",
            SecretType::DeepAiApiKey => "DeepAI API Key",
            SecretType::DelightedApiKey => "Delighted API Key",
            SecretType::DemioApiKey => "Demio API Key",
            SecretType::DeputyApiKey => "Deputy API Key",
            SecretType::DetectLanguageApiKey => "DetectLanguage API Key",
            SecretType::DfuseApiKey => "dfuse API Key",
            SecretType::DiggernautApiKey => "Diggernaut API Key",
            SecretType::DittoApiKey => "Ditto API Key",
            SecretType::DnsCheckApiKey => "DNSCheck API Key",
            SecretType::DocparserApiKey => "Docparser API Key",
            SecretType::DocumoApiKey => "Documo API Key",
            SecretType::DovicoApiKey => "Dovico API Key",
            SecretType::DronaHqApiKey => "DronaHQ API Key",
            SecretType::DuplyApiKey => "Duply API Key",
            SecretType::DynalistApiKey => "Dynalist API Key",
            SecretType::DyspatchApiKey => "Dyspatch API Key",
            SecretType::EagleEyeNetworksApiKey => "Eagle Eye Networks API Key",
            SecretType::EasyInsightApiKey => "EasyInsight API Key",
            SecretType::EcoStruxureApiKey => "EcoStruxure IT API Key",
            SecretType::EdamamApiKey => "Edamam API Key",
            SecretType::EdenAiApiKey => "Eden AI API Key",
            SecretType::EightByEightApiKey => "8x8 API Key",
            SecretType::ElasticEmailApiKey => "Elastic Email API Key",
            SecretType::EnableXApiKey => "EnableX API Key",
            SecretType::EndorLabsApiKey => "Endor Labs API Key",
            SecretType::EnigmaApiKey => "Enigma API Key",
            SecretType::EnvoyApiKey => "Envoy API Key",
            SecretType::EraserApiKey => "Eraser API Key",
            SecretType::EthplorerApiKey => "Ethplorer API Key",
            SecretType::ExchangeRatesApiKey => "ExchangeRatesAPI Key",
            SecretType::ExportSdkApiKey => "ExportSDK API Key",
            SecretType::ExtractorApiKey => "ExtractorAPI Key",
            SecretType::FacebookOAuthToken => "Facebook OAuth Token",
            SecretType::FacePlusPlusApiKey => "Face++ API Key",
            SecretType::FastForexApiKey => "FastForex API Key",
            SecretType::FetchRssApiKey => "FetchRSS API Key",
            SecretType::FileIoApiKey => "File.io API Key",
            SecretType::FinageApiKey => "Finage API Key",
            SecretType::FinancialModelingPrepApiKey => "Financial Modeling Prep API Key",
            SecretType::FindlApiKey => "Findl API Key",
            SecretType::FlatIoApiKey => "Flat.io API Key",
            SecretType::FlexportApiKey => "Flexport API Key",
            SecretType::FlickrApiKey => "Flickr API Key",
            SecretType::FlightApiKey => "FlightAPI Key",
            SecretType::FlightLabsApiKey => "FlightLabs API Key",
            SecretType::FlightStatsApiKey => "FlightStats API Key",
            SecretType::FlowFluApiKey => "FlowFlu API Key",
            SecretType::FmfwApiKey => "FMFW API Key",
            SecretType::FormBucketApiKey => "FormBucket API Key",
            SecretType::FormCraftApiKey => "FormCraft API Key",
            SecretType::FormIoApiKey => "Form.io API Key",
            SecretType::FormSiteApiKey => "FormSite API Key",
            SecretType::FtpCredential => "FTP Credential",
            SecretType::FulcrumApiKey => "Fulcrum API Key",
            SecretType::FxMarketApiKey => "FXMarket API Key",
            SecretType::GcpApplicationDefaultCredentials => "GCP Application Default Credentials",
            SecretType::GeocodioApiKey => "Geocodio API Key",
            SecretType::GetGistApiKey => "GetGist API Key",
            SecretType::GlassfrogApiKey => "Glassfrog API Key",
            SecretType::GoCanvasApiKey => "GoCanvas API Key",
            SecretType::GoogleMapsApiKey => "Google Maps API Key",
            SecretType::GraphCmsApiKey => "GraphCMS API Key",
            SecretType::GraphhopperApiKey => "Graphhopper API Key",
            SecretType::GumroadApiKey => "Gumroad API Key",
            SecretType::GuruApiKey => "Guru API Key",
            SecretType::GyazoApiKey => "Gyazo API Key",
            SecretType::HelpCrunchApiKey => "HelpCrunch API Key",
            SecretType::HoneyBadgerApiKey => "Honeybadger API Key",
            SecretType::HubSpotPrivateAppToken => "HubSpot Private App Token",
            SecretType::HumioApiKey => "Humio API Key",
            SecretType::HunterApiKey => "Hunter API Key",
            SecretType::HyperTrackApiKey => "HyperTrack API Key",
            SecretType::IexCloudApiKey => "IEX Cloud API Key",
            SecretType::ImgBbApiKey => "ImgBB API Key",
            SecretType::InstamojoApiKey => "Instamojo API Key",
            SecretType::InterzoidApiKey => "Interzoid API Key",
            SecretType::InvoiceOceanApiKey => "InvoiceOcean API Key",
            SecretType::Ip2LocationApiKey => "IP2Location API Key",
            SecretType::IpApiKey => "IPAPI Key",
            SecretType::IpDataApiKey => "IPData API Key",
            SecretType::IpFindApiKey => "IPFind API Key",
            SecretType::IpGeolocationApiKey => "IPGeolocation API Key",
            SecretType::IpifyApiKey => "ipify API Key",
            SecretType::IpInfoApiKey => "IPInfo API Key",
            SecretType::IpQualityScoreApiKey => "IPQualityScore API Key",
            SecretType::JambonesApiKey => "Jambones API Key",
            SecretType::JanioApiKey => "Janio API Key",
            SecretType::KanbanToolApiKey => "Kanban Tool API Key",
            SecretType::KarbonApiKey => "Karbon API Key",
            SecretType::KeenApiKey => "Keen API Key",
            SecretType::KickboxApiKey => "Kickbox API Key",
            SecretType::KintoneApiKey => "Kintone API Key",
            SecretType::KlipfolioApiKey => "Klipfolio API Key",
            SecretType::KnockApiKey => "Knock API Key",
            SecretType::KonakartApiKey => "KonaKart API Key",
            SecretType::KylasApiKey => "Kylas API Key",
            SecretType::LarkSuitApiKey => "LarkSuit API Key",
            SecretType::LeadfeederApiKey => "Leadfeeder API Key",
            SecretType::LemlistApiKey => "Lemlist API Key",
            SecretType::LendflowApiKey => "Lendflow API Key",
            SecretType::LessAnnoyingCrmApiKey => "Less Annoying CRM API Key",
            SecretType::LeverApiKey => "Lever API Key",
            SecretType::LexigramApiKey => "Lexigram API Key",
            SecretType::LinearClientSecret => "Linear Client Secret",
            SecretType::LinkPreviewApiKey => "LinkPreview API Key",
            SecretType::LiveChatApiKey => "LiveChat API Key",
            SecretType::LivestormApiKey => "Livestorm API Key",
            SecretType::LogzIoApiKey => "Logz.io API Key",
            SecretType::LovenseApiKey => "Lovense API Key",
            SecretType::LoyverseApiKey => "Loyverse API Key",
            SecretType::LunoApiKey => "Luno API Key",
            SecretType::MagicApiKey => "Magic API Key",
            SecretType::MailCheckApiKey => "MailCheck API Key",
            SecretType::MailmodoApiKey => "Mailmodo API Key",
            SecretType::MailsacApiKey => "Mailsac API Key",
            SecretType::MandrillApiKey => "Mandrill API Key",
            SecretType::MapQuestApiKey => "MapQuest API Key",
            SecretType::MeadowApiKey => "Meadow API Key",
            SecretType::MercuryApiKey => "Mercury API Key",
            SecretType::MetaApiKey => "MetaAPI Key",
            SecretType::MindMeisterApiKey => "MindMeister API Key",
            SecretType::MixMaxApiKey => "MixMax API Key",
            SecretType::MockoonApiKey => "Mockoon API Key",
            SecretType::ModerationApiKey => "Moderation API Key",
            SecretType::MonFloApiKey => "MonFlo API Key",
            SecretType::NhostApiKey => "Nhost API Key",
            SecretType::NoticeableApiKey => "Noticeable API Key",
            SecretType::NumbersApiKey => "Numbers API Key",
            SecretType::NutshellApiKey => "Nutshell API Key",
            SecretType::OandaApiKey => "OANDA API Key",
            SecretType::OnfleetApiKey => "Onfleet API Key",
            SecretType::OpsGenieApiKey => "OpsGenie API Key",
            SecretType::OrbitApiKey => "Orbit API Key",
            SecretType::OryApiKey => "Ory API Key",
            SecretType::PaperformApiKey => "Paperform API Key",
            SecretType::ParseHubApiKey => "ParseHub API Key",
            SecretType::PdfCoApiKey => "PDF.co API Key",
            SecretType::PdfLayerApiKey => "PDFLayer API Key",
            SecretType::PendoApiKey => "Pendo API Key",
            SecretType::PercyApiKey => "Percy API Key",
            SecretType::PersonApiKey => "Person API Key",
            SecretType::PexelsApiKey => "Pexels API Key",
            SecretType::PinataApiKey => "Pinata API Key",
            SecretType::PipedreamApiKey => "Pipedream API Key",
            SecretType::PlanhatApiKey => "Planhat API Key",
            SecretType::PlanyoApiKey => "Planyo API Key",
            SecretType::PleskApiKey => "Plesk API Key",
            SecretType::PodioApiKey => "Podio API Key",
            SecretType::PollsApiKey => "Polls API Key",
            SecretType::PostageAppApiKey => "PostageApp API Key",
            SecretType::PrerenderApiKey => "Prerender API Key",
            SecretType::PrivacyCloudApiKey => "PrivacyCloud API Key",
            SecretType::ProfitwellApiKey => "ProfitWell API Key",
            SecretType::ProspectIoApiKey => "Prospect.io API Key",
            SecretType::ProxyCrawlApiKey => "ProxyCrawl API Key",
            SecretType::ProxyScrapeApiKey => "ProxyScrape API Key",
            SecretType::PushBulletApiKey => "Pushbullet API Key",
            SecretType::PushoverApiKey => "Pushover API Key",
            SecretType::QaseApiKey => "Qase API Key",
            SecretType::QuboleApiKey => "Qubole API Key",
            SecretType::QuickBaseApiKey => "QuickBase API Key",
            SecretType::RampApiKey => "Ramp API Key",
            SecretType::RavenToolsApiKey => "Raven Tools API Key",
            SecretType::RawgApiKey => "RAWG API Key",
            SecretType::ReallySimpleSystemsApiKey => "Really Simple Systems API Key",
            SecretType::RebrandlyApiKey => "Rebrandly API Key",
            SecretType::RechargePaymentsApiKey => "Recharge Payments API Key",
            SecretType::RecruiteeApiKey => "Recruitee API Key",
            SecretType::RedisLabsApiKey => "Redis Labs API Key",
            SecretType::RefinerApiKey => "Refiner API Key",
            SecretType::ResmushApiKey => "reSmush API Key",
            SecretType::RestPackApiKey => "RestPack API Key",
            SecretType::RevApiKey => "Rev API Key",
            SecretType::RevampCrmApiKey => "Revamp CRM API Key",
            SecretType::RiteKitApiKey => "RiteKit API Key",
            SecretType::RiveApiKey => "Rive API Key",
            SecretType::RobinApiKey => "Robin API Key",
            SecretType::RocketReachApiKey => "RocketReach API Key",
            SecretType::RoninAppApiKey => "RoninApp API Key",
            SecretType::Route4MeApiKey => "Route4Me API Key",
            SecretType::RowndApiKey => "Rownd API Key",
            SecretType::RunscopeApiKey => "Runscope API Key",
            SecretType::SaladCloudApiKey => "SaladCloud API Key",
            SecretType::SalesMateApiKey => "Salesmate API Key",
            SecretType::SatisMeterApiKey => "SatisMeter API Key",
            SecretType::SauceNaoApiKey => "SauceNAO API Key",
            SecretType::ScaleSerpApiKey => "ScaleSerp API Key",
            SecretType::ScraperBoxApiKey => "ScraperBox API Key",
            SecretType::ScrapFlyApiKey => "ScrapFly API Key",
            SecretType::ScrapinApiKey => "Scrapin API Key",
            SecretType::ScreenshotApiKey => "Screenshot API Key",
            SecretType::ScriptrApiKey => "Scriptr API Key",
            SecretType::SemantriaApiKey => "Semantria API Key",
            SecretType::SendBirdApiKey => "SendBird API Key",
            SecretType::ServiceBellApiKey => "ServiceBell API Key",
            SecretType::ServiceNowApiKey => "ServiceNow API Key",
            SecretType::ShipDayApiKey => "ShipDay API Key",
            SecretType::ShipEngineApiKey => "ShipEngine API Key",
            SecretType::ShippingCloudApiKey => "ShippingCloud API Key",
            SecretType::ShippoApiKey => "Shippo API Key",
            SecretType::ShotStackApiKey => "ShotStack API Key",
            SecretType::ShutterStockApiKey => "Shutterstock API Key",
            SecretType::SignableApiKey => "Signable API Key",
            SecretType::SignaturitApiKey => "Signaturit API Key",
            SecretType::SimFinApiKey => "SimFin API Key",
            SecretType::SimpleSatApiKey => "SimpleSat API Key",
            SecretType::SimplyNotedApiKey => "SimplyNoted API Key",
            SecretType::SimvolyApiKey => "Simvoly API Key",
            SecretType::SirvApiKey => "Sirv API Key",
            SecretType::SiteLeafApiKey => "Siteleaf API Key",
            SecretType::SkylightApiKey => "Skylight API Key",
            SecretType::SmartSheetsApiKey => "Smartsheets API Key",
            SecretType::SmsApiKey => "SMSAPI Key",
            SecretType::SnovApiKey => "Snov API Key",
            SecretType::SonarCloudApiKey => "SonarCloud API Key",
            SecretType::SpoonacularApiKey => "Spoonacular API Key",
            SecretType::SpotifyApiKey => "Spotify API Key",
            SecretType::SslMateApiKey => "SSLMate API Key",
            SecretType::StackHawkApiKey => "StackHawk API Key",
            SecretType::StatusPageApiKey => "StatusPage API Key",
            SecretType::StatusPalApiKey => "StatusPal API Key",
            SecretType::StitchDataApiKey => "Stitch Data API Key",
            SecretType::StormBoardApiKey => "Stormboard API Key",
            SecretType::StormGlassApiKey => "Storm Glass API Key",
            SecretType::StoryChiefApiKey => "StoryChief API Key",
            SecretType::StripoApiKey => "Stripo API Key",
            SecretType::SurveyAnyplaceApiKey => "SurveyAnyplace API Key",
            SecretType::SurveySparrowApiKey => "SurveySparrow API Key",
            SecretType::SurvicateApiKey => "Survicate API Key",
            SecretType::SvixApiKey => "Svix API Key",
            SecretType::SwiftypeApiKey => "Swiftype API Key",
            SecretType::TallyFyApiKey => "TallyFy API Key",
            SecretType::TatumIoApiKey => "Tatum.io API Key",
            SecretType::TeamGateApiKey => "Teamgate API Key",
            SecretType::TeamworkApiKey => "Teamwork API Key",
            SecretType::TextMagicApiKey => "TextMagic API Key",
            SecretType::ThinkificApiKey => "Thinkific API Key",
            SecretType::TicketTailorApiKey => "Ticket Tailor API Key",
            SecretType::TikTokApiKey => "TikTok API Key",
            SecretType::TimeCampApiKey => "TimeCamp API Key",
            SecretType::TinesWebhookApiKey => "Tines Webhook API Key",
            SecretType::TodoistApiKey => "Todoist API Key",
            SecretType::TogglApiKey => "Toggl API Key",
            SecretType::TomorrowIoApiKey => "Tomorrow.io API Key",
            SecretType::TradierApiKey => "Tradier API Key",
            SecretType::TwilioAuthToken => "Twilio Auth Token",
            SecretType::TypesenseApiKey => "Typesense API Key",
            SecretType::TypetalkApiKey => "Typetalk API Key",
            SecretType::UbidotsApiKey => "Ubidots API Key",
            SecretType::UnityApiKey => "Unity API Key",
            SecretType::UptimeRobotApiKey => "Uptime Robot API Key",
            SecretType::UserStackApiKey => "UserStack API Key",
            SecretType::VatLayerApiKey => "VATLayer API Key",
            SecretType::VeriphoneApiKey => "Veriphone API Key",
            SecretType::VoiceflowApiKey => "Voiceflow API Key",
            SecretType::VoucheryApiKey => "Vouchery API Key",
            SecretType::WebexApiKey => "Webex API Key",
            SecretType::WebhookRelayApiKey => "Webhook Relay API Key",
            SecretType::WebScraperApiKey => "WebScraper API Key",
            SecretType::WebScrapingApiKey => "WebScraping API Key",
            SecretType::WeekdoneApiKey => "Weekdone API Key",
            SecretType::WhatCmsApiKey => "WhatCMS API Key",
            SecretType::WhoxyApiKey => "Whoxy API Key",
            SecretType::WistiaApiKey => "Wistia API Key",
            SecretType::WitApiKey => "Wit API Key",
            SecretType::WixApiKey => "Wix API Key",
            SecretType::XeroApiKey => "Xero API Key",
            SecretType::YelpApiKey => "Yelp API Key",
            SecretType::YextApiKey => "Yext API Key",
            SecretType::YouNeedABudgetApiKey => "You Need A Budget API Key",
            SecretType::YouTubeApiKey => "YouTube API Key",
            SecretType::ZendeskChatApiKey => "Zendesk Chat API Key",
            SecretType::ZenRowsApiKey => "ZenRows API Key",
            SecretType::ZenScrapeApiKey => "ZenScrape API Key",
            SecretType::ZeroBounceApiKey => "ZeroBounce API Key",
            SecretType::ZeroSslApiKey => "ZeroSSL API Key",
            SecretType::ZipBooksApiKey => "ZipBooks API Key",
            SecretType::EncryptedPrivateKey => "Encrypted Private Key",
            SecretType::PuttyPrivateKey => "PuTTY Private Key",
            SecretType::PasswordInUrl => "Password in URL",
            SecretType::GenericCredential => "Generic Credential",
            SecretType::HighEntropyString => "High Entropy String",
            SecretType::Custom(name) => name,
        }
    }
}

/// Severity level of a detected secret
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
pub enum Severity {
    Low,
    Medium,
    High,
    Critical,
}

impl Severity {
    pub fn as_str(&self) -> &str {
        match self {
            Severity::Low => "LOW",
            Severity::Medium => "MEDIUM",
            Severity::High => "HIGH",
            Severity::Critical => "CRITICAL",
        }
    }
}

/// Represents a detected secret
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Secret {
    pub secret_type: SecretType,
    pub value: String,
    pub redacted_value: String,
    pub entropy: f64,
    pub severity: Severity,
    pub confidence: f64,
    pub validated: Option<bool>,
}

impl Secret {
    pub fn new(
        secret_type: SecretType,
        value: String,
        entropy: f64,
        severity: Severity,
        confidence: f64,
    ) -> Self {
        let redacted_value = Self::redact(&value);
        Self {
            secret_type,
            value,
            redacted_value,
            entropy,
            severity,
            confidence,
            validated: None,
        }
    }

    fn redact(value: &str) -> String {
        let chars: Vec<char> = value.chars().collect();
        let char_count = chars.len();

        if char_count <= 8 {
            return "*".repeat(char_count);
        }

        let prefix_len = 4.min(char_count / 4);
        let suffix_len = 4.min(char_count / 4);
        let prefix: String = chars[..prefix_len].iter().collect();
        let suffix: String = chars[char_count - suffix_len..].iter().collect();
        format!("{}...{}", prefix, suffix)
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_redact_short_value() {
        let secret = Secret::new(
            SecretType::GenericApiKey,
            "abc".to_string(),
            2.0,
            Severity::Low,
            0.5,
        );
        assert_eq!(secret.redacted_value, "***");
    }

    #[test]
    fn test_redact_normal_value() {
        let secret = Secret::new(
            SecretType::AwsAccessKey,
            "AKIAIOSFODNN7TESTKEY".to_string(),
            4.0,
            Severity::Critical,
            0.95,
        );
        // 20 chars: prefix=4, suffix=4 -> "AKIA...TKEY"
        assert!(secret.redacted_value.starts_with("AKIA"));
        assert!(secret.redacted_value.contains("..."));
        assert!(!secret.redacted_value.contains("OSFODNN7"));
    }

    #[test]
    fn test_redact_unicode_no_panic() {
        // This should NOT panic (was a bug before)
        let secret = Secret::new(
            SecretType::GenericSecret,
            "héllo_wörld_ñ_secret_value".to_string(),
            3.0,
            Severity::Medium,
            0.7,
        );
        assert!(secret.redacted_value.contains("..."));
    }

    #[test]
    fn test_redact_empty() {
        let secret = Secret::new(
            SecretType::GenericApiKey,
            "".to_string(),
            0.0,
            Severity::Low,
            0.5,
        );
        assert_eq!(secret.redacted_value, "");
    }

    #[test]
    fn test_secret_type_roundtrip() {
        let types = vec![
            SecretType::AwsAccessKey,
            SecretType::GitHubPat,
            SecretType::OpenAiApiKey,
            SecretType::DiscordBotToken,
            SecretType::ShopifyApiKey,
            SecretType::HashiCorpVaultToken,
            SecretType::NpmToken,
        ];

        for secret_type in types {
            let name = secret_type.as_str();
            assert!(!name.is_empty(), "SecretType should have a non-empty name");
        }
    }

    #[test]
    fn test_severity_ordering() {
        assert!(Severity::Low < Severity::Medium);
        assert!(Severity::Medium < Severity::High);
        assert!(Severity::High < Severity::Critical);
    }
}
