diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -3445,6 +3445,7 @@
     'PhabricatorPolicyAwareQuery' => 'infrastructure/query/policy/PhabricatorPolicyAwareQuery.php',
     'PhabricatorPolicyAwareTestQuery' => 'applications/policy/__tests__/PhabricatorPolicyAwareTestQuery.php',
     'PhabricatorPolicyCanEditCapability' => 'applications/policy/capability/PhabricatorPolicyCanEditCapability.php',
+    'PhabricatorPolicyCanInteractCapability' => 'applications/policy/capability/PhabricatorPolicyCanInteractCapability.php',
     'PhabricatorPolicyCanJoinCapability' => 'applications/policy/capability/PhabricatorPolicyCanJoinCapability.php',
     'PhabricatorPolicyCanViewCapability' => 'applications/policy/capability/PhabricatorPolicyCanViewCapability.php',
     'PhabricatorPolicyCapability' => 'applications/policy/capability/PhabricatorPolicyCapability.php',
@@ -8654,6 +8655,7 @@
     'PhabricatorPolicyAwareQuery' => 'PhabricatorOffsetPagedQuery',
     'PhabricatorPolicyAwareTestQuery' => 'PhabricatorPolicyAwareQuery',
     'PhabricatorPolicyCanEditCapability' => 'PhabricatorPolicyCapability',
+    'PhabricatorPolicyCanInteractCapability' => 'PhabricatorPolicyCapability',
     'PhabricatorPolicyCanJoinCapability' => 'PhabricatorPolicyCapability',
     'PhabricatorPolicyCanViewCapability' => 'PhabricatorPolicyCapability',
     'PhabricatorPolicyCapability' => 'Phobject',
diff --git a/src/applications/maniphest/storage/ManiphestTask.php b/src/applications/maniphest/storage/ManiphestTask.php
--- a/src/applications/maniphest/storage/ManiphestTask.php
+++ b/src/applications/maniphest/storage/ManiphestTask.php
@@ -361,7 +361,7 @@
         if ($this->isLocked()) {
           return PhabricatorPolicies::POLICY_NOONE;
         } else {
-          return PhabricatorPolicies::POLICY_USER;
+          return $this->getViewPolicy();
         }
       case PhabricatorPolicyCapability::CAN_EDIT:
         return $this->getEditPolicy();
diff --git a/src/applications/policy/capability/PhabricatorPolicyCanInteractCapability.php b/src/applications/policy/capability/PhabricatorPolicyCanInteractCapability.php
new file mode 100644
--- /dev/null
+++ b/src/applications/policy/capability/PhabricatorPolicyCanInteractCapability.php
@@ -0,0 +1,20 @@
+<?php
+
+final class PhabricatorPolicyCanInteractCapability
+  extends PhabricatorPolicyCapability {
+
+  const CAPABILITY = self::CAN_INTERACT;
+
+  public function getCapabilityName() {
+    return pht('Can Interact');
+  }
+
+  public function describeCapabilityRejection() {
+    return pht('You do not have permission to interact with this object.');
+  }
+
+  public function shouldAllowPublicPolicySetting() {
+    return true;
+  }
+
+}