diff --git a/Makefile b/Makefile
index 0c76e46..a1dd383 100644
--- a/Makefile
+++ b/Makefile
@@ -58,7 +58,7 @@
 	jshint .
 
 # A list of case-sensitive banned words.
-BANNED_WORDS := Javascript node.js
+BANNED_WORDS := Javascript node.js Oauth
 .PHONY: banned_words
 banned_words:
 	@for WORD in $(BANNED_WORDS); do \
diff --git a/content/concepts/security.md b/content/concepts/security.md
index fb374ba..9c29df7 100644
--- a/content/concepts/security.md
+++ b/content/concepts/security.md
@@ -105,9 +105,8 @@
 > <code>P<sub>tv</sub></code> can use the name
 > <code>alice:devices:hometv</code>
 
-Blessing names are thus hierarchical, with
-slashes used to distinguish the blesser (`alice`) from the blessee
-(`devices:hometv`).
+Blessing names are thus hierarchical, with colons used to distinguish the
+blesser (`alice`) from the blessee (`devices:hometv`).
 
 # Caveats
 
diff --git a/content/designdocs/identity-service.md b/content/designdocs/identity-service.md
index f05fa76..db02169 100644
--- a/content/designdocs/identity-service.md
+++ b/content/designdocs/identity-service.md
@@ -9,7 +9,7 @@
 that the user is `alice@university.edu` (using OAuth2), this service will issue
 the blessing `dev.v.io:u:alice@university.edu` (where `dev.v.io` is
 the namespace for which the public key of the identity service is considered
-authoriative).  The blessing may also contain specific caveats per the user's
+authoritative).  The blessing may also contain specific caveats per the user's
 request.
 
 Broadly, this identity service consists of two main components:
@@ -27,7 +27,7 @@
 One additional service enables revocation of the blessings granted by the
 blessing service:
 
-- **Vanadium Discharge Service**: This is a Vanadium RPC service enables
+- **Vanadium Discharge Service**: This is a Vanadium RPC service that enables
   revocation. The service issues [discharges][discharge] for a revocation
   [caveat] if the blessing has not been revoked by the user. The discharges are
   valid for 15 minutes.
diff --git a/content/tutorials/javascript/security.md b/content/tutorials/javascript/security.md
index ffa658e..d9ec979 100644
--- a/content/tutorials/javascript/security.md
+++ b/content/tutorials/javascript/security.md
@@ -23,12 +23,12 @@
 
 * Alice hosts a fortune service and has blessings `alice`
 * Bob is a friend of Alice (friends can get fortunes, but not add them) and
-has blessings `alice/friends/bob`.
+has blessings `alice:friends:bob`.
 * Carol is a family member of Alice (family can both add and get fortunes) and
-has blessings `alice/family/sister`.
+has blessings `alice:family:sister`.
 * Diane is given blessings by Carol with an expiry caveat so until the
 expiration takes effect Diane can act as a family member of Carol through
-the blessings `alice/family/sister/guest/diane`.
+the blessings `alice:family:sister:guest:diane`.
 
 However, there are a few modifications for the JavaScript tutorials. In
 addition to the blessings above, each person with have an additional blessing
@@ -333,10 +333,10 @@
   var acl = new Map();
   var access = vanadium.security.access;
   acl.set(access.Read, {
-    in: ['alice/family', 'alice/friends']
+    in: ['alice:family', 'alice:friends']
   });
   acl.set(access.Write, {
-    in: ['alice/family']
+    in: ['alice:family']
   });
   return new access.permissionsAuthorizer(acl, access.Tag);
 }
