diff --git a/src/security/pib/identity.cpp b/src/security/pib/identity.cpp
index 0f7dc26..3239ac3 100644
--- a/src/security/pib/identity.cpp
+++ b/src/security/pib/identity.cpp
@@ -83,13 +83,7 @@
 
 Identity::operator bool() const
 {
-  return !(this->operator!());
-}
-
-bool
-Identity::operator!() const
-{
-  return m_impl.expired();
+  return !m_impl.expired();
 }
 
 shared_ptr<detail::IdentityImpl>
diff --git a/src/security/pib/identity.hpp b/src/security/pib/identity.hpp
index 228ef16..7c9f714 100644
--- a/src/security/pib/identity.hpp
+++ b/src/security/pib/identity.hpp
@@ -97,18 +97,12 @@
   const Key&
   getDefaultKey() const;
 
-  /*
+  /**
    * @return True if the identity instance is valid
    */
   explicit
   operator bool() const;
 
-  /**
-   * @return True if the identity instance is invalid
-   */
-  bool
-  operator!() const;
-
 NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE: // write operations should be private
   /**
    * @brief Add a @p key of @p keyLen bytes (in PKCS#8 format) with @p keyName.
diff --git a/src/security/pib/key.cpp b/src/security/pib/key.cpp
index 7396a5a..efb7df5 100644
--- a/src/security/pib/key.cpp
+++ b/src/security/pib/key.cpp
@@ -102,13 +102,7 @@
 
 Key::operator bool() const
 {
-  return !(this->operator!());
-}
-
-bool
-Key::operator!() const
-{
-  return m_impl.expired();
+  return !m_impl.expired();
 }
 
 shared_ptr<detail::KeyImpl>
diff --git a/src/security/pib/key.hpp b/src/security/pib/key.hpp
index fbbed24..b691960 100644
--- a/src/security/pib/key.hpp
+++ b/src/security/pib/key.hpp
@@ -77,7 +77,7 @@
   explicit
   Key(weak_ptr<detail::KeyImpl> impl);
 
-  /*
+  /**
    * @brief Get key name.
    */
   const Name&
@@ -128,12 +128,6 @@
   explicit
   operator bool() const;
 
-  /**
-   * @brief Check if the Key instance is invalid.
-   */
-  bool
-  operator!() const;
-
 NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE: // write operations should be private
   /**
    * @brief Add @p certificate.
