diff --git a/build/source_list.bzl b/build/source_list.bzl
index b8ca2e7..601aea1 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -785,12 +785,6 @@
     "quic/tools/simple_ticket_crypter.cc",
     "quic/tools/web_transport_only_backend.cc",
 ]
-quiche_fuzz_support_hdrs = [
-    "balsa/balsa_fuzz_util.h",
-]
-quiche_fuzz_support_srcs = [
-    "balsa/balsa_fuzz_util.cc",
-]
 quiche_test_support_hdrs = [
     "common/platform/api/quiche_expect_bug.h",
     "common/platform/api/quiche_fuzztest.h",
diff --git a/build/source_list.gni b/build/source_list.gni
index 0135e7b..1182613 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -785,12 +785,6 @@
     "src/quiche/quic/tools/simple_ticket_crypter.cc",
     "src/quiche/quic/tools/web_transport_only_backend.cc",
 ]
-quiche_fuzz_support_hdrs = [
-    "src/quiche/balsa/balsa_fuzz_util.h",
-]
-quiche_fuzz_support_srcs = [
-    "src/quiche/balsa/balsa_fuzz_util.cc",
-]
 quiche_test_support_hdrs = [
     "src/quiche/common/platform/api/quiche_expect_bug.h",
     "src/quiche/common/platform/api/quiche_fuzztest.h",
diff --git a/build/source_list.json b/build/source_list.json
index 009d4b2..c686b3b 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -784,12 +784,6 @@
     "quiche/quic/tools/simple_ticket_crypter.cc",
     "quiche/quic/tools/web_transport_only_backend.cc"
   ],
