UNPKG

fallow

Version:

Codebase intelligence for TypeScript and JavaScript: health, complexity, duplication, architecture, styling drift, and unused code from one graph. CLI, LSP, and MCP server. Zero config for over 100 frameworks.

3,982 lines • 134 kB
{
  "schema_version": 1,
  "source": "fallow schema issue_types",
  "issue_types": [
    {
      "id": "code-duplication",
      "rule_id": "fallow/code-duplication",
      "command": "dupes",
      "category": "Duplication",
      "description": "Duplicated code block",
      "label": "Code Duplication",
      "config_key": null,
      "registry_index": 0,
      "aliases": [],
      "lsp": true,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line code-duplication",
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Reported by fallow dupes (and bare fallow / fallow audit)",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/duplication/#clone-groups"
    },
    {
      "id": "unused-file",
      "rule_id": "fallow/unused-file",
      "command": "dead-code",
      "category": "Dead code",
      "description": "File is not reachable from any entry point",
      "label": "Unused Files",
      "config_key": "unused-files",
      "registry_index": 1,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unused-files",
      "result_key": "unused_files",
      "summary_label": "Unused files",
      "summary_docs_anchor": "unused-files",
      "sarif_rule_ids": [
        "fallow/unused-file"
      ],
      "codeclimate_check_names": [
        "fallow/unused-file"
      ],
      "ts_alias": {
        "name": "UnusedFile",
        "parent": "UnusedFileFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-file unused-file",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-files"
    },
    {
      "id": "unused-export",
      "rule_id": "fallow/unused-export",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Export is never imported",
      "label": "Unused Exports",
      "config_key": "unused-exports",
      "registry_index": 2,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unused-exports",
      "result_key": "unused_exports",
      "summary_label": "Unused exports",
      "summary_docs_anchor": "unused-exports",
      "sarif_rule_ids": [
        "fallow/unused-export"
      ],
      "codeclimate_check_names": [
        "fallow/unused-export"
      ],
      "ts_alias": {
        "name": "UnusedExport",
        "parent": "UnusedExportFinding"
      },
      "counts_in_total": true,
      "fixable": true,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-export",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-exports"
    },
    {
      "id": "unused-type",
      "rule_id": "fallow/unused-type",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Type export is never imported",
      "label": "Unused Types",
      "config_key": "unused-types",
      "registry_index": 3,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unused-types",
      "result_key": "unused_types",
      "summary_label": "Unused types",
      "summary_docs_anchor": "unused-types",
      "sarif_rule_ids": [
        "fallow/unused-type"
      ],
      "codeclimate_check_names": [
        "fallow/unused-type"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-type",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-types"
    },
    {
      "id": "private-type-leak",
      "rule_id": "fallow/private-type-leak",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Exported signature references a private type",
      "label": "Private Type Leaks",
      "config_key": "private-type-leaks",
      "registry_index": 4,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--private-type-leaks",
      "result_key": "private_type_leaks",
      "summary_label": "Private type leaks",
      "summary_docs_anchor": "private-type-leaks",
      "sarif_rule_ids": [
        "fallow/private-type-leak"
      ],
      "codeclimate_check_names": [
        "fallow/private-type-leak"
      ],
      "ts_alias": {
        "name": "PrivateTypeLeak",
        "parent": "PrivateTypeLeakFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line private-type-leak",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Opt-in API hygiene check; the rule defaults to off",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#private-type-leaks"
    },
    {
      "id": "deprecated-export-in-use",
      "rule_id": "fallow/deprecated-export-in-use",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Export marked @deprecated is still referenced",
      "label": "Deprecated Exports in Use",
      "config_key": "deprecated-exports-in-use",
      "registry_index": 5,
      "aliases": [],
      "lsp": false,
      "filter_flag": "--deprecated-exports-in-use",
      "result_key": "deprecated_exports_in_use",
      "summary_label": "Deprecated exports in use",
      "summary_docs_anchor": "deprecated-exports-in-use",
      "sarif_rule_ids": [
        "fallow/deprecated-export-in-use"
      ],
      "codeclimate_check_names": [
        "fallow/deprecated-export-in-use"
      ],
      "ts_alias": {
        "name": "DeprecatedExportInUse",
        "parent": "DeprecatedExportInUseFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line deprecated-export-in-use",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Opt-in migration sweep; the rule defaults to off",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#deprecated-exports-in-use"
    },
    {
      "id": "unused-dependency",
      "rule_id": "fallow/unused-dependency",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Dependency listed but never imported",
      "label": "Unused Dependencies",
      "config_key": "unused-dependencies",
      "registry_index": 6,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unused-deps",
      "result_key": "unused_dependencies",
      "summary_label": "Unused dependencies",
      "summary_docs_anchor": "unused-dependencies",
      "sarif_rule_ids": [
        "fallow/unused-dependency"
      ],
      "codeclimate_check_names": [
        "fallow/unused-dependency"
      ],
      "ts_alias": {
        "name": "UnusedDependency",
        "parent": "UnusedDependencyFinding"
      },
      "counts_in_total": true,
      "fixable": true,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": "--unused-deps controls unused-dependency, unused-dev-dependency, unused-optional-dependency, type-only-dependency, and test-only-dependency",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-dependencies"
    },
    {
      "id": "unused-dev-dependency",
      "rule_id": "fallow/unused-dev-dependency",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Dev dependency listed but never imported",
      "label": "Unused Dev Dependencies",
      "config_key": "unused-dev-dependencies",
      "registry_index": 7,
      "aliases": [
        "unused-dev-deps",
        "unused-dev-dependencies"
      ],
      "lsp": true,
      "filter_flag": "--unused-deps",
      "result_key": "unused_dev_dependencies",
      "summary_label": "Unused devDependencies",
      "summary_docs_anchor": "unused-dependencies",
      "sarif_rule_ids": [
        "fallow/unused-dev-dependency"
      ],
      "codeclimate_check_names": [
        "fallow/unused-dev-dependency"
      ],
      "ts_alias": {
        "name": "UnusedDependency",
        "parent": "UnusedDevDependencyFinding"
      },
      "counts_in_total": true,
      "fixable": true,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": "--unused-deps controls unused-dependency, unused-dev-dependency, unused-optional-dependency, type-only-dependency, and test-only-dependency",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-devdependencies"
    },
    {
      "id": "unused-optional-dependency",
      "rule_id": "fallow/unused-optional-dependency",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Optional dependency listed but never imported",
      "label": "Unused Optional Dependencies",
      "config_key": "unused-optional-dependencies",
      "registry_index": 8,
      "aliases": [
        "unused-optional-deps",
        "unused-optional-dependencies"
      ],
      "lsp": true,
      "filter_flag": "--unused-deps",
      "result_key": "unused_optional_dependencies",
      "summary_label": "Unused optionalDependencies",
      "summary_docs_anchor": "unused-dependencies",
      "sarif_rule_ids": [
        "fallow/unused-optional-dependency"
      ],
      "codeclimate_check_names": [
        "fallow/unused-optional-dependency"
      ],
      "ts_alias": {
        "name": "UnusedDependency",
        "parent": "UnusedOptionalDependencyFinding"
      },
      "counts_in_total": true,
      "fixable": true,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": "--unused-deps controls unused-dependency, unused-dev-dependency, unused-optional-dependency, type-only-dependency, and test-only-dependency",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-optionaldependencies"
    },
    {
      "id": "unused-enum-member",
      "rule_id": "fallow/unused-enum-member",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Enum member is never referenced",
      "label": "Unused Enum Members",
      "config_key": "unused-enum-members",
      "registry_index": 9,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unused-enum-members",
      "result_key": "unused_enum_members",
      "summary_label": "Unused enum members",
      "summary_docs_anchor": "unused-enum-members",
      "sarif_rule_ids": [
        "fallow/unused-enum-member"
      ],
      "codeclimate_check_names": [
        "fallow/unused-enum-member"
      ],
      "ts_alias": {
        "name": "UnusedMember",
        "parent": "UnusedEnumMemberFinding"
      },
      "counts_in_total": true,
      "fixable": true,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-enum-member",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-enum-members"
    },
    {
      "id": "unused-class-member",
      "rule_id": "fallow/unused-class-member",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Class member is never referenced",
      "label": "Unused Class Members",
      "config_key": "unused-class-members",
      "registry_index": 10,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unused-class-members",
      "result_key": "unused_class_members",
      "summary_label": "Unused class members",
      "summary_docs_anchor": "unused-class-members",
      "sarif_rule_ids": [
        "fallow/unused-class-member"
      ],
      "codeclimate_check_names": [
        "fallow/unused-class-member"
      ],
      "ts_alias": {
        "name": "UnusedMember",
        "parent": "UnusedClassMemberFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-class-member",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-class-members"
    },
    {
      "id": "unused-store-member",
      "rule_id": "fallow/unused-store-member",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Store member is never accessed by any consumer",
      "label": "Unused Store Members",
      "config_key": "unused-store-members",
      "registry_index": 11,
      "aliases": [
        "unused-store-members"
      ],
      "lsp": true,
      "filter_flag": "--unused-store-members",
      "result_key": "unused_store_members",
      "summary_label": "Unused store members",
      "summary_docs_anchor": "unused-store-members",
      "sarif_rule_ids": [
        "fallow/unused-store-member"
      ],
      "codeclimate_check_names": [
        "fallow/unused-store-member"
      ],
      "ts_alias": {
        "name": "UnusedMember",
        "parent": "UnusedStoreMemberFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-store-member",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-store-members"
    },
    {
      "id": "unresolved-import",
      "rule_id": "fallow/unresolved-import",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Import could not be resolved",
      "label": "Unresolved Imports",
      "config_key": "unresolved-imports",
      "registry_index": 12,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unresolved-imports",
      "result_key": "unresolved_imports",
      "summary_label": "Unresolved imports",
      "summary_docs_anchor": "unresolved-imports",
      "sarif_rule_ids": [
        "fallow/unresolved-import"
      ],
      "codeclimate_check_names": [
        "fallow/unresolved-import"
      ],
      "ts_alias": {
        "name": "UnresolvedImport",
        "parent": "UnresolvedImportFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unresolved-import",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unresolved-imports"
    },
    {
      "id": "unlisted-dependency",
      "rule_id": "fallow/unlisted-dependency",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Dependency used but not in package.json",
      "label": "Unlisted Dependencies",
      "config_key": "unlisted-dependencies",
      "registry_index": 13,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unlisted-deps",
      "result_key": "unlisted_dependencies",
      "summary_label": "Unlisted dependencies",
      "summary_docs_anchor": "unlisted-dependencies",
      "sarif_rule_ids": [
        "fallow/unlisted-dependency"
      ],
      "codeclimate_check_names": [
        "fallow/unlisted-dependency"
      ],
      "ts_alias": {
        "name": "UnlistedDependency",
        "parent": "UnlistedDependencyFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unlisted-dependencies"
    },
    {
      "id": "duplicate-export",
      "rule_id": "fallow/duplicate-export",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Export name appears in multiple modules",
      "label": "Duplicate Exports",
      "config_key": "duplicate-exports",
      "registry_index": 14,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--duplicate-exports",
      "result_key": "duplicate_exports",
      "summary_label": "Duplicate exports",
      "summary_docs_anchor": "duplicate-exports",
      "sarif_rule_ids": [
        "fallow/duplicate-export"
      ],
      "codeclimate_check_names": [
        "fallow/duplicate-export"
      ],
      "ts_alias": {
        "name": "DuplicateExport",
        "parent": "DuplicateExportFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-file duplicate-export",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": "fallow fix can add an ignoreExports rule to the fallow config instead of editing source",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#duplicate-exports"
    },
    {
      "id": "type-only-dependency",
      "rule_id": "fallow/type-only-dependency",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Production dependency only used via type-only imports",
      "label": "Type-Only Dependencies",
      "config_key": "type-only-dependencies",
      "registry_index": 15,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unused-deps",
      "result_key": "type_only_dependencies",
      "summary_label": "Type-only dependencies",
      "summary_docs_anchor": "type-only-dependencies",
      "sarif_rule_ids": [
        "fallow/type-only-dependency"
      ],
      "codeclimate_check_names": [
        "fallow/type-only-dependency"
      ],
      "ts_alias": {
        "name": "TypeOnlyDependency",
        "parent": "TypeOnlyDependencyFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": "Only reported in --production mode; --unused-deps scopes it together with the other dependency kinds",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#type-only-dependencies"
    },
    {
      "id": "test-only-dependency",
      "rule_id": "fallow/test-only-dependency",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Production dependency only imported by test files",
      "label": "Test-Only Dependencies",
      "config_key": "test-only-dependencies",
      "registry_index": 16,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unused-deps",
      "result_key": "test_only_dependencies",
      "summary_label": "Test-only dependencies",
      "summary_docs_anchor": "test-only-dependencies",
      "sarif_rule_ids": [
        "fallow/test-only-dependency"
      ],
      "codeclimate_check_names": [
        "fallow/test-only-dependency"
      ],
      "ts_alias": {
        "name": "TestOnlyDependency",
        "parent": "TestOnlyDependencyFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": "Not reported in --production mode (test files are excluded there); --unused-deps scopes it together with the other dependency kinds",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#test-only-dependencies"
    },
    {
      "id": "dev-dependency-in-production",
      "rule_id": "fallow/dev-dependency-in-production",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "devDependency imported by production code with a runtime import",
      "label": "Dev Dependencies Used in Production",
      "config_key": "dev-dependencies-in-production",
      "registry_index": 17,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--unused-deps",
      "result_key": "dev_dependencies_in_production",
      "summary_label": "Dev dependencies used in production",
      "summary_docs_anchor": "dev-dependencies-in-production",
      "sarif_rule_ids": [
        "fallow/dev-dependency-in-production"
      ],
      "codeclimate_check_names": [
        "fallow/dev-dependency-in-production"
      ],
      "ts_alias": {
        "name": "DevDependencyInProduction",
        "parent": "DevDependencyInProductionFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#dev-dependencies-in-production"
    },
    {
      "id": "circular-dependency",
      "rule_id": "fallow/circular-dependency",
      "command": "dead-code",
      "category": "Architecture",
      "description": "Circular dependency chain detected",
      "label": "Circular Dependencies",
      "config_key": "circular-dependencies",
      "registry_index": 18,
      "aliases": [
        "circular-dependencies"
      ],
      "lsp": true,
      "filter_flag": "--circular-deps",
      "result_key": "circular_dependencies",
      "summary_label": "Circular dependencies",
      "summary_docs_anchor": "circular-dependencies",
      "sarif_rule_ids": [
        "fallow/circular-dependency"
      ],
      "codeclimate_check_names": [
        "fallow/circular-dependency"
      ],
      "ts_alias": {
        "name": "CircularDependency",
        "parent": "CircularDependencyFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line circular-dependency",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#circular-dependencies"
    },
    {
      "id": "re-export-cycle",
      "rule_id": "fallow/re-export-cycle",
      "command": "dead-code",
      "category": "Architecture",
      "description": "Two or more barrel files re-export from each other in a loop",
      "label": "Re-Export Cycles",
      "config_key": "re-export-cycle",
      "registry_index": 19,
      "aliases": [
        "re-export-cycles",
        "reexport-cycle",
        "reexport-cycles"
      ],
      "lsp": true,
      "filter_flag": "--re-export-cycles",
      "result_key": "re_export_cycles",
      "summary_label": "Re-export cycles",
      "summary_docs_anchor": "re-export-cycles",
      "sarif_rule_ids": [
        "fallow/re-export-cycle"
      ],
      "codeclimate_check_names": [
        "fallow/re-export-cycle"
      ],
      "ts_alias": {
        "name": "ReExportCycle",
        "parent": "ReExportCycleFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-file re-export-cycle",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#re-export-cycles"
    },
    {
      "id": "package-cycle",
      "rule_id": "fallow/package-cycle",
      "command": "dead-code",
      "category": "Architecture",
      "description": "Two or more workspace packages import each other in a loop",
      "label": "Package Cycles",
      "config_key": "package-cycle",
      "registry_index": 20,
      "aliases": [
        "package-cycles"
      ],
      "lsp": true,
      "filter_flag": "--package-cycles",
      "result_key": "package_cycles",
      "summary_label": "Package cycles",
      "summary_docs_anchor": "package-cycles",
      "sarif_rule_ids": [
        "fallow/package-cycle"
      ],
      "codeclimate_check_names": [
        "fallow/package-cycle"
      ],
      "ts_alias": {
        "name": "PackageCycle",
        "parent": "PackageCycleFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line package-cycle",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": "Requires a workspace with two or more packages",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#package-cycles"
    },
    {
      "id": "boundary-violation",
      "rule_id": "fallow/boundary-violation",
      "command": "dead-code",
      "category": "Architecture",
      "description": "Import crosses a configured architecture boundary",
      "label": "Boundary Violations",
      "config_key": "boundary-violation",
      "registry_index": 21,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--boundary-violations",
      "result_key": "boundary_violations",
      "summary_label": "Boundary violations",
      "summary_docs_anchor": "boundary-violations",
      "sarif_rule_ids": [
        "fallow/boundary-violation"
      ],
      "codeclimate_check_names": [
        "fallow/boundary-violation"
      ],
      "ts_alias": {
        "name": "BoundaryViolation",
        "parent": "BoundaryViolationFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line boundary-violation",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": "Requires configured boundary zones (boundaries config)",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#boundary-violations"
    },
    {
      "id": "boundary-coverage",
      "rule_id": "fallow/boundary-coverage",
      "command": "dead-code",
      "category": "Architecture",
      "description": "Source file matches no configured architecture boundary zone",
      "label": "Boundary Coverage",
      "config_key": "boundary-violation",
      "registry_index": 22,
      "aliases": [
        "boundary-coverage-violations"
      ],
      "lsp": false,
      "filter_flag": "--boundary-violations",
      "result_key": "boundary_coverage_violations",
      "summary_label": "Boundary coverage",
      "summary_docs_anchor": "boundary-violations",
      "sarif_rule_ids": [
        "fallow/boundary-coverage"
      ],
      "codeclimate_check_names": [
        "fallow/boundary-coverage"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-file boundary-violation",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": "Requires boundaries.coverage.requireAllFiles",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#boundary-violations"
    },
    {
      "id": "boundary-call-violation",
      "rule_id": "fallow/boundary-call-violation",
      "command": "dead-code",
      "category": "Architecture",
      "description": "Zoned file calls a callee its zone forbids",
      "label": "Boundary Call Violations",
      "config_key": "boundary-violation",
      "registry_index": 23,
      "aliases": [
        "boundary-calls",
        "boundary-call-violations"
      ],
      "lsp": false,
      "filter_flag": "--boundary-violations",
      "result_key": "boundary_call_violations",
      "summary_label": "Boundary calls",
      "summary_docs_anchor": "boundary-violations",
      "sarif_rule_ids": [
        "fallow/boundary-call-violation"
      ],
      "codeclimate_check_names": [
        "fallow/boundary-call-violation"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line boundary-call-violation",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": "Requires boundaries.calls.forbidden patterns",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#boundary-violations"
    },
    {
      "id": "policy-violation",
      "rule_id": "fallow/policy-violation",
      "command": "dead-code",
      "category": "Policy",
      "description": "Usage violates a configured rule-pack policy",
      "label": "Policy Violations",
      "config_key": "policy-violation",
      "registry_index": 24,
      "aliases": [
        "policy-violations"
      ],
      "lsp": true,
      "filter_flag": "--policy-violations",
      "result_key": "policy_violations",
      "summary_label": "Policy violations",
      "summary_docs_anchor": "policy-violations",
      "sarif_rule_ids": [
        "fallow/policy-violation"
      ],
      "codeclimate_check_names": [
        "fallow/policy-violation"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line policy-violation",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": "Requires a configured rule pack (rulePacks config)",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#policy-violations"
    },
    {
      "id": "invalid-client-export",
      "rule_id": "fallow/invalid-client-export",
      "command": "dead-code",
      "category": "Policy",
      "description": "\"use client\" file exports a server-only / route-config name",
      "label": "Invalid Client Exports",
      "config_key": "invalid-client-export",
      "registry_index": 25,
      "aliases": [
        "invalid-client-exports"
      ],
      "lsp": true,
      "filter_flag": null,
      "result_key": "invalid_client_exports",
      "summary_label": "Invalid client exports",
      "summary_docs_anchor": "invalid-client-exports",
      "sarif_rule_ids": [
        "fallow/invalid-client-export"
      ],
      "codeclimate_check_names": [
        "fallow/invalid-client-export"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line invalid-client-export",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [
        "next"
      ],
      "note": "Requires the project to declare next",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#invalid-client-exports"
    },
    {
      "id": "mixed-client-server-barrel",
      "rule_id": "fallow/mixed-client-server-barrel",
      "command": "dead-code",
      "category": "Policy",
      "description": "Barrel re-exports both a \"use client\" module and a server-only module",
      "label": "Mixed Client/Server Barrels",
      "config_key": "mixed-client-server-barrel",
      "registry_index": 26,
      "aliases": [
        "mixed-client-server-barrels"
      ],
      "lsp": true,
      "filter_flag": null,
      "result_key": "mixed_client_server_barrels",
      "summary_label": "Mixed client/server barrels",
      "summary_docs_anchor": "mixed-client-server-barrels",
      "sarif_rule_ids": [
        "fallow/mixed-client-server-barrel"
      ],
      "codeclimate_check_names": [
        "fallow/mixed-client-server-barrel"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line mixed-client-server-barrel",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": "Requires the project to declare next",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#mixed-client-server-barrels"
    },
    {
      "id": "misplaced-directive",
      "rule_id": "fallow/misplaced-directive",
      "command": "dead-code",
      "category": "Policy",
      "description": "\"use client\" / \"use server\" directive is not in the leading position and is ignored",
      "label": "Misplaced Directives",
      "config_key": "misplaced-directive",
      "registry_index": 27,
      "aliases": [
        "misplaced-directives"
      ],
      "lsp": true,
      "filter_flag": null,
      "result_key": "misplaced_directives",
      "summary_label": "Misplaced directives",
      "summary_docs_anchor": "misplaced-directives",
      "sarif_rule_ids": [
        "fallow/misplaced-directive"
      ],
      "codeclimate_check_names": [
        "fallow/misplaced-directive"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line misplaced-directive",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": "Requires the project to declare next",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#misplaced-directives"
    },
    {
      "id": "unprovided-inject",
      "rule_id": "fallow/unprovided-inject",
      "command": "dead-code",
      "category": "Dead code",
      "description": "inject() / getContext() reads a key that no provide() / setContext() supplies",
      "label": "Unprovided Injects",
      "config_key": "unprovided-injects",
      "registry_index": 28,
      "aliases": [
        "unprovided-injects"
      ],
      "lsp": true,
      "filter_flag": "--unprovided-injects",
      "result_key": "unprovided_injects",
      "summary_label": "Unprovided injects",
      "summary_docs_anchor": "unprovided-injects",
      "sarif_rule_ids": [
        "fallow/unprovided-inject"
      ],
      "codeclimate_check_names": [
        "fallow/unprovided-inject"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unprovided-inject",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unprovided-injects"
    },
    {
      "id": "unrendered-component",
      "rule_id": "fallow/unrendered-component",
      "command": "dead-code",
      "category": "Dead code",
      "description": "A Vue / Svelte component is reachable through a barrel but rendered nowhere",
      "label": "Unrendered Components",
      "config_key": "unrendered-components",
      "registry_index": 29,
      "aliases": [
        "unrendered-components"
      ],
      "lsp": true,
      "filter_flag": "--unrendered-components",
      "result_key": "unrendered_components",
      "summary_label": "Unrendered components",
      "summary_docs_anchor": "unrendered-components",
      "sarif_rule_ids": [
        "fallow/unrendered-component"
      ],
      "codeclimate_check_names": [
        "fallow/unrendered-component"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unrendered-component",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unrendered-components"
    },
    {
      "id": "unused-component-prop",
      "rule_id": "fallow/unused-component-prop",
      "command": "dead-code",
      "category": "Dead code",
      "description": "A Vue, Svelte, or React component prop is referenced nowhere in its own component",
      "label": "Unused Component Props",
      "config_key": "unused-component-props",
      "registry_index": 30,
      "aliases": [
        "unused-component-props"
      ],
      "lsp": true,
      "filter_flag": "--unused-component-props",
      "result_key": "unused_component_props",
      "summary_label": "Unused component props",
      "summary_docs_anchor": "unused-component-props",
      "sarif_rule_ids": [
        "fallow/unused-component-prop"
      ],
      "codeclimate_check_names": [
        "fallow/unused-component-prop"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-component-prop",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-props"
    },
    {
      "id": "absent-component-prop",
      "rule_id": "fallow/absent-component-prop",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Known reachable callers omit an optional prop consumed inside its component",
      "label": "Absent Optional Component Props",
      "config_key": "absent-component-props",
      "registry_index": 31,
      "aliases": [
        "absent-component-props"
      ],
      "lsp": true,
      "filter_flag": "--absent-component-props",
      "result_key": "absent_component_props",
      "summary_label": "Absent optional component props",
      "summary_docs_anchor": "absent-component-props",
      "sarif_rule_ids": [
        "fallow/absent-component-prop"
      ],
      "codeclimate_check_names": [
        "fallow/absent-component-prop"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line absent-component-prop",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Opt-in manual review candidate; defaults to off. Inspect caller evidence and defaults before changing the component. No automatic fix.",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#absent-component-props"
    },
    {
      "id": "unused-component-emit",
      "rule_id": "fallow/unused-component-emit",
      "command": "dead-code",
      "category": "Dead code",
      "description": "A Vue <script setup> defineEmits event is emitted nowhere in its own component",
      "label": "Unused Component Emits",
      "config_key": "unused-component-emits",
      "registry_index": 32,
      "aliases": [
        "unused-component-emits"
      ],
      "lsp": true,
      "filter_flag": "--unused-component-emits",
      "result_key": "unused_component_emits",
      "summary_label": "Unused component emits",
      "summary_docs_anchor": "unused-component-emits",
      "sarif_rule_ids": [
        "fallow/unused-component-emit"
      ],
      "codeclimate_check_names": [
        "fallow/unused-component-emit"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-component-emit",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-emits"
    },
    {
      "id": "unused-component-input",
      "rule_id": "fallow/unused-component-input",
      "command": "dead-code",
      "category": "Dead code",
      "description": "An Angular @Input() / signal input() / model() input is read nowhere in its own component",
      "label": "Unused Component Inputs",
      "config_key": "unused-component-inputs",
      "registry_index": 33,
      "aliases": [
        "unused-component-inputs"
      ],
      "lsp": true,
      "filter_flag": "--unused-component-inputs",
      "result_key": "unused_component_inputs",
      "summary_label": "Unused component inputs",
      "summary_docs_anchor": "unused-component-inputs",
      "sarif_rule_ids": [
        "fallow/unused-component-input"
      ],
      "codeclimate_check_names": [
        "fallow/unused-component-input"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-component-input",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-inputs"
    },
    {
      "id": "unused-component-output",
      "rule_id": "fallow/unused-component-output",
      "command": "dead-code",
      "category": "Dead code",
      "description": "An Angular @Output() / signal output() output is emitted nowhere in its own component",
      "label": "Unused Component Outputs",
      "config_key": "unused-component-outputs",
      "registry_index": 34,
      "aliases": [
        "unused-component-outputs"
      ],
      "lsp": true,
      "filter_flag": "--unused-component-outputs",
      "result_key": "unused_component_outputs",
      "summary_label": "Unused component outputs",
      "summary_docs_anchor": "unused-component-outputs",
      "sarif_rule_ids": [
        "fallow/unused-component-output"
      ],
      "codeclimate_check_names": [
        "fallow/unused-component-output"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-component-output",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-outputs"
    },
    {
      "id": "unused-svelte-event",
      "rule_id": "fallow/unused-svelte-event",
      "command": "dead-code",
      "category": "Dead code",
      "description": "A Svelte component dispatches a createEventDispatcher event whose name is listened to nowhere in the project",
      "label": "Unused Svelte Events",
      "config_key": "unused-svelte-events",
      "registry_index": 35,
      "aliases": [
        "unused-svelte-events"
      ],
      "lsp": true,
      "filter_flag": "--unused-svelte-events",
      "result_key": "unused_svelte_events",
      "summary_label": "Unused Svelte events",
      "summary_docs_anchor": "unused-svelte-events",
      "sarif_rule_ids": [
        "fallow/unused-svelte-event"
      ],
      "codeclimate_check_names": [
        "fallow/unused-svelte-event"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-svelte-event",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-svelte-events"
    },
    {
      "id": "unused-server-action",
      "rule_id": "fallow/unused-server-action",
      "command": "dead-code",
      "category": "Dead code",
      "description": "A Next.js Server Action exported from a \"use server\" file is referenced by no code in the project",
      "label": "Unused Server Actions",
      "config_key": "unused-server-actions",
      "registry_index": 36,
      "aliases": [
        "unused-server-actions"
      ],
      "lsp": true,
      "filter_flag": "--unused-server-actions",
      "result_key": "unused_server_actions",
      "summary_label": "Unused server actions",
      "summary_docs_anchor": "unused-server-actions",
      "sarif_rule_ids": [
        "fallow/unused-server-action"
      ],
      "codeclimate_check_names": [
        "fallow/unused-server-action"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-server-action",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-server-actions"
    },
    {
      "id": "unused-load-data-key",
      "rule_id": "fallow/unused-load-data-key",
      "command": "dead-code",
      "category": "Dead code",
      "description": "A SvelteKit load() return-object key is read by no consumer",
      "label": "Unused Load Data Keys",
      "config_key": "unused-load-data-keys",
      "registry_index": 37,
      "aliases": [
        "unused-load-data-keys"
      ],
      "lsp": true,
      "filter_flag": "--unused-load-data-keys",
      "result_key": "unused_load_data_keys",
      "summary_label": "Unused load data keys",
      "summary_docs_anchor": "unused-load-data-keys",
      "sarif_rule_ids": [
        "fallow/unused-load-data-key"
      ],
      "codeclimate_check_names": [
        "fallow/unused-load-data-key"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line unused-load-data-key",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-load-data-keys"
    },
    {
      "id": "route-collision",
      "rule_id": "fallow/route-collision",
      "command": "dead-code",
      "category": "Policy",
      "description": "Two or more Next.js App Router route files resolve to the same URL",
      "label": "Route Collisions",
      "config_key": "route-collision",
      "registry_index": 38,
      "aliases": [
        "route-collisions"
      ],
      "lsp": true,
      "filter_flag": null,
      "result_key": "route_collisions",
      "summary_label": "Route collisions",
      "summary_docs_anchor": "route-collisions",
      "sarif_rule_ids": [
        "fallow/route-collision"
      ],
      "codeclimate_check_names": [
        "fallow/route-collision"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-file route-collision",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [
        "next"
      ],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#route-collisions"
    },
    {
      "id": "dynamic-segment-name-conflict",
      "rule_id": "fallow/dynamic-segment-name-conflict",
      "command": "dead-code",
      "category": "Policy",
      "description": "Sibling Next.js dynamic route segments use different slug names at the same position",
      "label": "Dynamic Segment Conflicts",
      "config_key": "dynamic-segment-name-conflict",
      "registry_index": 39,
      "aliases": [
        "dynamic-segment-name-conflicts"
      ],
      "lsp": true,
      "filter_flag": null,
      "result_key": "dynamic_segment_name_conflicts",
      "summary_label": "Dynamic segment conflicts",
      "summary_docs_anchor": "dynamic-segment-name-conflicts",
      "sarif_rule_ids": [
        "fallow/dynamic-segment-name-conflict"
      ],
      "codeclimate_check_names": [
        "fallow/dynamic-segment-name-conflict"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-file dynamic-segment-name-conflict",
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [
        "next"
      ],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#dynamic-segment-name-conflicts"
    },
    {
      "id": "stale-suppression",
      "rule_id": "fallow/stale-suppression",
      "command": "dead-code",
      "category": "Suppressions",
      "description": "Suppression comment or tag no longer matches any issue",
      "label": "Stale Suppressions",
      "config_key": "stale-suppressions",
      "registry_index": 40,
      "aliases": [],
      "lsp": true,
      "filter_flag": "--stale-suppressions",
      "result_key": "stale_suppressions",
      "summary_label": "Stale suppressions",
      "summary_docs_anchor": "stale-suppressions",
      "sarif_rule_ids": [
        "fallow/stale-suppression",
        "fallow/missing-suppression-reason"
      ],
      "codeclimate_check_names": [
        "fallow/stale-suppression",
        "fallow/missing-suppression-reason"
      ],
      "ts_alias": null,
      "counts_in_total": true,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": "Fix by removing the stale suppression marker itself",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#stale-suppressions"
    },
    {
      "id": "missing-suppression-reason",
      "rule_id": "fallow/missing-suppression-reason",
      "command": "dead-code",
      "category": "Suppressions",
      "description": "Suppression comment omits a required reason",
      "label": "Missing Suppression Reasons",
      "config_key": "require-suppression-reason",
      "registry_index": 41,
      "aliases": [
        "missing-suppression-reasons"
      ],
      "lsp": false,
      "filter_flag": "--stale-suppressions",
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#stale-suppressions"
    },
    {
      "id": "unused-catalog-entry",
      "rule_id": "fallow/unused-catalog-entry",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Catalog entry not referenced by any workspace package",
      "label": "Unused Catalog Entries",
      "config_key": "unused-catalog-entries",
      "registry_index": 42,
      "aliases": [
        "catalog",
        "unused-catalog-entries"
      ],
      "lsp": true,
      "filter_flag": "--unused-catalog-entries",
      "result_key": "unused_catalog_entries",
      "summary_label": "Unused catalog entries",
      "summary_docs_anchor": "unused-catalog-entries",
      "sarif_rule_ids": [
        "fallow/unused-catalog-entry"
      ],
      "codeclimate_check_names": [
        "fallow/unused-catalog-entry"
      ],
      "ts_alias": {
        "name": "UnusedCatalogEntry",
        "parent": "UnusedCatalogEntryFinding"
      },
      "counts_in_total": true,
      "fixable": true,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-catalog-entries"
    },
    {
      "id": "empty-catalog-group",
      "rule_id": "fallow/empty-catalog-group",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Named catalog group has no entries",
      "label": "Empty Catalog Groups",
      "config_key": "empty-catalog-groups",
      "registry_index": 43,
      "aliases": [
        "empty-catalog",
        "empty-catalog-groups"
      ],
      "lsp": true,
      "filter_flag": "--empty-catalog-groups",
      "result_key": "empty_catalog_groups",
      "summary_label": "Empty catalog groups",
      "summary_docs_anchor": "empty-catalog-groups",
      "sarif_rule_ids": [
        "fallow/empty-catalog-group"
      ],
      "codeclimate_check_names": [
        "fallow/empty-catalog-group"
      ],
      "ts_alias": {
        "name": "EmptyCatalogGroup",
        "parent": "EmptyCatalogGroupFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#empty-catalog-groups"
    },
    {
      "id": "unresolved-catalog-reference",
      "rule_id": "fallow/unresolved-catalog-reference",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "package.json references a catalog that does not declare the package",
      "label": "Unresolved Catalog References",
      "config_key": "unresolved-catalog-references",
      "registry_index": 44,
      "aliases": [
        "unresolved-catalog",
        "unresolved-catalog-references"
      ],
      "lsp": true,
      "filter_flag": "--unresolved-catalog-references",
      "result_key": "unresolved_catalog_references",
      "summary_label": "Unresolved catalog references",
      "summary_docs_anchor": "unresolved-catalog-references",
      "sarif_rule_ids": [
        "fallow/unresolved-catalog-reference"
      ],
      "codeclimate_check_names": [
        "fallow/unresolved-catalog-reference"
      ],
      "ts_alias": {
        "name": "UnresolvedCatalogReference",
        "parent": "UnresolvedCatalogReferenceFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unresolved-catalog-references"
    },
    {
      "id": "unused-dependency-override",
      "rule_id": "fallow/unused-dependency-override",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Package-manager override target is not declared or resolved",
      "label": "Unused Dependency Overrides",
      "config_key": "unused-dependency-overrides",
      "registry_index": 45,
      "aliases": [
        "unused-dependency-overrides",
        "unused-override",
        "unused-overrides"
      ],
      "lsp": true,
      "filter_flag": "--unused-dependency-overrides",
      "result_key": "unused_dependency_overrides",
      "summary_label": "Unused dependency overrides",
      "summary_docs_anchor": "unused-dependency-overrides",
      "sarif_rule_ids": [
        "fallow/unused-dependency-override"
      ],
      "codeclimate_check_names": [
        "fallow/unused-dependency-override"
      ],
      "ts_alias": {
        "name": "UnusedDependencyOverride",
        "parent": "UnusedDependencyOverrideFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-dependency-overrides"
    },
    {
      "id": "misconfigured-dependency-override",
      "rule_id": "fallow/misconfigured-dependency-override",
      "command": "dead-code",
      "category": "Dependencies",
      "description": "Package-manager override has an unparsable key or value",
      "label": "Misconfigured Dependency Overrides",
      "config_key": "misconfigured-dependency-overrides",
      "registry_index": 46,
      "aliases": [
        "misconfigured-dependency-overrides",
        "misconfigured-override",
        "misconfigured-overrides"
      ],
      "lsp": true,
      "filter_flag": "--misconfigured-dependency-overrides",
      "result_key": "misconfigured_dependency_overrides",
      "summary_label": "Misconfigured dependency overrides",
      "summary_docs_anchor": "misconfigured-dependency-overrides",
      "sarif_rule_ids": [
        "fallow/misconfigured-dependency-override"
      ],
      "codeclimate_check_names": [
        "fallow/misconfigured-dependency-override"
      ],
      "ts_alias": {
        "name": "MisconfiguredDependencyOverride",
        "parent": "MisconfiguredDependencyOverrideFinding"
      },
      "counts_in_total": true,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": "error",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#misconfigured-dependency-overrides"
    },
    {
      "id": "feature-flag",
      "rule_id": "fallow/feature-flag",
      "command": "flags",
      "category": "Flags",
      "description": "Detected feature flag pattern",
      "label": "Feature Flags",
      "config_key": "feature-flags",
      "registry_index": 50,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line feature-flag",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Reported by fallow flags",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/flags/"
    },
    {
      "id": "prop-drilling",
      "rule_id": "fallow/prop-drilling",
      "command": "dead-code",
      "category": "Dead code",
      "description": "A React/Preact prop is forwarded unchanged through 3+ pass-through components to a distant consumer",
      "label": "Prop Drilling",
      "config_key": "prop-drilling",
      "registry_index": 52,
      "aliases": [],
      "lsp": true,
      "filter_flag": null,
      "result_key": "prop_drilling_chains",
      "summary_label": "Prop drilling",
      "summary_docs_anchor": "prop-drilling",
      "sarif_rule_ids": [
        "fallow/prop-drilling"
      ],
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line prop-drilling",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Opt-in: set rules.prop-drilling to warn or error to enable. Defaults to off.",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#prop-drilling"
    },
    {
      "id": "thin-wrapper",
      "rule_id": "fallow/thin-wrapper",
      "command": "dead-code",
      "category": "Dead code",
      "description": "A React/Preact component whose whole body is a single spread-forwarded child render (a candidate for inlining)",
      "label": "Thin Wrappers",
      "config_key": "thin-wrapper",
      "registry_index": 53,
      "aliases": [
        "thin-wrappers"
      ],
      "lsp": true,
      "filter_flag": null,
      "result_key": "thin_wrappers",
      "summary_label": "Thin wrappers",
      "summary_docs_anchor": "thin-wrapper",
      "sarif_rule_ids": [
        "fallow/thin-wrapper"
      ],
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line thin-wrapper",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Opt-in: set rules.thin-wrapper to warn or error to enable. Defaults to off.",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#thin-wrapper"
    },
    {
      "id": "duplicate-prop-shape",
      "rule_id": "fallow/duplicate-prop-shape",
      "command": "dead-code",
      "category": "Dead code",
      "description": "Three or more React/Preact components across two or more files declare an identical prop-name set (a missing shared Props type)",
      "label": "Duplicate Prop Shapes",
      "config_key": "duplicate-prop-shape",
      "registry_index": 54,
      "aliases": [
        "duplicate-prop-shapes"
      ],
      "lsp": true,
      "filter_flag": null,
      "result_key": "duplicate_prop_shapes",
      "summary_label": "Duplicate prop shapes",
      "summary_docs_anchor": "duplicate-prop-shape",
      "sarif_rule_ids": [
        "fallow/duplicate-prop-shape"
      ],
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line duplicate-prop-shape",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Opt-in: set rules.duplicate-prop-shape to warn or error to enable. Defaults to off.",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/dead-code/#duplicate-prop-shape"
    },
    {
      "id": "css-token-drift",
      "rule_id": "fallow/css-token-drift",
      "command": "health",
      "category": "Health",
      "description": "CSS or CSS-in-JS hardcoded styling value bypasses the design token system",
      "label": "CSS Token Drift",
      "config_key": "css-token-drift",
      "registry_index": 55,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line css-token-drift",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#css-token-drift"
    },
    {
      "id": "css-duplicate-block",
      "rule_id": "fallow/css-duplicate-block",
      "command": "health",
      "category": "Health",
      "description": "CSS or CSS-in-JS declaration block is duplicated across rules",
      "label": "CSS Duplicate Block",
      "config_key": "css-duplicate-block",
      "registry_index": 56,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line css-duplicate-block",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#css-duplicate-block"
    },
    {
      "id": "css-selector-complexity",
      "rule_id": "fallow/css-selector-complexity",
      "command": "health",
      "category": "Health",
      "description": "CSS selector, nesting, or important usage is structurally complex",
      "label": "CSS Selector Complexity",
      "config_key": "css-selector-complexity",
      "registry_index": 57,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line css-selector-complexity",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#css-selector-complexity"
    },
    {
      "id": "css-dead-surface",
      "rule_id": "fallow/css-dead-surface",
      "command": "health",
      "category": "Health",
      "description": "CSS or CSS-in-JS surface appears unused",
      "label": "CSS Dead Surface",
      "config_key": "css-dead-surface",
      "registry_index": 58,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line css-dead-surface",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#css-dead-surface"
    },
    {
      "id": "css-broken-reference",
      "rule_id": "fallow/css-broken-reference",
      "command": "health",
      "category": "Health",
      "description": "CSS or CSS-in-JS reference resolves to no stylesheet definition",
      "label": "CSS Broken Reference",
      "config_key": "css-broken-reference",
      "registry_index": 59,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line css-broken-reference",
      "default_severity": "warn",
      "opt_in": false,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#css-broken-reference"
    },
    {
      "id": "angular-trusted-html",
      "rule_id": "security/angular-trusted-html",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-79",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "cleartext-transport",
      "rule_id": "security/cleartext-transport",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-319",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "client-server-leak",
      "rule_id": "security/client-server-leak",
      "command": "security",
      "category": "Security",
      "description": "Client-bound code reaches a non-public env read",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-file security-client-server-leak",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "code-injection",
      "rule_id": "security/code-injection",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-94",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "command-injection",
      "rule_id": "security/command-injection",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-78",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "coverage-intelligence-delete",
      "rule_id": "fallow/coverage-intelligence-delete",
      "command": "health",
      "category": "Health",
      "description": "Static and runtime evidence indicate code can be deleted",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Produced by fallow coverage analyze",
      "license": "freemium",
      "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
      "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
    },
    {
      "id": "coverage-intelligence-refactor",
      "rule_id": "fallow/coverage-intelligence-refactor",
      "command": "health",
      "category": "Health",
      "description": "Hot covered code has high CRAP and should be refactored carefully",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Produced by fallow coverage analyze",
      "license": "freemium",
      "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
      "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
    },
    {
      "id": "coverage-intelligence-review",
      "rule_id": "fallow/coverage-intelligence-review",
      "command": "health",
      "category": "Health",
      "description": "Cold reachable uncovered code needs owner review",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Produced by fallow coverage analyze",
      "license": "freemium",
      "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
      "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
    },
    {
      "id": "coverage-intelligence-risky-change",
      "rule_id": "fallow/coverage-intelligence-risky-change",
      "command": "health",
      "category": "Health",
      "description": "Changed hot path combines high CRAP and low test coverage",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Produced by fallow coverage analyze",
      "license": "freemium",
      "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
      "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
    },
    {
      "id": "dangerous-html",
      "rule_id": "security/dangerous-html",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-79",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "deprecated-cipher",
      "rule_id": "security/deprecated-cipher",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-327",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "dom-document-write",
      "rule_id": "security/dom-document-write",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-79",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "dynamic-module-load",
      "rule_id": "security/dynamic-module-load",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-95",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "dynamic-regex",
      "rule_id": "security/dynamic-regex",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-1333",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "electron-unsafe-webpreferences",
      "rule_id": "security/electron-unsafe-webpreferences",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-1188",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "flag-retirement-candidate",
      "rule_id": "fallow/flag-retirement-candidate",
      "command": "flags",
      "category": "Flags",
      "description": "Feature flag is a retirement candidate",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/flags/#retirement-report"
    },
    {
      "id": "hardcoded-secret",
      "rule_id": "security/hardcoded-secret",
      "command": "security",
      "category": "Security",
      "description": "Provider-prefixed or contextual secret literals require verification",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Include-required category: enable via security.categories.include",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "header-injection",
      "rule_id": "security/header-injection",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-113",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "high-cognitive-complexity",
      "rule_id": "fallow/high-cognitive-complexity",
      "command": "health",
      "category": "Health",
      "description": "Function has high cognitive complexity",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": "--complexity",
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line complexity",
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#cognitive-complexity"
    },
    {
      "id": "high-complexity",
      "rule_id": "fallow/high-complexity",
      "command": "health",
      "category": "Health",
      "description": "Function exceeds both complexity thresholds",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": "--complexity",
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line complexity",
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#complexity-metrics"
    },
    {
      "id": "high-crap-score",
      "rule_id": "fallow/high-crap-score",
      "command": "health",
      "category": "Health",
      "description": "Function has a high CRAP score (complexity combined with low coverage)",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": "--complexity",
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line complexity",
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#crap-score"
    },
    {
      "id": "high-cyclomatic-complexity",
      "rule_id": "fallow/high-cyclomatic-complexity",
      "command": "health",
      "category": "Health",
      "description": "Function has high cyclomatic complexity",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": "--complexity",
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line complexity",
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#cyclomatic-complexity"
    },
    {
      "id": "insecure-cookie",
      "rule_id": "security/insecure-cookie",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-614",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "insecure-randomness",
      "rule_id": "security/insecure-randomness",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-338",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "insecure-temp-file",
      "rule_id": "security/insecure-temp-file",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-377",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "jquery-html",
      "rule_id": "security/jquery-html",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-79",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "jwt-alg-none",
      "rule_id": "security/jwt-alg-none",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-347",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "jwt-verify-missing-algorithms",
      "rule_id": "security/jwt-verify-missing-algorithms",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-347",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "llm-call-injection",
      "rule_id": "security/llm-call-injection",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-1427",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "mass-assignment",
      "rule_id": "security/mass-assignment",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-915",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "mysql-multiple-statements",
      "rule_id": "security/mysql-multiple-statements",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-89",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "nextjs-open-redirect",
      "rule_id": "security/nextjs-open-redirect",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-601",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "nosql-injection",
      "rule_id": "security/nosql-injection",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-943",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "open-redirect",
      "rule_id": "security/open-redirect",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-601",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "path-traversal",
      "rule_id": "security/path-traversal",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-22",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "permissive-cors",
      "rule_id": "security/permissive-cors",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-942",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "postmessage-wildcard-origin",
      "rule_id": "security/postmessage-wildcard-origin",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-346",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "prototype-pollution",
      "rule_id": "security/prototype-pollution",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-1321",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "redos-regex",
      "rule_id": "security/redos-regex",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-1333",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "refactoring-target",
      "rule_id": "fallow/refactoring-target",
      "command": "health",
      "category": "Health",
      "description": "File identified as a high-priority refactoring candidate",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": "--targets",
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#refactoring-targets"
    },
    {
      "id": "resource-amplification",
      "rule_id": "security/resource-amplification",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-400",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "route-send-file",
      "rule_id": "security/route-send-file",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-22",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "runtime-coverage",
      "rule_id": "fallow/runtime-coverage",
      "command": "health",
      "category": "Health",
      "description": "Runtime coverage finding",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
      "license": "freemium",
      "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
      "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
    },
    {
      "id": "runtime-coverage-unavailable",
      "rule_id": "fallow/runtime-coverage-unavailable",
      "command": "health",
      "category": "Health",
      "description": "Runtime coverage could not be resolved for this function",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
      "license": "freemium",
      "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
      "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
    },
    {
      "id": "runtime-low-traffic",
      "rule_id": "fallow/runtime-low-traffic",
      "command": "health",
      "category": "Health",
      "description": "Function was invoked below the low-traffic threshold",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
      "license": "freemium",
      "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
      "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
    },
    {
      "id": "runtime-review-required",
      "rule_id": "fallow/runtime-review-required",
      "command": "health",
      "category": "Health",
      "description": "Statically used but never invoked in production",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
      "license": "freemium",
      "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
      "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
    },
    {
      "id": "runtime-safe-to-delete",
      "rule_id": "fallow/runtime-safe-to-delete",
      "command": "health",
      "category": "Health",
      "description": "Statically unused AND never invoked in production with V8 tracking",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": false,
      "suppress_comment": null,
      "default_severity": null,
      "opt_in": null,
      "frameworks": [],
      "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
      "license": "freemium",
      "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
      "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
    },
    {
      "id": "secret-pii-log",
      "rule_id": "security/secret-pii-log",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-532",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "secret-to-network",
      "rule_id": "security/secret-to-network",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-201",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "sql-injection",
      "rule_id": "security/sql-injection",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-89",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "ssrf",
      "rule_id": "security/ssrf",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-918",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "ssti",
      "rule_id": "security/ssti",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-1336",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "tainted-sink",
      "rule_id": "security/tainted-sink",
      "command": "security",
      "category": "Security",
      "description": "Syntactic security sink candidates require verification",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "template-escape-bypass",
      "rule_id": "security/template-escape-bypass",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-79",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "tls-validation-disabled",
      "rule_id": "security/tls-validation-disabled",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-295",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "unsafe-buffer-alloc",
      "rule_id": "security/unsafe-buffer-alloc",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-1188",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "unsafe-deserialization",
      "rule_id": "security/unsafe-deserialization",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-502",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "untested-export",
      "rule_id": "fallow/untested-export",
      "command": "health",
      "category": "Health",
      "description": "Runtime-reachable export has no test dependency path",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": "--coverage-gaps",
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-file coverage-gaps",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-gaps"
    },
    {
      "id": "untested-file",
      "rule_id": "fallow/untested-file",
      "command": "health",
      "category": "Health",
      "description": "Runtime-reachable file has no test dependency path",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": "--coverage-gaps",
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-file coverage-gaps",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": null,
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-gaps"
    },
    {
      "id": "weak-crypto",
      "rule_id": "security/weak-crypto",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-327",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "webview-injection",
      "rule_id": "security/webview-injection",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-94",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "world-writable-permission",
      "rule_id": "security/world-writable-permission",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-732",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "xpath-injection",
      "rule_id": "security/xpath-injection",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-643",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "xxe",
      "rule_id": "security/xxe",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-611",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    },
    {
      "id": "zip-slip",
      "rule_id": "security/zip-slip",
      "command": "security",
      "category": "Security",
      "description": "Catalogue security candidate for CWE-22",
      "label": null,
      "config_key": null,
      "registry_index": null,
      "aliases": [],
      "lsp": false,
      "filter_flag": null,
      "result_key": null,
      "summary_label": null,
      "summary_docs_anchor": null,
      "sarif_rule_ids": null,
      "codeclimate_check_names": null,
      "ts_alias": null,
      "counts_in_total": false,
      "fixable": false,
      "suppressible": true,
      "suppress_comment": "// fallow-ignore-next-line security-sink",
      "default_severity": "off",
      "opt_in": true,
      "frameworks": [],
      "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
      "license": "free",
      "license_note": null,
      "docs_url": "https://fallow.tools/docs/cli/security/"
    }
  ]
}