diff --git a/stable/android/os/IUpdateEngineStable.aidl b/stable/android/os/IUpdateEngineStable.aidl
index 5aa15ba..a38ba89 100644
--- a/stable/android/os/IUpdateEngineStable.aidl
+++ b/stable/android/os/IUpdateEngineStable.aidl
@@ -25,6 +25,7 @@
  * WARNING: this interface exposes less capabilities than IUpdateEngine,
  * for instance, not having a cancel method. This is relied on for
  * security.
+ * @hide
  */
 interface IUpdateEngineStable {
   /**
@@ -39,6 +40,7 @@
    *   detected.
    * @param headerKeyValuePairs additional header key value pairs, in the format of "key=value".
    * @see android.os.UpdateEngine#applyPayload(android.content.res.AssetFileDescriptor, String[])
+   * @hide
    */
   void applyPayloadFd(in ParcelFileDescriptor pfd,
                       in long payload_offset,
@@ -59,6 +61,7 @@
    * @param callback See {@link IUpdateEngineStableCallback}
    * @return true if binding is successful, false otherwise.
    * @see android.os.UpdateEngine#bind(android.os.UpdateEngineCallback)
+   * @hide
    */
   boolean bind(IUpdateEngineStableCallback callback);
 
@@ -74,6 +77,7 @@
    * @param callback The callback to be unbound. See {@link IUpdateEngineStableCallback}.
    * @return true if unbinding is successful, false otherwise.
    * @see android.os.UpdateEngine#unbind(android.os.UpdateEngineCallback)
+   * @hide
    */
   boolean unbind(IUpdateEngineStableCallback callback);
 }
diff --git a/stable/android/os/IUpdateEngineStableCallback.aidl b/stable/android/os/IUpdateEngineStableCallback.aidl
index d8fc333..4f91c15 100644
--- a/stable/android/os/IUpdateEngineStableCallback.aidl
+++ b/stable/android/os/IUpdateEngineStableCallback.aidl
@@ -18,6 +18,7 @@
 
 /**
  * The stable Callback interface for IUpdateEngineStable.
+ * @hide
  */
 oneway interface IUpdateEngineStableCallback {
   /**
@@ -26,6 +27,7 @@
    * @param status_code see {@link android.os.UpdateEngine.UpdateStatusConstants}.
    * @param percentage percentage of progress of the current stage.
    * @see android.os.UpdateEngineCallback#onStatusUpdate(int, float)
+   * @hide
    */
   void onStatusUpdate(int status_code, float percentage);
 
@@ -34,6 +36,7 @@
    *
    * @param error_code see {@link android.os.UpdateEngine.ErrorCodeConstants}
    * @see android.os.UpdateEngineCallback#onPayloadApplicationComplete(int)
+   * @hide
    */
   void onPayloadApplicationComplete(int error_code);
 }
