diff --git a/examples/enroll.c b/examples/enroll.c
index 2c42a9e..0fe10bb 100644
--- a/examples/enroll.c
+++ b/examples/enroll.c
@@ -142,7 +142,10 @@ int main(void)
 	if (!data)
 		goto out_close;
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 	r = fp_print_data_save(data, RIGHT_INDEX);
+#pragma GCC diagnostic pop
 	if (r < 0)
 		fprintf(stderr, "Data save failed, code %d\n", r);
 
diff --git a/examples/verify.c b/examples/verify.c
index 26566ed..713c39c 100644
--- a/examples/verify.c
+++ b/examples/verify.c
@@ -117,7 +117,10 @@ int main(void)
 	printf("Opened device. Loading previously enrolled right index finger "
 		"data...\n");
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 	r = fp_print_data_load(dev, RIGHT_INDEX, &data);
+#pragma GCC diagnostic pop
 	if (r != 0) {
 		fprintf(stderr, "Failed to load fingerprint, error %d\n", r);
 		fprintf(stderr, "Did you remember to enroll your right index finger "
diff --git a/libfprint/fpi-data.c b/libfprint/fpi-data.c
index 0ac0f98..f377404 100644
--- a/libfprint/fpi-data.c
+++ b/libfprint/fpi-data.c
@@ -56,12 +56,15 @@ struct fpi_print_data_item_fp2 {
  *
  * This page documents the various operations you can do with a stored print.
  * Note that by default, "stored prints" are not actually stored anywhere
- * except in RAM. For the simple scenarios, libfprint provides a simple API
- * for you to save and load the stored prints referring to a single user in
- * their home directory. For more advanced users, libfprint provides APIs for
- * you to convert print data to a byte string, and to reconstruct stored prints
+ * except in RAM. Storage needs to be handled by the API user by using the
+ * fp_print_data_get_data() and fp_print_data_from_data(). This API allows
+ * to convert print data into byte strings, and to reconstruct stored prints
  * from such data at a later point. You are welcome to store these byte strings
  * in any fashion that suits you.
+ *
+ * The provided API to store data on disk is deprecated and should not be
+ * used anymore. This API stored the prints in the current user's home
+ * directory.
  */
 
 /*
@@ -366,6 +369,10 @@ static char *get_path_to_print(struct fp_dev *dev, enum fp_finger finger)
  * directory beneath the current user's home directory.
  *
  * Returns: 0 on success, non-zero on error.
+ *
+ * Deprecated: Data storage should be handled outside of libfprint.
+ * See <link linkend="libfprint-Stored-prints.description">stored prints description</link>
+ * for more information.
  */
 API_EXPORTED int fp_print_data_save(struct fp_print_data *data,
 	enum fp_finger finger)
@@ -478,6 +485,10 @@ static int load_from_file(char *path, struct fp_print_data **data)
  * obscure error conditions (e.g. corruption).
  *
  * Returns: 0 on success, non-zero on error
+ *
+ * Deprecated: Data storage should be handled outside of libfprint.
+ * See <link linkend="libfprint-Stored-prints.description">stored prints description</link>
+ * for more information.
  */
 API_EXPORTED int fp_print_data_load(struct fp_dev *dev,
 	enum fp_finger finger, struct fp_print_data **data)
@@ -513,6 +524,10 @@ API_EXPORTED int fp_print_data_load(struct fp_dev *dev,
  * Removes a stored print from disk previously saved with fp_print_data_save().
  *
  * Returns: 0 on success, negative on error
+ *
+ * Deprecated: Data storage should be handled outside of libfprint.
+ * See <link linkend="libfprint-Stored-prints.description">stored prints description</link>
+ * for more information.
  */
 API_EXPORTED int fp_print_data_delete(struct fp_dev *dev,
 	enum fp_finger finger)
diff --git a/libfprint/fprint.h b/libfprint/fprint.h
index b9b0909..4b68e4a 100644
--- a/libfprint/fprint.h
+++ b/libfprint/fprint.h
@@ -275,11 +275,13 @@ int fp_identify_finger(struct fp_dev *dev,
 
 /* Data handling */
 int fp_print_data_load(struct fp_dev *dev, enum fp_finger finger,
-	struct fp_print_data **data);
+	struct fp_print_data **data) LIBFPRINT_DEPRECATED;
 int fp_print_data_from_dscv_print(struct fp_dscv_print *print,
 	struct fp_print_data **data) LIBFPRINT_DEPRECATED;
-int fp_print_data_save(struct fp_print_data *data, enum fp_finger finger);
-int fp_print_data_delete(struct fp_dev *dev, enum fp_finger finger);
+int fp_print_data_save(struct fp_print_data *data, enum fp_finger finger)
+	LIBFPRINT_DEPRECATED;
+int fp_print_data_delete(struct fp_dev *dev, enum fp_finger finger)
+	LIBFPRINT_DEPRECATED;
 void fp_print_data_free(struct fp_print_data *data);
 size_t fp_print_data_get_data(struct fp_print_data *data, unsigned char **ret);
 struct fp_print_data *fp_print_data_from_data(unsigned char *buf,