diff --git a/quic/core/crypto/server_proof_verifier.h b/quic/core/crypto/server_proof_verifier.h
deleted file mode 100644
index 3e5e67b..0000000
--- a/quic/core/crypto/server_proof_verifier.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) 2020 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_QUIC_CORE_CRYPTO_SERVER_PROOF_VERIFIER_H_
-#define QUICHE_QUIC_CORE_CRYPTO_SERVER_PROOF_VERIFIER_H_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "quic/core/crypto/proof_verifier.h"
-#include "quic/core/quic_types.h"
-
-namespace quic {
-
-// A ServerProofVerifier checks the certificate chain presented by a client.
-class QUIC_EXPORT_PRIVATE ServerProofVerifier {
- public:
-  virtual ~ServerProofVerifier() {}
-
-  // VerifyCertChain checks that |certs| is a valid chain. On success, it
-  // returns QUIC_SUCCESS. On failure, it returns QUIC_FAILURE and sets
-  // |*error_details| to a description of the problem. In either case it may set
-  // |*details|, which the caller takes ownership of.
-  //
-  // |context| specifies an implementation specific struct (which may be nullptr
-  // for some implementations) that provides useful information for the
-  // verifier, e.g. logging handles.
-  //
-  // This function may also return QUIC_PENDING, in which case the
-  // ServerProofVerifier will call back, on the original thread, via |callback|
-  // when complete. In this case, the ServerProofVerifier will take ownership of
-  // |callback|.
-  virtual QuicAsyncStatus VerifyCertChain(
-      const std::vector<std::string>& certs,
-      std::string* error_details,
-      std::unique_ptr<ProofVerifierCallback> callback) = 0;
-};
-
-}  // namespace quic
-#endif  // QUICHE_QUIC_CORE_CRYPTO_SERVER_PROOF_VERIFIER_H_
diff --git a/quic/core/tls_handshaker.h b/quic/core/tls_handshaker.h
index 3335564..9509e81 100644
--- a/quic/core/tls_handshaker.h
+++ b/quic/core/tls_handshaker.h
@@ -100,12 +100,11 @@
   }
   int expected_ssl_error() const { return expected_ssl_error_; }
 
-  // Called to verify a cert chain. This is a simple wrapper around
-  // ProofVerifier or ServerProofVerifier, which optionally gathers additional
-  // arguments to pass into their VerifyCertChain method. This class retains a
-  // non-owning pointer to |callback|; the callback must live until this
-  // function returns QUIC_SUCCESS or QUIC_FAILURE, or until the callback is
-  // run.
+  // Called to verify a cert chain. This can be implemented as a simple wrapper
+  // around ProofVerifier, which optionally gathers additional arguments to pass
+  // into their VerifyCertChain method. This class retains a non-owning pointer
+  // to |callback|; the callback must live until this function returns
+  // QUIC_SUCCESS or QUIC_FAILURE, or until the callback is run.
   //
   // If certificate verification fails, |*out_alert| may be set to a TLS alert
   // that will be sent when closing the connection; it defaults to