@@ -349,9 +349,9 @@
   // helpfully suggest the correct suffix to bless them with.
   var suggestion = '';
   if (blessings[0].indexOf('19102') !== -1) {
-    suggestion = 'friends/bob';
+    suggestion = 'friends:bob';
   } else if (blessings[0].indexOf('19103') !== -1) {
-    suggestion = 'family/sister';
+    suggestion = 'family:sister';
   }
   return window.prompt(
     'Received blessing request from peer with remote blessings: ' +
@@ -402,7 +402,7 @@
 ```
 
 ### Bob
-Bob is a friend of Alice and will be given a `alice/friends/bob` blessing that
+Bob is a friend of Alice and will be given a `alice:friends:bob` blessing that
 enables read-only access to fortunes. In order to get this blessing, he needs
 to contact Alice's blessing granter service.
 
@@ -546,7 +546,7 @@
 ```
 
 ### Carol
-Carol operates nearly identically to Bob, except that she uses `alice/family/sister`
+Carol operates nearly identically to Bob, except that she uses `alice:family:sister`
 blessing that allows read / write access. In addition, Carol has functionality
 to grant Diane a blessing with caveats.
 
@@ -673,7 +673,7 @@
   <br><b>Peer Blessings:</b></br>
   <br><ul id="peer-blessings"></ul></br>
   <br>Status: <span id="status">Initializing...</span></br>
-  <br><button id="send-grant">Send Grant</button> to <input id="grantee" value="---"></input> with suffix <input id="grant-suffix" value="guest/diane"></input> expiration time (seconds): <input id="grant-expiration" value="10"></input></br>
+  <br><button id="send-grant">Send Grant</button> to <input id="grantee" value="---"></input> with suffix <input id="grant-suffix" value="guest:diane"></input> expiration time (seconds): <input id="grant-expiration" value="10"></input></br>
   <br></br>
   <br><input id="fortune-to-add" value="Fortune to Add"></input><button id="add-fortune">Add Fortune</button></br>
   <br><button id="get-fortune">Get Fortune</button></br>
@@ -686,7 +686,7 @@
 ```
 
 ### Diane
-Diane gets the blessing `family/sister/guest/diane` from Carol with an expiry
+Diane gets the blessing `family:sister:guest:diane` from Carol with an expiry
 caveat.
 
 #### Diane code
@@ -910,7 +910,7 @@
 The page will prompt you with a dialog entitled "The page at 127.0.0.1:19101 says".
 
 This occurs because Bob and Carol are asking for blessings. The prompt prefills
-the input section with "friends/bob" (for :19102) and "family/sister" (for :19103).
+the input section with "friends:bob" (for :19102) and "family:sister" (for :19103).
 
 In practice, Alice would use this opportunity to verify that she is indeed
 allowing Bob and Carol to receive a blessing from her.
@@ -934,7 +934,7 @@
 should succeed because she is family. The fortune should appear on Alice's display.
 
 Now let's give Diane a blessing. Go to Carol's iframe and Press the "Grant"
-button. This sends a blessing to Diane (alice/family/sister/guest/diane).
+button. This sends a blessing to Diane (alice:family:sister:guest:diane).
 
 Until the designated expiration time (default 10s),
 Diane should be able to both add and get a fortune, as if she were family.
diff --git a/content/tutorials/naming/globber.md b/content/tutorials/naming/globber.md
index 2b05375..acf4b24 100644
--- a/content/tutorials/naming/globber.md
+++ b/content/tutorials/naming/globber.md
@@ -210,7 +210,7 @@
   ctx, shutdown := v23.Init()
   defer shutdown()
 
-  _, _, err := v23.WithNewServer(ctx, *name, &myDispatcher{*root})
+  _, _, err := v23.WithNewDispatchingServer(ctx, *name, &myDispatcher{*root})
   if err != nil {
     log.Panic("Failure creating server: ", err)
   }
diff --git a/content/tutorials/naming/suffix-part2.md b/content/tutorials/naming/suffix-part2.md
index d864d9f..89d2269 100644
--- a/content/tutorials/naming/suffix-part2.md
+++ b/content/tutorials/naming/suffix-part2.md
@@ -320,7 +320,7 @@
    forpeer prophInc | \
        $V_BIN/principal bless \
          --v23.credentials $V_TUT/cred/cassandra \
-         --with=- --for=24h $V_TUT/cred/alice intern:allie |\
+         --with=- --for=24h $V_TUT/cred/alice intern:alice |\
                $V_BIN/principal set \
                   --v23.credentials $V_TUT/cred/alice \
                   forpeer - prophInc
diff --git a/content/tutorials/security/third-party-caveats.md b/content/tutorials/security/third-party-caveats.md
index ef2e3ca..7eaab79 100644
--- a/content/tutorials/security/third-party-caveats.md
+++ b/content/tutorials/security/third-party-caveats.md
@@ -382,7 +382,7 @@
 
 ## Revoke the blessing
 
-Visit [dev.v.io/auth], and click __YOUR BLESSINGS__.
+Visit [dev.v.io/auth], and click __SHOW BLESSINGS__.
 
 Find the blessing you created in the
 [Seek a Blessing](#seek-a-blessing) step above, and click its
@@ -415,7 +415,7 @@
 be removed from Google's servers. Its not possible to un-revoke it, so
 there's no reason to keep it.
 
-If you wish to revoke the [Oauth] access you gave to Vanadium (it was
+If you wish to revoke the [OAuth] access you gave to Vanadium (it was
 only needed to create a blessing for this tutorial), visit your
 [Google settings], click on __Vanadium__, and click __Revoke access__.
 
