{
  "type": "featherpanel.settings.categories",
  "total": 15,
  "categories": [
    {
      "id": "app",
      "name": "App",
      "description": "Some default settings for the application",
      "icon": "settings",
      "setting_keys": [
        "app_name",
        "app_url",
        "wings_remote_url",
        "app_logo_white",
        "app_logo_dark",
        "app_timezone",
        "app_sso_redirect_path",
        "app_sso_token_lifetime_minutes",
        "app_background_image_url",
        "app_background_lock",
        "app_locale_default",
        "app_locale_lock",
        "app_server_spell_banner_style",
        "app_server_spell_banner_background",
        "app_accent_color_default",
        "app_accent_color_lock",
        "app_theme_default",
        "app_theme_lock",
        "app_theme_pack_default",
        "app_theme_pack_lock",
        "app_ui_pack_default",
        "app_ui_pack_lock",
        "app_background_type_default",
        "app_background_type_lock",
        "app_backdrop_blur_default",
        "app_backdrop_blur_lock",
        "app_backdrop_darken_default",
        "app_backdrop_darken_lock",
        "app_background_image_fit_default",
        "app_background_image_fit_lock",
        "temp_files_enabled",
        "temp_files_api_token"
      ],
      "settings_count": 32
    },
    {
      "id": "links",
      "name": "Links",
      "description": "Public links shown across the panel footer (support, social media, legal)",
      "icon": "link",
      "setting_keys": [
        "app_support_url",
        "website_url",
        "discord_url",
        "linkedin_url",
        "telegram_url",
        "tiktok_url",
        "twitter_url",
        "whatsapp_url",
        "youtube_url",
        "status_page_url",
        "legal_tos",
        "legal_privacy"
      ],
      "settings_count": 12
    },
    {
      "id": "auth_page",
      "name": "Auth Page",
      "description": "Customize the login and register experience, marketing panel, QR sign-in, and method layout",
      "icon": "lock",
      "setting_keys": [
        "auth_shell_tagline",
        "auth_aside_title",
        "auth_login_headline",
        "auth_login_subheadline",
        "auth_register_headline",
        "auth_register_subheadline",
        "auth_sso_headline",
        "auth_sso_subheadline",
        "auth_show_marketing_panel",
        "auth_aside_image_url",
        "auth_show_qr_login",
        "auth_form_density",
        "auth_secondary_layout",
        "auth_show_theme_customizer",
        "auth_footer_style",
        "login_default_method",
        "login_methods_order",
        "login_hidden_methods"
      ],
      "settings_count": 18
    },
    {
      "id": "telemetry",
      "name": "Telemetry",
      "description": "Enable or disable installation reports, browser analytics, heatmaps, and session recordings to FeatherPanel.",
      "icon": "activity",
      "setting_keys": [
        "telemetry"
      ],
      "settings_count": 1
    },
    {
      "id": "security",
      "name": "Security",
      "description": "Security and authentication settings",
      "icon": "shield",
      "setting_keys": [
        "email_login_enabled",
        "captcha_provider",
        "turnstile_enabled",
        "turnstile_key_pub",
        "turnstile_key_priv",
        "hcaptcha_site_key",
        "hcaptcha_secret_key",
        "recaptcha_site_key",
        "recaptcha_secret_key",
        "recaptcha_version",
        "recaptcha_v3_min_score",
        "recaptcha_v3_action",
        "friendly_captcha_site_key",
        "friendly_captcha_secret_key",
        "reforge_captcha_site_key",
        "reforge_captcha_secret_key",
        "reforge_captcha_widget_type",
        "reforge_captcha_theme",
        "reforge_captcha_size",
        "reforge_captcha_lang",
        "reforge_captcha_min_score",
        "registration_enabled",
        "registration_require_email_verification",
        "registration_device_limit_enabled",
        "registration_device_max_accounts",
        "email_domain_blocking_enabled",
        "abuseipdb_enabled",
        "abuseipdb_api_key",
        "abuseipdb_check_on_register",
        "abuseipdb_min_confidence_score",
        "abuseipdb_max_age_days",
        "abuseipdb_register_action",
        "require_two_fa_admins",
        "avatar_provider",
        "avatar_custom_url",
        "user_allow_avatar_change",
        "user_allow_username_change",
        "user_allow_email_change",
        "user_allow_first_name_change",
        "user_allow_last_name_change",
        "user_allow_api_keys_create",
        "user_allow_account_deletion",
        "user_account_deletion_mode",
        "user_account_deletion_delay_days",
        "user_account_deletion_verify_2fa",
        "user_account_deletion_verify_email_otp"
      ],
      "settings_count": 46
    },
    {
      "id": "email",
      "name": "Email",
      "description": "Email configuration settings",
      "icon": "mail",
      "setting_keys": [
        "smtp_enabled",
        "smtp_host",
        "smtp_port",
        "smtp_user",
        "smtp_pass",
        "smtp_from",
        "smtp_encryption"
      ],
      "settings_count": 7
    },
    {
      "id": "status_page",
      "name": "Status Page",
      "description": "User-facing status page configuration",
      "icon": "activity",
      "setting_keys": [
        "status_page_enabled",
        "status_page_public_enabled",
        "status_page_show_node_status",
        "status_page_show_load_usage",
        "status_page_show_total_servers",
        "status_page_show_individual_nodes",
        "status_page_allow_iframe",
        "status_page_show_raw_values",
        "status_page_show_player_count",
        "status_page_servers_visible_by_default"
      ],
      "settings_count": 10
    },
    {
      "id": "knowledgebase",
      "name": "Knowledgebase",
      "description": "Knowledgebase and documentation settings",
      "icon": "book",
      "setting_keys": [
        "knowledgebase_enabled",
        "knowledgebase_public_enabled",
        "knowledgebase_show_categories",
        "knowledgebase_show_articles",
        "knowledgebase_show_attachments",
        "knowledgebase_show_tags"
      ],
      "settings_count": 6
    },
    {
      "id": "oauth",
      "name": "OAuth",
      "description": "Discord OAuth configuration. For OIDC/SSO use Admin → OIDC / SSO Providers.",
      "icon": "shield",
      "setting_keys": [
        "discord_oauth_enabled",
        "discord_oauth_client_id",
        "discord_oauth_client_secret"
      ],
      "settings_count": 3
    },
    {
      "id": "servers",
      "name": "Servers",
      "description": "Servers configuration settings",
      "icon": "server",
      "setting_keys": [
        "server_allow_egg_change",
        "server_allow_startup_change",
        "server_allow_custom_docker_image",
        "server_allow_subusers",
        "server_allow_schedules",
        "server_lifecycle_hooks_enabled",
        "server_lifecycle_hooks_container_shell_enabled",
        "server_run_script_enabled",
        "server_backup_retention_mode",
        "server_allow_user_backup_policy_edit",
        "server_allow_allocation_select",
        "server_allow_user_made_firewall",
        "server_allow_user_made_proxy",
        "server_proxy_max_per_server",
        "server_allow_cross_realm_spell_change",
        "server_allow_user_server_deletion",
        "server_allow_user_made_import",
        "server_allow_user_made_fastdl",
        "server_allow_user_made_subdomains",
        "server_auto_start_on_node_reconnect",
        "server_auto_start_stagger_seconds",
        "server_auto_start_initial_delay_seconds",
        "server_allow_user_auto_start",
        "server_hide_ips",
        "file_trash_enabled",
        "file_trash_max_size_mb",
        "file_trash_retention_days"
      ],
      "settings_count": 27
    },
    {
      "id": "chatbot",
      "name": "Chatbot",
      "description": "AI chatbot configuration settings",
      "icon": "bot",
      "setting_keys": [
        "chatbot_enabled",
        "chatbot_ai_provider",
        "chatbot_temperature",
        "chatbot_max_tokens",
        "chatbot_max_history",
        "chatbot_system_prompt",
        "chatbot_user_prompt",
        "chatbot_google_ai_api_key",
        "chatbot_google_ai_model",
        "chatbot_openrouter_api_key",
        "chatbot_openrouter_model",
        "chatbot_openai_api_key",
        "chatbot_openai_model",
        "chatbot_openai_base_url",
        "chatbot_ollama_base_url",
        "chatbot_ollama_model",
        "chatbot_grok_api_key",
        "chatbot_grok_model",
        "chatbot_perplexity_api_key",
        "chatbot_perplexity_model",
        "chatbot_perplexity_base_url"
      ],
      "settings_count": 21
    },
    {
      "id": "ticket_system",
      "name": "Ticket System",
      "description": "Ticket system configuration settings",
      "icon": "ticket",
      "setting_keys": [
        "ticket_system_enabled",
        "ticket_system_allow_attachments",
        "ticket_system_max_open_tickets"
      ],
      "settings_count": 3
    },
    {
      "id": "seo",
      "name": "SEO",
      "description": "Search Engine Optimization settings",
      "icon": "search",
      "setting_keys": [
        "app_seo_title",
        "app_seo_description",
        "app_seo_keywords",
        "app_seo_indexing"
      ],
      "settings_count": 4
    },
    {
      "id": "pwa",
      "name": "PWA",
      "description": "Progressive Web App settings",
      "icon": "smartphone",
      "setting_keys": [
        "app_pwa_enabled",
        "app_pwa_short_name",
        "app_pwa_description",
        "app_pwa_theme_color",
        "app_pwa_bg_color"
      ],
      "settings_count": 5
    },
    {
      "id": "other",
      "name": "Other",
      "description": "Other configuration settings",
      "icon": "settings",
      "setting_keys": [
        "app_developer_mode",
        "custom_js",
        "custom_css",
        "cache_driver"
      ],
      "settings_count": 4
    }
  ]
}
