<?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.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.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-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.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.unreachable-statement</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.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.react.no-cascaded-effect-fetches</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/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/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.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.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.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/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/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.format-string-using-user-input</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-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.unsanitized-http-response</loc></url>
</urlset>