diff --git a/core/modules/content_moderation/src/ContentModerationStateInterface.php b/core/modules/content_moderation/src/ContentModerationStateInterface.php
index 5b7ee2ed2e..679ab9e5d6 100644
--- a/core/modules/content_moderation/src/ContentModerationStateInterface.php
+++ b/core/modules/content_moderation/src/ContentModerationStateInterface.php
@@ -10,6 +10,8 @@
  *
  * Content moderation state entities track the moderation state of other content
  * entities.
+ *
+ * @internal
  */
 interface ContentModerationStateInterface extends ContentEntityInterface, EntityOwnerInterface {
 
diff --git a/core/modules/content_moderation/src/ContentPreprocess.php b/core/modules/content_moderation/src/ContentPreprocess.php
index 77fcd78610..e986d8fd57 100644
--- a/core/modules/content_moderation/src/ContentPreprocess.php
+++ b/core/modules/content_moderation/src/ContentPreprocess.php
@@ -9,6 +9,8 @@
 
 /**
  * Determines whether a route is the "Latest version" tab of a node.
+ *
+ * @internal
  */
 class ContentPreprocess implements ContainerInjectionInterface {
 
diff --git a/core/modules/content_moderation/src/Entity/ContentModerationState.php b/core/modules/content_moderation/src/Entity/ContentModerationState.php
index 5b1c250679..39b0ff4e2f 100644
--- a/core/modules/content_moderation/src/Entity/ContentModerationState.php
+++ b/core/modules/content_moderation/src/Entity/ContentModerationState.php
@@ -39,6 +39,11 @@
  *     "langcode" = "langcode",
  *   }
  * )
+ *
+ * @internal
+ *   This entity is marked internal because it should not be used directly to
+ *   alter the moderation state of an entity. Instead, the computed
+ *   moderation_state field should be set on the entity directly.
  */
 class ContentModerationState extends ContentEntityBase implements ContentModerationStateInterface {
 
diff --git a/core/modules/content_moderation/src/EntityOperations.php b/core/modules/content_moderation/src/EntityOperations.php
index 38ec7cdcc5..e04d7dbe53 100644
--- a/core/modules/content_moderation/src/EntityOperations.php
+++ b/core/modules/content_moderation/src/EntityOperations.php
@@ -14,6 +14,8 @@
 
 /**
  * Defines a class for reacting to entity events.
+ *
+ * @internal
  */
 class EntityOperations implements ContainerInjectionInterface {
 
diff --git a/core/modules/content_moderation/src/EntityTypeInfo.php b/core/modules/content_moderation/src/EntityTypeInfo.php
index eb8a6b7f42..b6b77ae8b7 100644
--- a/core/modules/content_moderation/src/EntityTypeInfo.php
+++ b/core/modules/content_moderation/src/EntityTypeInfo.php
@@ -26,6 +26,8 @@
  *
  * This class contains primarily bridged hooks for compile-time or
  * cache-clear-time hooks. Runtime hooks should be placed in EntityOperations.
+ *
+ * @internal
  */
 class EntityTypeInfo implements ContainerInjectionInterface {
 
diff --git a/core/modules/content_moderation/src/Permissions.php b/core/modules/content_moderation/src/Permissions.php
index efa6849317..ddd841aec2 100644
--- a/core/modules/content_moderation/src/Permissions.php
+++ b/core/modules/content_moderation/src/Permissions.php
@@ -7,6 +7,8 @@
 
 /**
  * Defines a class for dynamic permissions based on transitions.
+ *
+ * @internal
  */
 class Permissions {
 
diff --git a/core/modules/content_moderation/src/RevisionTracker.php b/core/modules/content_moderation/src/RevisionTracker.php
index 2011237843..3f82fdd362 100644
--- a/core/modules/content_moderation/src/RevisionTracker.php
+++ b/core/modules/content_moderation/src/RevisionTracker.php
@@ -8,6 +8,8 @@
 
 /**
  * Tracks metadata about revisions across entities.
+ *
+ * @internal
  */
 class RevisionTracker implements RevisionTrackerInterface {
 
diff --git a/core/modules/content_moderation/src/RevisionTrackerInterface.php b/core/modules/content_moderation/src/RevisionTrackerInterface.php
index 2b7cf95156..5079151ae8 100644
--- a/core/modules/content_moderation/src/RevisionTrackerInterface.php
+++ b/core/modules/content_moderation/src/RevisionTrackerInterface.php
@@ -4,6 +4,8 @@
 
 /**
  * Tracks metadata about revisions across content entities.
+ *
+ * @internal
  */
 interface RevisionTrackerInterface {
 
diff --git a/core/modules/content_moderation/src/Routing/EntityModerationRouteProvider.php b/core/modules/content_moderation/src/Routing/EntityModerationRouteProvider.php
index e96f374a91..67ca4fbc5e 100644
--- a/core/modules/content_moderation/src/Routing/EntityModerationRouteProvider.php
+++ b/core/modules/content_moderation/src/Routing/EntityModerationRouteProvider.php
@@ -17,6 +17,8 @@
  * Provides the following routes:
  * - The latest version tab, showing the latest revision of an entity, not the
  *   default one.
+ *
+ * @internal
  */
 class EntityModerationRouteProvider implements EntityRouteProviderInterface, EntityHandlerInterface {
 
diff --git a/core/modules/content_moderation/src/ViewsData.php b/core/modules/content_moderation/src/ViewsData.php
index dbef1931ff..189562dd8c 100644
--- a/core/modules/content_moderation/src/ViewsData.php
+++ b/core/modules/content_moderation/src/ViewsData.php
@@ -8,6 +8,8 @@
 
 /**
  * Provides the content_moderation views integration.
+ *
+ * @internal
  */
 class ViewsData {
 
