Index: src/wp-admin/includes/admin-filters.php
===================================================================
--- src/wp-admin/includes/admin-filters.php	(revision 43331)
+++ src/wp-admin/includes/admin-filters.php	(working copy)
@@ -47,6 +47,7 @@
 
 // Privacy tools
 add_action( 'admin_menu', '_wp_privacy_hook_requests_page' );
+add_action( 'admin_notices', '_wp_privacy_unpublished_policy_nag' );
 
 // Prerendering.
 if ( ! is_customize_preview() ) {
Index: src/wp-admin/includes/user.php
===================================================================
--- src/wp-admin/includes/user.php	(revision 43331)
+++ src/wp-admin/includes/user.php	(working copy)
@@ -1611,3 +1611,68 @@
 	}
 
 }
+
+/**
+ * Adds a notice to the privacy settings page and the privacy page edit page
+ * if the currently selected privacy page is not published
+ * 
+ * @since 4.9.7
+ * @access private
+ */
+function _wp_privacy_unpublished_policy_nag() {
+	global $pagenow;
+
+	$privacy_policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' );
+	if ( empty( $privacy_policy_page_id ) ) {
+		return;
+	}
+
+	$privacy_policy_page = get_post( $privacy_policy_page_id );
+	if ( 'draft' != $privacy_policy_page->post_status ) {
+		return;
+	}
+
+	$edit_href = add_query_arg(
+		array(
+			'post'   => $privacy_policy_page_id,
+			'action' => 'edit',
+		),
+		admin_url( 'post.php' )
+	);
+
+	$choose_href = admin_url( 'privacy.php' );
+
+	$notice = sprintf(
+		/* translators: 1: URL to edit page, 2: URL to choose page */
+		__( 'The currently selected Privacy Policy page is a draft. Please <a href="%1$s">edit</a> and publish it or <a href="%2$s">choose</a> a different page.' ),
+		$edit_href,
+		$choose_href
+	);
+
+	if ( $pagenow === 'privacy.php' ) {
+		$notice = sprintf(
+			/* translators: URL to edit page */
+			__( 'The currently selected Privacy Policy page is a draft. Please <a href="%s">edit</a> and publish it or choose a different page.' ),
+			$edit_href
+		);
+	} else if ( $pagenow === 'post.php' ) {
+		$post_id = isset( $_GET['post'] ) ? (int) sanitize_text_field( $_GET['post'] ) : '';
+		$action  = isset( $_GET['action'] ) ? sanitize_text_field( $_GET['action'] ) : '';
+
+		if ( ( 'edit' === $action ) && ( $privacy_policy_page_id === $post_id ) ) {
+			$notice = sprintf(
+				/* translators: URL to choose page */
+				__( 'This Privacy Policy page is a draft. Please publish it or <a href="%s">choose</a> a different page.' ),
+				$choose_href
+			);
+		}
+	}
+
+	?>
+	<div class="notice notice-warning">
+		<p>
+			<?php echo wp_kses_post( $notice ); ?>
+		</p>
+	</div>
+	<?php
+}
Index: src/wp-admin/privacy.php
===================================================================
--- src/wp-admin/privacy.php	(revision 43331)
+++ src/wp-admin/privacy.php	(working copy)
@@ -13,6 +13,20 @@
 	wp_die( __( 'Sorry, you are not allowed to manage privacy on this site.' ) );
 }
 
+/**
+ * Adds (Draft) to draft page titles in the privacy page dropdown
+ * to make it clearer when the admin is choosing an unpublished page.
+ * 
+ * @since 4.9.7
+ */
+function _wp_privacy_settings_screen_filter_pages( $title, $page ) {
+	if ( 'draft' === $page->post_status ) {
+		/* translators: %s: Page Title */
+		$title = sprintf( __( '%s (Draft)' ), $title );
+	}
+	return $title;
+}
+
 $action = isset( $_POST['action'] ) ? $_POST['action'] : '';
 
 if ( ! empty( $action ) ) {
@@ -187,6 +201,7 @@
 						</label>
 						<input type="hidden" name="action" value="set-privacy-page" />
 						<?php
+						add_filter( 'list_pages', '_wp_privacy_settings_screen_filter_pages', 10, 2 );
 						wp_dropdown_pages(
 							array(
 								'name'              => 'page_for_privacy_policy',
@@ -196,6 +211,7 @@
 								'post_status'       => array( 'draft', 'publish' ),
 							)
 						);
+						remove_filter( 'list_pages', '_wp_privacy_settings_screen_filter_pages', 10, 2 );
 
 						wp_nonce_field( 'set-privacy-page' );
 
