diff --git a/sumome.info b/sumome.info
index 6a988fd..810b93f 100644
--- a/sumome.info
+++ b/sumome.info
@@ -3,3 +3,5 @@ description = Provides an easy way to get the SumoMe tools up and running on you
 package = Other
 core = 7.x
 version = 7.x-1.x
+
+configure = admin/config/services/sumome
diff --git a/sumome.module b/sumome.module
index c79bfcf..a782940 100644
--- a/sumome.module
+++ b/sumome.module
@@ -15,7 +15,7 @@ function sumome_menu() {
     'title' => 'SumoMe Tools Integration',
     'description' => 'Set up your SumoMe tools.',
     'access callback' => 'user_access',
-    'access arguments' => array('administer site configuration'),
+    'access arguments' => array('sumome_admin'),
     'page callback' => 'drupal_get_form',
     'page arguments' => array('sumome_settings_form'),
     'type' => MENU_NORMAL_ITEM,
@@ -49,24 +49,53 @@ function sumome_settings_form($form, &$form_state) {
   
   return system_settings_form($form);
 }
-  
+
 /**
- * Implements hook_init().
+ * Implements hook_page_build().
+ *
+ * Used to move code away from hook_init() per note from
+ * https://twitter.com/davereid/status/294554866649542657
  */
-function sumome_init() {
-  $site_id = variable_get('sumome_site_id', '');
+function sumome_page_build(&$page) {
+  // Assume that we should enable the script.
+  $use_sumome = TRUE;
+  // If there's no site ID stored: disable the script.
+  $site_id = variable_get('sumome_site_id');
+  if (!$site_id) {
+    $use_sumome = FALSE;
+  }
+  // If this is in the admin* hierarchy: disable the script.
+  if (drupal_match_path(request_path(), 'admin*')) {
+    $use_sumome = FALSE;
+  }
+  // If this user is in a role with the "Exclude SumoMe script" permission.
+  if (user_access('sumome_exclude')) {
+    $use_sumome = FALSE;
+  }
+  // (Additional filtering conditions can be added here)
 
-  if (arg(0) != "admin") {
+  // If the script should be used, add it.
+  if ($use_sumome) {
     $element = array(
-      '#tag' => 'script',
-      '#attributes' => array(
-        'type' => 'text/javascript',
-        'src' => '//load.sumome.com/',
-        'data-sumo-site-id' => $site_id,
-        'async' => 'async',
-      ),
-      '#suffix' => '</script>',
+      '#type' => 'markup',
+      '#markup' => '<script type="text/javascript" src="//load.sumome.com/" data-sumo-site-id="' . $site_id . '" async="async"></script>',
     );
     drupal_add_html_head($element, 'sumome_script_tag');
   }
 }
+
+/**
+ * Implements hook_permission().
+ */
+function sumome_permission() {
+  return array(
+    'sumome_exclude' =>  array(
+      'title' => t('Exclude SumoMe script'),
+      'description' => t('The SumoMe JavaScript will not be applied for users in these roles.'),
+    ),
+    'sumome_admin' => array(
+      'title' => t('Administer SumoMe configuration'),
+      'description' => t('Allowed to administer the SumoMe module settings.'),
+    ),
+  );
+}
