diff --git a/core/modules/content_moderation/src/ContentModerationStateInterface.php b/core/modules/content_moderation/src/ContentModerationStateInterface.php
index 5b7ee2ed2e2cb997da3b70b94ced6a47d4f08d4b..679ab9e5d60a8a30796e1b5fe60b3ca0f785cf4a 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 77fcd786101af8491958c4c59e7a8bc22ecf8c18..e986d8fd574eedd150073007ea495b7988fc3a72 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 5b1c250679c05d5bf200c8326c84e3e90d1ee0c5..39b0ff4e2fc5a7a7202a6d1ae92979b239dac20d 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 38ec7cdcc5dd2c49ae9dda0849e632eb9311fc6d..e04d7dbe537af28079522b8df3313e58e5303aef 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 eb8a6b7f42c6d06db1bb6c4c13bcee5709a260b6..b6b77ae8b7507ea446f3f73badf8eb2422675e6b 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 efa68493172a39e2e766d25579835de310b8f089..ddd841aec22a0d4f026c04b70b6743c05eb5a318 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 201123784337bd80ea1c4f7eabfb123e0224c9be..3f82fdd362611a5cf27629cba146392998d39505 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 2b7cf95156580ee32505c68351cac22f1944fdaa..5079151ae8bee1ebb9e9e6c606c1342b86fb693c 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 e96f374a9146ceed10407be37aa5edfe2ffa411a..67ca4fbc5e32b73db544cc939d1543673f3bad71 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 dbef1931ff5661da63eb12c77ed0e8a4cfb6b32f..189562dd8c077f76dfe650dab00a469e9adc87d1 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 {