-  "quiche_fuzz_support_hdrs": [
-    "quiche/balsa/balsa_fuzz_util.h"
-  ],
-  "quiche_fuzz_support_srcs": [
-    "quiche/balsa/balsa_fuzz_util.cc"
-  ],
   "quiche_test_support_hdrs": [
     "quiche/common/platform/api/quiche_expect_bug.h",
     "quiche/common/platform/api/quiche_fuzztest.h",
diff --git a/quiche/balsa/balsa_fuzz_util.cc b/quiche/balsa/balsa_fuzz_util.cc
deleted file mode 100644
index f28a23f..0000000
--- a/quiche/balsa/balsa_fuzz_util.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2025 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-#include "quiche/balsa/balsa_fuzz_util.h"
-
-#include <optional>
-#include <tuple>
-#include <type_traits>
-
-#include "quiche/balsa/http_validation_policy.h"
-#include "quiche/common/platform/api/quiche_fuzztest.h"
-
-namespace quiche {
-
-fuzztest::Domain<HttpValidationPolicy> ArbitraryHttpValidationPolicy() {
-  return fuzztest::StructOf<HttpValidationPolicy>(
-      fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(),
-      fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(),
-      fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(),
-      fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(),
-      fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(),
-      fuzztest::Arbitrary<bool>(), ArbitraryFirstLineValidationOption(),
-      fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(),
-      fuzztest::Arbitrary<bool>(), ArbitraryFirstLineValidationOption(),
-      fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(),
-      fuzztest::Arbitrary<bool>(), fuzztest::Arbitrary<bool>(),
-      fuzztest::Arbitrary<bool>());
-}
-
-fuzztest::Domain<HttpValidationPolicy::FirstLineValidationOption>
-ArbitraryFirstLineValidationOption() {
-  using EnumType = HttpValidationPolicy::FirstLineValidationOption;
-  using UnderlyingType =
-      std::underlying_type_t<HttpValidationPolicy::FirstLineValidationOption>;
-  return fuzztest::ReversibleMap(
-      [](UnderlyingType x) -> EnumType {
-        return static_cast<HttpValidationPolicy::FirstLineValidationOption>(x);
-      },
-      [](EnumType x) -> std::optional<std::tuple<UnderlyingType>> {
-        return {static_cast<UnderlyingType>(x)};
-      },
-      fuzztest::InRange<UnderlyingType>(
-          static_cast<UnderlyingType>(
-              HttpValidationPolicy::FirstLineValidationOption::kMinValue),
-          static_cast<UnderlyingType>(
-              HttpValidationPolicy::FirstLineValidationOption::kMaxValue)));
-}
-
-}  // namespace quiche
diff --git a/quiche/balsa/balsa_fuzz_util.h b/quiche/balsa/balsa_fuzz_util.h
deleted file mode 100644
index 2ff51ee..0000000
--- a/quiche/balsa/balsa_fuzz_util.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2025 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef QUICHE_BALSA_BALSA_FUZZ_UTIL_H_
-#define QUICHE_BALSA_BALSA_FUZZ_UTIL_H_
-
-#include "quiche/balsa/http_validation_policy.h"
-#include "quiche/common/platform/api/quiche_fuzztest.h"
-
-namespace quiche {
-
-fuzztest::Domain<HttpValidationPolicy> ArbitraryHttpValidationPolicy();
-fuzztest::Domain<HttpValidationPolicy::FirstLineValidationOption>
-ArbitraryFirstLineValidationOption();
-
-}  // namespace quiche
-
-#endif  // QUICHE_BALSA_BALSA_FUZZ_UTIL_H_
diff --git a/quiche/balsa/http_validation_policy.h b/quiche/balsa/http_validation_policy.h
index b1651a3..87baab4 100644
--- a/quiche/balsa/http_validation_policy.h
+++ b/quiche/balsa/http_validation_policy.h
@@ -127,69 +127,6 @@
   // Status codes outside the range [100, 599] are invalid, per RFC 9110,
   // Section 15 https://www.rfc-editor.org/rfc/rfc9110#section-15
   bool disallow_invalid_response_codes = false;
-
-  template <typename Sink>
-  friend void AbslStringify(Sink& sink, FirstLineValidationOption option) {
-    switch (option) {
-      case FirstLineValidationOption::NONE:
-        sink.Append("NONE");
-        return;
-      case FirstLineValidationOption::SANITIZE:
-        sink.Append("SANITIZE");
-        return;
-      case FirstLineValidationOption::REJECT:
-        sink.Append("REJECT");
-        return;
-    }
-    sink.Append("UNKNOWN");
-  }
-
-  template <typename Sink>
-  friend void AbslStringify(Sink& sink, const HttpValidationPolicy& policy) {
-    absl::Format(&sink,
-                 "{disallow_header_continuation_lines=%v, "
-                 "require_header_colon=%v, "
-                 "disallow_multiple_content_length=%v, "
-                 "disallow_transfer_encoding_with_content_length=%v, "
-                 "validate_transfer_encoding=%v, "
-                 "require_content_length_if_body_required=%v, "
-                 "disallow_double_quote_in_header_name=%v, "
-                 "disallow_invalid_header_characters_in_response=%v, "
-                 "disallow_lone_cr_in_request_headers=%v, "
-                 "disallow_lone_cr_in_chunk_extension=%v, "
-                 "disallow_invalid_target_uris=%v, "
-                 "sanitize_cr_tab_in_first_line=%v, "
-                 "disallow_obs_text_in_field_names=%v, "
-                 "disallow_lone_lf_in_chunk_extension=%v, "
-                 "require_chunked_body_end_with_crlf_crlf=%v, "
-                 "sanitize_firstline_spaces=%v, "
-                 "sanitize_obs_fold_in_header_values=%v, "
-                 "disallow_stray_data_after_chunk=%v, "
-                 "disallow_invalid_request_methods=%v, "
-                 "require_semicolon_delimited_chunk_extension=%v, "
-                 "disallow_invalid_response_codes=%v}",
-                 policy.disallow_header_continuation_lines,
-                 policy.require_header_colon,
-                 policy.disallow_multiple_content_length,
-                 policy.disallow_transfer_encoding_with_content_length,
-                 policy.validate_transfer_encoding,
-                 policy.require_content_length_if_body_required,
-                 policy.disallow_double_quote_in_header_name,
-                 policy.disallow_invalid_header_characters_in_response,
-                 policy.disallow_lone_cr_in_request_headers,
-                 policy.disallow_lone_cr_in_chunk_extension,
-                 policy.disallow_invalid_target_uris,
-                 policy.sanitize_cr_tab_in_first_line,
-                 policy.disallow_obs_text_in_field_names,
-                 policy.disallow_lone_lf_in_chunk_extension,
-                 policy.require_chunked_body_end_with_crlf_crlf,
-                 policy.sanitize_firstline_spaces,
-                 policy.sanitize_obs_fold_in_header_values,
-                 policy.disallow_stray_data_after_chunk,
-                 policy.disallow_invalid_request_methods,
-                 policy.require_semicolon_delimited_chunk_extension,
-                 policy.disallow_invalid_response_codes);
-  }
 };
 
 static constexpr HttpValidationPolicy kMostStrictHttpValidationPolicy = {
