<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://docs.critiq.dev/</loc></url>
  <url><loc>https://docs.critiq.dev/getting-started</loc></url>
  <url><loc>https://docs.critiq.dev/configuration</loc></url>
  <url><loc>https://docs.critiq.dev/guides/custom-rules</loc></url>
  <url><loc>https://docs.critiq.dev/rules</loc></url>
  <url><loc>https://docs.critiq.dev/cli</loc></url>
  <url><loc>https://docs.critiq.dev/cli/check</loc></url>
  <url><loc>https://docs.critiq.dev/cli/rules-validate</loc></url>
  <url><loc>https://docs.critiq.dev/cli/rules-test</loc></url>
  <url><loc>https://docs.critiq.dev/cli/rules-normalize</loc></url>
  <url><loc>https://docs.critiq.dev/cli/rules-explain</loc></url>
  <url><loc>https://docs.critiq.dev/contributing</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.logging.no-console-log</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.logging.no-console-error</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.runtime.no-debugger-statement</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.constant-condition</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.control-flow-in-finally</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.missing-await-on-async-call</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.implicit-undefined-return</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.unhandled-async-error</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.incorrect-boolean-logic</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.invalid-typeof-comparison</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.blocking-call-in-async-flow</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.missing-default-dispatch</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.missing-super-call</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.missing-timeout-on-external-call</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.possible-null-dereference</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.promise-reject-non-error</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.nested-property-access-without-check</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.unchecked-map-key-access</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.optional-value-without-fallback</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.off-by-one-loop-boundary</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.shared-state-race</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.this-before-super</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.unreachable-statement</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.array-callback-missing-return</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.array-sort-without-compare</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.assignment-in-condition</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.duplicate-function-parameter</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.duplicate-if-else-condition</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.duplicate-object-key</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.duplicate-switch-case</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.async-promise-executor</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.infinite-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.unnecessary-return-await</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.invalid-await-expression</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.missing-async-on-promise-method</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.no-floating-promise-in-function</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.no-misused-promises</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.assignment-to-import-binding</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.self-assignment</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.identical-comparison-operands</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.duplicate-import-source</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.empty-block-statement</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.for-in-on-array</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.reassign-catch-binding</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.regexp-pattern-unusual-control-character</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.correctness.use-number-is-nan</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.swallowed-error</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.function-too-large-or-complex</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.duplicate-code-block</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.deep-nesting</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.missing-error-context</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.tight-module-coupling</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.hardcoded-configuration-values</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.magic-numbers-or-strings</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.missing-tests-for-critical-logic</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.logic-change-without-test-updates</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-boolean-parameter-trap</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-primitive-obsession-in-domain-model</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-wide-public-surface</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-barrel-file-cycle</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-hidden-side-effect-import</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-mixed-abstraction-level</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-ambiguous-abbreviations</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-inconsistent-error-shape</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-temporal-coupling</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-dead-export</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.quality.no-empty-function</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.testing.no-focused-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.testing.no-skipped-test-without-ticket</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.testing.no-snapshot-without-intent</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.testing.no-flaky-timer-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.testing.no-network-call-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.testing.no-missing-edge-case-tests</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.testing.no-test-only-code-in-production</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.config.no-process-env-outside-config</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.random.no-math-random-in-core</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.sequential-async-calls</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.repeated-io-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.repeated-expensive-computation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.inefficient-data-structure-usage</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.nested-loops-hot-path</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.missing-batch-operations</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.large-payload-without-streaming</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.unbounded-growth-memory-leak</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.retained-large-object</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.unnecessary-rerenders-from-state-misuse</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-array-spread-in-hot-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-regex-construction-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-json-parse-stringify-clone</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-sync-fs-in-request-path</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-large-object-spread-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-n-plus-one-await-in-map</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-unbounded-concurrency</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-redundant-network-fetch</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-expensive-sort-in-render-path</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-await-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.performance.no-cache-miss-from-unstable-key</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.performance.no-regex-construction-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.performance.no-sync-fs-in-request-path</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.performance.no-unbounded-concurrency</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.performance.no-regex-construction-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.performance.no-sync-fs-in-request-path</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.performance.no-unbounded-concurrency</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.correctness.duplicate-array-key</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.correctness.error-suppression-operator</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.correctness.nullsafe-returned-by-reference</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.correctness.switch-multiple-default</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.correctness.unreachable-after-return</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.performance.no-regex-construction-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.performance.no-sync-fs-in-request-path</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.performance.no-unbounded-concurrency</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.performance.no-regex-construction-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.performance.no-sync-fs-in-request-path</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.performance.no-unbounded-concurrency</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.correctness.assert-on-tuple</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.correctness.bare-except</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.correctness.broad-exception-handler</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.correctness.dangerous-mutable-default</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.correctness.duplicate-dict-key</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.performance.no-regex-construction-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.performance.no-sync-fs-in-request-path</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.performance.no-unbounded-concurrency</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.correctness.block-on-in-async</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.correctness.forget-join-handle</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.correctness.mutex-held-across-await</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.correctness.std-mutex-in-async-fn</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.correctness.thread-sleep-in-async</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.correctness.unbounded-channel</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.correctness.unchecked-index</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.performance.no-regex-construction-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.performance.no-sync-fs-in-request-path</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.performance.no-unbounded-concurrency</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-cascaded-effect-fetches</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-effect-fetch-without-cancellation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.next.no-server-client-boundary-leaks</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.next.server-action-missing-local-auth</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-index-as-key-in-dynamic-list</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-derived-state-from-props</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-missing-error-boundary</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-accessibility-label-missing</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-img-missing-alt-text</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-positive-tabindex</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-click-without-keyboard-handler</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-find-dom-node</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-string-ref</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-legacy-lifecycle</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-uncontrolled-to-controlled-input</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-invalid-anchor-href</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-activedescendant-on-non-focusable-host</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-widget-role-without-tabindex</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-interactive-role-on-static-semantics</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-keyboard-interaction-without-widget-role</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-static-element-with-synthetic-handlers</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-deprecated-react-dom-root-api</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-deprecated-create-factory</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-bind-in-jsx-props</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-jsx-props-spread</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-children-prop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-set-state-in-component-did-mount</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-set-state-in-component-did-update</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-direct-state-mutation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-target-blank-without-rel</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-duplicate-jsx-attributes</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.react.no-this-in-function-component</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.no-sql-interpolation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-dynamic-execution</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-with-statement</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-arguments-callee</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-javascript-url</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-native-prototype-extension</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-global-native-reassignment</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-throw-literal</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-alert-confirm-prompt</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.runtime.no-process-exit</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.unsafe-dirname-path-concat</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.no-request-path-file-read</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.no-command-execution-with-request-input</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.dangerous-insert-html</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.dangerously-set-inner-html</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-innerhtml-assignment</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.no-hardcoded-credentials</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.missing-authorization-before-sensitive-action</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.missing-ownership-validation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.frontend-only-authorization</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.token-or-session-not-validated</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.insecure-auth-cookie-flags</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.jwt-sensitive-claims</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.angular-dom-sanitizer-bypass-untrusted-input</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.astro-vite-public-secret-define</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.nuxt-public-runtime-secret</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.apollo-server-csrf-disabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.apollo-server-introspection-exposure</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.apollo-server-missing-query-limits</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.apollo-server-graphql-dev-tooling-exposure</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.graphql-upload-without-csrf-guard</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.browser-token-storage</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.tls-verification-disabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.insecure-http-transport</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.weak-tls-version</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.open-redirect</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.sensitive-data-egress</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.sensitive-data-egress</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.unsafe-dompurify-version</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.unsafe-marked-version</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.no-sensitive-data-in-logs-and-telemetry</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.ssrf</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.bind-to-all-interfaces</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.weak-hash-algorithm</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.weak-cipher-or-mode</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.predictable-token-generation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.insufficiently-random-values</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.weak-key-strength</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.missing-integrity-check</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.unvalidated-external-input</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.unsafe-deserialization</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.missing-request-timeout-or-retry</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.datadog-browser-track-user-interactions</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.dynamodb-query-injection</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.hardcoded-auth-secret</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.import-using-user-input</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.insecure-allow-origin</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.permissive-allow-origin</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-insecure-cookie</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-cookie-missing-http-only</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.insecure-password-hash-configuration</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.insecure-websocket-transport</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.jwt-not-revoked</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.handlebars-no-escape</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.manual-html-sanitization</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.missing-message-origin-check</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.nestjs-helmet-after-route-mount</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.nestjs-missing-global-validation-pipe</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.nestjs-skip-throttle-sensitive-route</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.nestjs-validation-pipe-without-whitelist</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-nosql-injection</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.observable-timing-discrepancy</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.external-file-upload</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.external-file-upload</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.archive-path-traversal</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.file-generation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.non-literal-fs-filename</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.permissive-file-permissions</loc></url>
  <url><loc>https://docs.critiq.dev/rules/security.permissive-file-permissions</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.postmessage-wildcard-origin</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.raw-html-using-user-input</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.sensitive-data-in-exception</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.sensitive-data-written-to-file</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.information-leakage</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.ui-redress</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.insecure-helmet-hardening-options</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-static-dotfiles-allow</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.insecure-content-security-policy-literal</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.ajv-insecure-configuration</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.xml-parse-string-with-untrusted-input</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-error-handler-information-disclosure</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-permissive-cors</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-sync-child-process-exec</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-fs-readfile-sync-in-handler</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.no-assign-mutable-export</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.request-driven-array-index-access</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-user-controlled-static-mount</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.legacy-buffer-constructor</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.iframe-missing-sandbox-attribute</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.jwt-insecure-signing-algorithm</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.electron-dangerous-webpreferences</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.electron-missing-ipc-origin-check</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.electron-insecure-local-state</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.electron-shell-open-external-unvalidated</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.format-string-using-user-input</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.log-injection</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.user-controlled-sendfile</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.user-controlled-view-render</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.exposed-directory-listing</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-default-session-config</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-default-cookie-config</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-permissive-cookie-config</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-static-assets-after-session</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-unbounded-body-parser</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.fastify-excessive-body-limit</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.fastify-public-bind-without-trust-proxy</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-missing-helmet</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.express-reduce-fingerprint</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.debug-mode-enabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.debug-statement-in-source</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ts.security.unsanitized-http-response</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.django-unsafe-production-settings</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.django-csrf-exempt-state-changing</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.django-missing-csrf-middleware</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.drf-allow-any-default</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.drf-allow-any-unsafe-method</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.flask-unsafe-html-output</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.flask-unsafe-upload-filename</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.flask-missing-upload-body-limit</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.flask-debug-enabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.django-mark-safe</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.django-format-html-unsafe</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.django-security-middleware-missing</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.fastapi-insecure-cors</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.subprocess-shell-enabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.dynamic-code-execution</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.insecure-yaml-load</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.insecure-temp-file</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.bind-all-interfaces</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.debugger-import</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.security.jinja-autoescape-disabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.android-screenshot-exposure</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.android-world-readable-mode</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.jpa-concatenated-query</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.reflected-output-from-request</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.servlet-insecure-cookie</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.spring-actuator-health-details-always</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.spring-actuator-sensitive-exposure</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.spring-csrf-globally-disabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.spring-debug-exposure</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.spring-permit-all-default</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.spring-webmvc-unrestricted-data-binding</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.template-unescaped-user-output</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.unsafe-jackson-deserialization</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.xxe-document-builder</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.xxe-xml-input-factory</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.hibernate-sql-concatenation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.shell-runtime-exec</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.predictable-securerandom</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.correctness.empty-catch</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.correctness.equals-on-array</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.correctness.sync-on-string-literal</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.correctness.catch-null-pointer</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.correctness.unsafe-optional-get</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.correctness.return-in-finally</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.insecure-cipher-mode</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.weak-rsa-key-size</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.insecure-ssl-context</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.permissive-cors</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.trust-all-certificates</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.insecure-network-protocol</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.null-cipher</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.security.jwt-without-verification</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.security.rails-csrf-disabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.security.rails-detailed-exceptions-enabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.security.rails-open-redirect</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.security.rails-unsafe-html-output</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.security.rails-unsafe-render</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.security.rails-unsafe-session-or-cookie-store</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.security.rails-unsafe-strong-parameters</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.security.sensitive-data-egress</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.security.sidekiq-web-unauthenticated-mount</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.actix-wildcard-cors-with-credentials</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.axum-body-limit-disabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.axum-insecure-cors-with-credentials</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.bind-all-interfaces</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.insecure-ssh-host-key</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.insecure-ssl-protocol</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.insecure-temp-file</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.insecure-yaml-load</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.jwt-without-verification</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.panic-in-async-handler</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.rocket-panic-prone-request-handler</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.rocket-unsafe-template-output</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.shell-command-spawn</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.sqlx-diesel-raw-interpolated-query</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.template-unescaped-request-value</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.tls-missing-min-version</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.warp-blocking-or-panic-in-async-handler</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.weak-crypto-import</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.weak-rsa-key-size</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.security.weak-tls-cipher</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.testing.t-skip-without-ticket-reference</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.testing.time-sleep-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.testing.real-network-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.testing.pytest-skip-without-ticket-reference</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.testing.real-network-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/py.testing.time-sleep-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.testing.focused-example</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.testing.skip-without-ticket-reference</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.testing.pending-without-ticket-reference</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.testing.real-network-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/ruby.testing.sleep-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.testing.ignore-without-ticket-reference</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.testing.real-network-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/rust.testing.thread-sleep-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.testing.disabled-without-ticket-reference</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.testing.thread-sleep-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/java.testing.http-client-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.testing.mark-test-skipped-without-ticket-reference</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.testing.sleep-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.testing.curl-in-unit-test</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.echo-sensitive-binding-without-validation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.echo-unsafe-multipart-upload</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.fiber-sensitive-binding-without-validation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.fiber-unsafe-multipart-upload</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.gin-sensitive-binding-without-validation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.gin-trust-all-proxies</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.gin-wildcard-cors-with-credentials</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.insecure-rand-seed</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.insecure-ssl-protocol</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.jwt-without-verification</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.net-http-missing-timeouts</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.pprof-exposed</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.sensitive-data-egress</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.tar-path-traversal</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.template-unescaped-request-value</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.bind-all-interfaces</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.unsafe-package-import</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.insecure-ssh-host-key</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.insecure-temp-file</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.weak-rsa-key-size</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.weak-crypto-import</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.tls-missing-min-version</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.weak-bcrypt-cost</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.security.weak-tls-cipher</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.correctness.defer-close-before-check</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.correctness.defer-in-loop</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.correctness.nil-context-passed</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.correctness.nil-map-assignment</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.correctness.time-tick-leak</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.correctness.unused-append-result</loc></url>
  <url><loc>https://docs.critiq.dev/rules/go.correctness.waitgroup-add-in-goroutine</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.insecure-cors-wildcard-with-credentials</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.insecure-mail-or-file-transport</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.insecure-session-or-cookie-config</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.debug-function-exposure</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.insecure-session-id-generation</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.no-dynamic-eval</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.unsafe-include-with-user-input</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.weak-cipher</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.xml-external-entity</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.laravel-sensitive-csrf-exclusion</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.laravel-unsafe-blade-output</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.laravel-unsafe-mass-assignment</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.sensitive-data-egress</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.symfony-csrf-disabled</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.symfony-debug-exposure</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.unsafe-file-upload-handling</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.wordpress-missing-nonce-or-capability</loc></url>
  <url><loc>https://docs.critiq.dev/rules/php.security.wordpress-unprepared-sql</loc></url>
</urlset>