Disable editing of a node after it has been published Scenario: 

A user can create a node (content type "story"). All story nodes that are created are unpublished by default. 

I have a boolean field called "publish my story". Once this has been checked and saved the node is published using rules.

Question:

Is it possible to revoke a users ability to edit published nodes by using rules as I do not want them to change the story afterwards.
Yes, you can define dynamic rules in a custom module. See hook_node_access

Here's a sample implementation:

/**
 * Implements hook_node_access().
 */
function MYMODULE_node_access($node, $op, $account) {
  if (
    // The $node argument can be either a $node object or a machine name of
    // node's content type. It is called multiple times during a page load
    // so it is enough if you perform the check once you get the object.
    is_object($node) &amp;&amp; $node-&gt;type == 'story' &amp;&amp;
    // Operation on which you want to act: "create", "delete", "update", "view".
    $op == 'update'
  ) {
    // Check if the node is published.
    if ($node-&gt;field_published[LANGUAGE_NONE][0]['value'] == 1) {
      return NODE_ACCESS_DENY;
    }
  }
}