diff --git a/cmd/build/doc.go b/cmd/build/doc.go
index 68a70d9..b7fcabe 100644
--- a/cmd/build/doc.go
+++ b/cmd/build/doc.go
@@ -65,8 +65,8 @@
 <name> is a vanadium object name of a build server <packages> is a list of
 packages to build, specified as arguments for each command. The format is
 similar to the go tool.  In its simplest form each package is an import path;
-e.g. "veyron/tools/build". A package that ends with "..." does a wildcard match
-against all packages with that prefix.
+e.g. "v.io/x/ref/cmd/build". A package that ends with "..." does a wildcard
+match against all packages with that prefix.
 
 The build build flags are:
  -arch=${GOARCH}
diff --git a/cmd/build/impl.go b/cmd/build/impl.go
index b81d1a3..304d2d5 100644
--- a/cmd/build/impl.go
+++ b/cmd/build/impl.go
@@ -61,7 +61,7 @@
 <name> is a vanadium object name of a build server
 <packages> is a list of packages to build, specified as arguments for
 each command. The format is similar to the go tool.  In its simplest
-form each package is an import path; e.g. "veyron/tools/build". A
+form each package is an import path; e.g. "v.io/x/ref/cmd/build". A
 package that ends with "..." does a wildcard match against all
 packages with that prefix.
 `,
diff --git a/cmd/gclogs/format_test.go b/cmd/gclogs/format_test.go
index 5396894..2399d76 100644
--- a/cmd/gclogs/format_test.go
+++ b/cmd/gclogs/format_test.go
@@ -15,12 +15,12 @@
 		lf       *logFile
 	}{
 		{
-			"program.host.user.log.veyron.INFO.20141204-131502.12345",
-			&logFile{false, "program", "host", "user", "veyron", "INFO", time.Date(2014, 12, 4, 13, 15, 2, 0, time.Local), 12345},
+			"program.host.user.log.vanadium.INFO.20141204-131502.12345",
+			&logFile{false, "program", "host", "user", "vanadium", "INFO", time.Date(2014, 12, 4, 13, 15, 2, 0, time.Local), 12345},
 		},
 		{
-			"prog.test.host-name.user.log.veyron.ERROR.20141204-131502.12345",
-			&logFile{false, "prog.test", "host-name", "user", "veyron", "ERROR", time.Date(2014, 12, 4, 13, 15, 2, 0, time.Local), 12345},
+			"prog.test.host-name.user.log.vanadium.ERROR.20141204-131502.12345",
+			&logFile{false, "prog.test", "host-name", "user", "vanadium", "ERROR", time.Date(2014, 12, 4, 13, 15, 2, 0, time.Local), 12345},
 		},
 	}
 	for _, tc := range testcases {
@@ -36,8 +36,8 @@
 
 func TestParseFileNameError(t *testing.T) {
 	testcases := []string{
-		"program.host.user.log.veyron.INFO.20141204-131502",
-		"prog.test.host-name.user.log.veyron.20141204-131502.12345",
+		"program.host.user.log.vanadium.INFO.20141204-131502",
+		"prog.test.host-name.user.log.vanadium.20141204-131502.12345",
 		"foo.txt",
 	}
 	for _, tc := range testcases {
@@ -54,7 +54,7 @@
 	}
 	defer os.RemoveAll(tmpdir)
 
-	name := "program.host.user.log.veyron.INFO.20141204-131502.12345"
+	name := "program.host.user.log.vanadium.INFO.20141204-131502.12345"
 	if err := ioutil.WriteFile(filepath.Join(tmpdir, name), []byte{}, 0644); err != nil {
 		t.Fatalf("ioutil.WriteFile failed: %v", err)
 	}
@@ -73,7 +73,7 @@
 		if err != nil {
 			t.Errorf("parseFileInfo(%v, %v) failed: %v", tmpdir, fi, err)
 		}
-		expected := &logFile{false, "program", "host", "user", "veyron", "INFO", time.Date(2014, 12, 4, 13, 15, 2, 0, time.Local), 12345}
+		expected := &logFile{false, "program", "host", "user", "vanadium", "INFO", time.Date(2014, 12, 4, 13, 15, 2, 0, time.Local), 12345}
 		if !reflect.DeepEqual(lf, expected) {
 			t.Errorf("unexpected result: got %+v, expected %+v", lf, expected)
 		}
@@ -89,7 +89,7 @@
 		if err != nil {
 			t.Errorf("parseFileInfo(%v, %v) failed: %v", tmpdir, fi, err)
 		}
-		expected := &logFile{true, "program", "host", "user", "veyron", "INFO", time.Date(2014, 12, 4, 13, 15, 2, 0, time.Local), 12345}
+		expected := &logFile{true, "program", "host", "user", "vanadium", "INFO", time.Date(2014, 12, 4, 13, 15, 2, 0, time.Local), 12345}
 		if !reflect.DeepEqual(lf, expected) {
 			t.Errorf("unexpected result: got %+v, expected %+v", lf, expected)
 		}
diff --git a/cmd/gclogs/gclogs_test.go b/cmd/gclogs/gclogs_test.go
index 574fca2..b36a4ec 100644
--- a/cmd/gclogs/gclogs_test.go
+++ b/cmd/gclogs/gclogs_test.go
@@ -24,11 +24,11 @@
 		link string
 		age  time.Duration
 	}{
-		{"prog1.host.%USER%.log.veyron.INFO.20141204-131502.12345", "", 4 * time.Hour},
-		{"prog1.host.%USER%.log.veyron.INFO.20141204-145040.23456", "prog1.INFO", 1 * time.Hour},
-		{"prog1.host.%USER%.log.veyron.ERROR.20141204-145040.23456", "prog1.ERROR", 1 * time.Hour},
-		{"prog2.host.%USER%.log.veyron.INFO.20141204-135040.23456", "prog2.INFO", 4 * time.Hour},
-		{"prog3.host.otheruser.log.veyron.INFO.20141204-135040.23456", "prog3.INFO", 1 * time.Hour},
+		{"prog1.host.%USER%.log.vanadium.INFO.20141204-131502.12345", "", 4 * time.Hour},
+		{"prog1.host.%USER%.log.vanadium.INFO.20141204-145040.23456", "prog1.INFO", 1 * time.Hour},
+		{"prog1.host.%USER%.log.vanadium.ERROR.20141204-145040.23456", "prog1.ERROR", 1 * time.Hour},
+		{"prog2.host.%USER%.log.vanadium.INFO.20141204-135040.23456", "prog2.INFO", 4 * time.Hour},
+		{"prog3.host.otheruser.log.vanadium.INFO.20141204-135040.23456", "prog3.INFO", 1 * time.Hour},
 		{"foo.txt", "", 1 * time.Hour},
 		{"bar.txt", "", 1 * time.Hour},
 	}
@@ -91,8 +91,8 @@
 			dryrun:  true,
 			expected: []string{
 				`Processing: "%TESTDIR%"`,
-				`Would delete "%TESTDIR%/prog1.host.%USER%.log.veyron.INFO.20141204-131502.12345"`,
-				`Would delete "%TESTDIR%/prog2.host.%USER%.log.veyron.INFO.20141204-135040.23456"`,
+				`Would delete "%TESTDIR%/prog1.host.%USER%.log.vanadium.INFO.20141204-131502.12345"`,
+				`Would delete "%TESTDIR%/prog2.host.%USER%.log.vanadium.INFO.20141204-135040.23456"`,
 				`Number of files deleted: 0`,
 			},
 		},
@@ -111,14 +111,14 @@
 			dryrun:  false,
 			expected: []string{
 				`Processing: "%TESTDIR%"`,
-				`Deleting "%TESTDIR%/prog1.host.%USER%.log.veyron.INFO.20141204-131502.12345"`,
-				`Deleting "%TESTDIR%/prog2.host.%USER%.log.veyron.INFO.20141204-135040.23456"`,
+				`Deleting "%TESTDIR%/prog1.host.%USER%.log.vanadium.INFO.20141204-131502.12345"`,
+				`Deleting "%TESTDIR%/prog2.host.%USER%.log.vanadium.INFO.20141204-135040.23456"`,
 				`Deleting symlink "%TESTDIR%/prog2.INFO"`,
 				`Not a log file: "%TESTDIR%/bar.txt"`,
 				`Not a log file: "%TESTDIR%/foo.txt"`,
 				`Skipped directory: "%TESTDIR%/subdir"`,
 				`Skipped log file created by other user: "%TESTDIR%/prog3.INFO"`,
-				`Skipped log file created by other user: "%TESTDIR%/prog3.host.otheruser.log.veyron.INFO.20141204-135040.23456"`,
+				`Skipped log file created by other user: "%TESTDIR%/prog3.host.otheruser.log.vanadium.INFO.20141204-135040.23456"`,
 				`Number of files deleted: 3`,
 			},
 		},
@@ -128,10 +128,10 @@
 			dryrun:  false,
 			expected: []string{
 				`Processing: "%TESTDIR%"`,
-				`Deleting "%TESTDIR%/prog1.host.%USER%.log.veyron.ERROR.20141204-145040.23456"`,
-				`Deleting "%TESTDIR%/prog1.host.%USER%.log.veyron.INFO.20141204-131502.12345"`,
-				`Deleting "%TESTDIR%/prog1.host.%USER%.log.veyron.INFO.20141204-145040.23456"`,
-				`Deleting "%TESTDIR%/prog2.host.%USER%.log.veyron.INFO.20141204-135040.23456"`,
+				`Deleting "%TESTDIR%/prog1.host.%USER%.log.vanadium.ERROR.20141204-145040.23456"`,
+				`Deleting "%TESTDIR%/prog1.host.%USER%.log.vanadium.INFO.20141204-131502.12345"`,
+				`Deleting "%TESTDIR%/prog1.host.%USER%.log.vanadium.INFO.20141204-145040.23456"`,
+				`Deleting "%TESTDIR%/prog2.host.%USER%.log.vanadium.INFO.20141204-135040.23456"`,
 				`Deleting symlink "%TESTDIR%/prog1.ERROR"`,
 				`Deleting symlink "%TESTDIR%/prog1.INFO"`,
 				`Deleting symlink "%TESTDIR%/prog2.INFO"`,
@@ -139,7 +139,7 @@
 				`Not a log file: "%TESTDIR%/foo.txt"`,
 				`Skipped directory: "%TESTDIR%/subdir"`,
 				`Skipped log file created by other user: "%TESTDIR%/prog3.INFO"`,
-				`Skipped log file created by other user: "%TESTDIR%/prog3.host.otheruser.log.veyron.INFO.20141204-135040.23456"`,
+				`Skipped log file created by other user: "%TESTDIR%/prog3.host.otheruser.log.vanadium.INFO.20141204-135040.23456"`,
 				`Number of files deleted: 7`,
 			},
 		},
diff --git a/cmd/mgmt/shell/lib/shell_test.sh b/cmd/mgmt/shell/lib/shell_test.sh
index 51e22b4..ed873a0 100755
--- a/cmd/mgmt/shell/lib/shell_test.sh
+++ b/cmd/mgmt/shell/lib/shell_test.sh
@@ -144,7 +144,7 @@
   popd > /dev/null
 }
 
-# shell_test::setup_server_test is common boilerplate used for testing veyron
+# shell_test::setup_server_test is common boilerplate used for testing vanadium
 # servers. In particular, this function sets up an instance of the mount table
 # daemon, and sets the NAMESPACE_ROOT environment variable accordingly.  It also
 # sets up credentials as needed.
diff --git a/cmd/vdl/arith_test.go b/cmd/vdl/arith_test.go
index 30f8a60..01a2bf3 100644
--- a/cmd/vdl/arith_test.go
+++ b/cmd/vdl/arith_test.go
@@ -1,6 +1,6 @@
 package main_test
 
-// This test assumes the vdl packages under veyron2/vdl/testdata have been
+// This test assumes the vdl packages under v.io/x/ref/lib/vdl/testdata have been
 // compiled using the vdl binary, and runs end-to-end rpc tests against the
 // generated output.  It's meant as a final sanity check of the vdl compiler; by
 // using the compiled results we're behaving as an end-user would behave.
diff --git a/cmd/vdl/doc.go b/cmd/vdl/doc.go
index 4210ce5..5d7874f 100644
--- a/cmd/vdl/doc.go
+++ b/cmd/vdl/doc.go
@@ -54,18 +54,18 @@
       "src->dst[,s2->d2...]" : Generate output using translation rules
    Assume your source tree is organized as follows:
       VDLPATH=/home/vdl
-         /home/vdl/src/veyron/test_base/base1.vdl
-         /home/vdl/src/veyron/test_base/base2.vdl
+         /home/vdl/src/test_base/base1.vdl
+         /home/vdl/src/test_base/base2.vdl
    Here's example output under the different modes:
       --go_out_dir=""
-         /home/vdl/src/veyron/test_base/base1.vdl.go
-         /home/vdl/src/veyron/test_base/base2.vdl.go
+         /home/vdl/src/test_base/base1.vdl.go
+         /home/vdl/src/test_base/base2.vdl.go
       --go_out_dir="/tmp/foo"
-         /tmp/foo/veyron/test_base/base1.vdl.go
-         /tmp/foo/veyron/test_base/base2.vdl.go
+         /tmp/foo/test_base/base1.vdl.go
+         /tmp/foo/test_base/base2.vdl.go
       --go_out_dir="vdl/src->foo/bar/src"
-         /home/foo/bar/src/veyron/test_base/base1.vdl.go
-         /home/foo/bar/src/veyron/test_base/base2.vdl.go
+         /home/foo/bar/src/test_base/base1.vdl.go
+         /home/foo/bar/src/test_base/base2.vdl.go
    When the src->dst form is used, src must match the suffix of the path just
    before the package path, and dst is the replacement for src.  Use commas to
    separate multiple rules; the first rule matching src is used.  The special
@@ -124,18 +124,18 @@
       "src->dst[,s2->d2...]" : Generate output using translation rules
    Assume your source tree is organized as follows:
       VDLPATH=/home/vdl
-         /home/vdl/src/veyron/test_base/base1.vdl
-         /home/vdl/src/veyron/test_base/base2.vdl
+         /home/vdl/src/test_base/base1.vdl
+         /home/vdl/src/test_base/base2.vdl
    Here's example output under the different modes:
       --go_out_dir=""
-         /home/vdl/src/veyron/test_base/base1.vdl.go
-         /home/vdl/src/veyron/test_base/base2.vdl.go
+         /home/vdl/src/test_base/base1.vdl.go
+         /home/vdl/src/test_base/base2.vdl.go
       --go_out_dir="/tmp/foo"
-         /tmp/foo/veyron/test_base/base1.vdl.go
-         /tmp/foo/veyron/test_base/base2.vdl.go
+         /tmp/foo/test_base/base1.vdl.go
+         /tmp/foo/test_base/base2.vdl.go
       --go_out_dir="vdl/src->foo/bar/src"
-         /home/foo/bar/src/veyron/test_base/base1.vdl.go
-         /home/foo/bar/src/veyron/test_base/base2.vdl.go
+         /home/foo/bar/src/test_base/base1.vdl.go
+         /home/foo/bar/src/test_base/base2.vdl.go
    When the src->dst form is used, src must match the suffix of the path just
    before the package path, and dst is the replacement for src.  Use commas to
    separate multiple rules; the first rule matching src is used.  The special
diff --git a/cmd/vdl/main.go b/cmd/vdl/main.go
index d36411c..490b32c 100644
--- a/cmd/vdl/main.go
+++ b/cmd/vdl/main.go
@@ -383,18 +383,18 @@
    "src->dst[,s2->d2...]" : Generate output using translation rules
 Assume your source tree is organized as follows:
    VDLPATH=/home/vdl
-      /home/vdl/src/veyron/test_base/base1.vdl
-      /home/vdl/src/veyron/test_base/base2.vdl
+      /home/vdl/src/test_base/base1.vdl
+      /home/vdl/src/test_base/base2.vdl
 Here's example output under the different modes:
    --go_out_dir=""
-      /home/vdl/src/veyron/test_base/base1.vdl.go
-      /home/vdl/src/veyron/test_base/base2.vdl.go
+      /home/vdl/src/test_base/base1.vdl.go
+      /home/vdl/src/test_base/base2.vdl.go
    --go_out_dir="/tmp/foo"
-      /tmp/foo/veyron/test_base/base1.vdl.go
-      /tmp/foo/veyron/test_base/base2.vdl.go
+      /tmp/foo/test_base/base1.vdl.go
+      /tmp/foo/test_base/base2.vdl.go
    --go_out_dir="vdl/src->foo/bar/src"
-      /home/foo/bar/src/veyron/test_base/base1.vdl.go
-      /home/foo/bar/src/veyron/test_base/base2.vdl.go
+      /home/foo/bar/src/test_base/base1.vdl.go
+      /home/foo/bar/src/test_base/base2.vdl.go
 When the src->dst form is used, src must match the suffix of the path just
 before the package path, and dst is the replacement for src.  Use commas to
 separate multiple rules; the first rule matching src is used.  The special dst
diff --git a/lib/GO.PACKAGE b/lib/GO.PACKAGE
deleted file mode 100644
index 8252cab..0000000
--- a/lib/GO.PACKAGE
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"dependencies": {
-		"incoming": [
-			{"allow": "v.io/x/ref/lib/..."},
-			{"allow": "...", "comment": "dependencies on veyron/lib are temporarily allowed"}
-		]
-	}
-}
diff --git a/lib/exec/child.go b/lib/exec/child.go
index d90df9e..77cff1c 100644
--- a/lib/exec/child.go
+++ b/lib/exec/child.go
@@ -14,7 +14,7 @@
 
 var (
 	ErrNoVersion          = errors.New(consts.ExecVersionVariable + " environment variable missing")
-	ErrUnsupportedVersion = errors.New("Unsupported version of veyron/lib/exec request by " + consts.ExecVersionVariable + " environment variable")
+	ErrUnsupportedVersion = errors.New("Unsupported version of v.io/x/ref/lib/exec request by " + consts.ExecVersionVariable + " environment variable")
 )
 
 type ChildHandle struct {
diff --git a/lib/vdl/build/build.go b/lib/vdl/build/build.go
index bf3327d..c3de1fd 100644
--- a/lib/vdl/build/build.go
+++ b/lib/vdl/build/build.go
@@ -71,7 +71,7 @@
 	// E.g. "v.io/v23/vdlroot/time"
 	GenPath string
 	// Dir is the absolute directory containing the package files.
-	// E.g. "/home/user/veyron/vdl/src/foo/bar"
+	// E.g. "/home/user/vanadium/vdl/src/foo/bar"
 	Dir string
 	// BaseFileNames is the list of sorted base vdl file names for this package.
 	// Join these with Dir to get absolute file names.
@@ -328,8 +328,8 @@
 //
 // This is slightly complicated because of dirs, and the potential for symlinks.
 // E.g. let's say we have two directories, one a symlink to the other:
-//   /home/user/release/go/src/veyron/rt/base
-//   /home/user/release/go/src/veyron/rt2     symlink to rt
+//   /home/user/go/src/foo/bar/base
+//   /home/user/go/src/foo/bar2     symlink to bar
 //
 // The problem is that if the user has cwd pointing at one of the two "base"
 // dirs and specifies a relative directory ".." it's ambiguous which absolute
diff --git a/lib/vdl/build/build_test.go b/lib/vdl/build/build_test.go
index e583a50..3a8ca5d 100644
--- a/lib/vdl/build/build_test.go
+++ b/lib/vdl/build/build_test.go
@@ -74,10 +74,10 @@
 		{"", "", nil, "Either VDLROOT or VANADIUM_ROOT must be set"},
 		{"/a", "", []string{"/a"}, ""},
 		{"/a/b/c", "", []string{"/a/b/c"}, ""},
-		{"", "/veyron", []string{"/veyron/release/go/src/v.io/v23/vdlroot"}, ""},
+		{"", "/v23", []string{"/v23/release/go/src/v.io/v23/vdlroot"}, ""},
 		{"", "/a/b/c", []string{"/a/b/c/release/go/src/v.io/v23/vdlroot"}, ""},
 		// If both VDLROOT and VANADIUM_ROOT are specified, VDLROOT takes precedence.
-		{"/a", "/veyron", []string{"/a"}, ""},
+		{"/a", "/v23", []string{"/a"}, ""},
 		{"/a/b/c", "/x/y/z", []string{"/a/b/c"}, ""},
 	}
 	for _, test := range tests {
diff --git a/lib/vdl/codegen/import.go b/lib/vdl/codegen/import.go
index 1397d42..5eb0ea0 100644
--- a/lib/vdl/codegen/import.go
+++ b/lib/vdl/codegen/import.go
@@ -15,7 +15,7 @@
 // Import represents a single package import.
 type Import struct {
 	Name string // Name of the import; may be empty.
-	Path string // Path of the imported package; e.g. "veyron/vdl"
+	Path string // Path of the imported package; e.g. "v.io/x/ref/lib/vdl/testdata/arith"
 
 	// Local name that refers to the imported package; either the non-empty import
 	// name, or the name of the imported package.
diff --git a/lib/vdl/codegen/javascript/import.go b/lib/vdl/codegen/javascript/import.go
index 6bdd5a7..37dfa8b 100644
--- a/lib/vdl/codegen/javascript/import.go
+++ b/lib/vdl/codegen/javascript/import.go
@@ -12,7 +12,7 @@
 
 // jsImport represents a single package import.
 type jsImport struct {
-	Path string // Path of the imported package; e.g. "veyron/vdl"
+	Path string // Path of the imported package; e.g. "v.io/x/ref/lib/vdl/testdata/arith"
 
 	// Local name that refers to the imported package; either the non-empty import
 	// name, or the name of the imported package.
diff --git a/lib/vdl/compile/type.go b/lib/vdl/compile/type.go
index ebe9fe8..5176e16 100644
--- a/lib/vdl/compile/type.go
+++ b/lib/vdl/compile/type.go
@@ -298,7 +298,7 @@
 }
 
 // Build actually builds each type and updates the package with the typedefs.
-// The order we call each pending type doesn't matter; the veyron2/vdl package
+// The order we call each pending type doesn't matter; the v.io/v23/vdl package
 // deals with arbitrary orders, and supports recursive types.  However we want
 // the order to be deterministic, otherwise the output will constantly change.
 // So we use the same order as the parsed file.
diff --git a/lib/vdl/testdata/arith/arith.vdl b/lib/vdl/testdata/arith/arith.vdl
index 33c1632..4d18d49 100644
--- a/lib/vdl/testdata/arith/arith.vdl
+++ b/lib/vdl/testdata/arith/arith.vdl
@@ -1,4 +1,4 @@
-// Package arith is an example of an IdL definition in veyron.  The syntax for
+// Package arith is an example of an IdL definition in vanadium.  The syntax for
 // IdL files is similar to, but not identical to, Go.  Here are the main
 // concepts:
 //   * PACKAGES - Just like in Go you must define the package at the beginning
diff --git a/lib/vdl/testdata/arith/arith.vdl.go b/lib/vdl/testdata/arith/arith.vdl.go
index 7e3cb39..e681d77 100644
--- a/lib/vdl/testdata/arith/arith.vdl.go
+++ b/lib/vdl/testdata/arith/arith.vdl.go
@@ -1,7 +1,7 @@
 // This file was auto-generated by the vanadium vdl tool.
 // Source: arith.vdl
 
-// Package arith is an example of an IdL definition in veyron.  The syntax for
+// Package arith is an example of an IdL definition in vanadium.  The syntax for
 // IdL files is similar to, but not identical to, Go.  Here are the main
 // concepts:
 //   * PACKAGES - Just like in Go you must define the package at the beginning
diff --git a/lib/vdl/vdltest/vdltest.go b/lib/vdl/vdltest/vdltest.go
index 36e3841..58820bb 100644
--- a/lib/vdl/vdltest/vdltest.go
+++ b/lib/vdl/vdltest/vdltest.go
@@ -1,4 +1,4 @@
-// Package vdltest provides testing utilities for veyron2/vdl/...
+// Package vdltest provides testing utilities for v.io/x/ref/lib/vdl/...
 package vdltest
 
 import (
diff --git a/profiles/doc.go b/profiles/doc.go
index 205cf69..003ffd7 100644
--- a/profiles/doc.go
+++ b/profiles/doc.go
@@ -1,5 +1,5 @@
 // Package Profiles, and its children, provide implementations of the
-// v23.Profile interface. These implementations should import all of the
+// v23.Profile function. These implementations should import all of the
 // packages that they require to implement Profile-specific functionality.
 //
 // The taxonomy used to organise Profiles may be arbitrary and the directory
@@ -8,12 +8,11 @@
 // hierarchy, with higher levels of the directory structure being more
 // generic and lower levels more specific.
 //
-// Profiles register themselves by calling veyron2/rt.RegisterProfile in their
+// Profiles register themselves by calling v.io/v23/rt.RegisterProfile in their
 // init function and are hence are chosen by importing them into an
 // applications main package. It is an error to import more than one profile,
 // and the registration mechanism will panic if this is attempted.
-// Commonly used functionality is placed in profiles/internal for use by
-// all profiles.
+// Commonly used functionality and pre-canned profiles are in profiles/internal.
 //
 // This top level directory contains a 'generic' Profile and utility routines
 // used by other Profiles. It should be imported whenever possible and
diff --git a/profiles/internal/naming/doc.go b/profiles/internal/naming/doc.go
index ce72738..dbf900c 100644
--- a/profiles/internal/naming/doc.go
+++ b/profiles/internal/naming/doc.go
@@ -1,2 +1,2 @@
-// Package naming provides an implementation of the interfaces in veyron2/naming.
+// Package naming provides an implementation of the interfaces in v.io/v23/naming.
 package naming
diff --git a/profiles/internal/naming/namespace/resolve.go b/profiles/internal/naming/namespace/resolve.go
index 3bd0360..adb8060 100644
--- a/profiles/internal/naming/namespace/resolve.go
+++ b/profiles/internal/naming/namespace/resolve.go
@@ -60,7 +60,7 @@
 	return len(e.Name) == 0
 }
 
-// Resolve implements veyron2/naming.Namespace.
+// Resolve implements v.io/v23/naming.Namespace.
 func (ns *namespace) Resolve(ctx *context.T, name string, opts ...naming.ResolveOpt) (*naming.MountEntry, error) {
 	defer vlog.LogCall()()
 	e, objPattern, _ := ns.rootMountEntry(name, opts...)
@@ -107,7 +107,7 @@
 	return nil, verror.New(naming.ErrResolutionDepthExceeded, ctx)
 }
 
-// ResolveToMountTable implements veyron2/naming.Namespace.
+// ResolveToMountTable implements v.io/v23/naming.Namespace.
 func (ns *namespace) ResolveToMountTable(ctx *context.T, name string, opts ...naming.ResolveOpt) (*naming.MountEntry, error) {
 	defer vlog.LogCall()()
 	e, _, _ := ns.rootMountEntry(name, opts...)
diff --git a/profiles/internal/rpc/benchmark/internal/server.go b/profiles/internal/rpc/benchmark/internal/server.go
index 5345f08..ab31c71 100644
--- a/profiles/internal/rpc/benchmark/internal/server.go
+++ b/profiles/internal/rpc/benchmark/internal/server.go
@@ -31,7 +31,7 @@
 }
 
 // StartServer starts a server that implements the Benchmark service. The
-// server listens to the given protocol and address, and returns the veyron
+// server listens to the given protocol and address, and returns the vanadium
 // address of the server and a callback function to stop the server.
 func StartServer(ctx *context.T, listenSpec rpc.ListenSpec) (string, func()) {
 	server, err := v23.NewServer(ctx)
diff --git a/profiles/internal/rpc/server.go b/profiles/internal/rpc/server.go
index c39059c..a21037e 100644
--- a/profiles/internal/rpc/server.go
+++ b/profiles/internal/rpc/server.go
@@ -989,7 +989,7 @@
 	// TODO(ashankar): Should unread data from the flow be drained?
 	//
 	// Reason to do so:
-	// The common stream.Flow implementation (veyron/profiles/internal/rpc/stream/vc/reader.go)
+	// The common stream.Flow implementation (v.io/x/ref/profiles/internal/rpc/stream/vc/reader.go)
 	// uses iobuf.Slices backed by an iobuf.Pool. If the stream is not drained, these
 	// slices will not be returned to the pool leading to possibly increased memory usage.
 	//
diff --git a/profiles/internal/rpc/stream/benchmark/RESULTS.txt b/profiles/internal/rpc/stream/benchmark/RESULTS.txt
index 15f55f9..b21759e 100644
--- a/profiles/internal/rpc/stream/benchmark/RESULTS.txt
+++ b/profiles/internal/rpc/stream/benchmark/RESULTS.txt
@@ -2,7 +2,7 @@
 Platform: Intel(R) Xeon(R) CPU E5-2689 0 @ 2.60GHz,  66114888KB Memory
 
 $ v23 go test -bench=. -cpu=1 -benchtime=5s \
-  v.io/x/ref/profiles/internal/ipc/stream/benchmark
+  v.io/x/ref/profiles/internal/rpc/stream/benchmark
 
 Benchmark_dial_VIF	  500000	     14292 ns/op
 --- Histogram (unit: s)
@@ -11,27 +11,27 @@
 	[    4,     5)  139232   27.8%   27.8%  ###
 	[    5,     6)  257818   51.6%   79.4%  #####
 	[    6,     9)   92644   18.5%   97.9%  ##
-	[    9,    15)    5963    1.2%   99.1%  
-	[   15,    28)    3162    0.6%   99.8%  
-	[   28,    53)     171    0.0%   99.8%  
-	[   53,   101)      67    0.0%   99.8%  
-	[  101,   193)       1    0.0%   99.8%  
-	[  193,   370)       0    0.0%   99.8%  
-	[  370,   708)       0    0.0%   99.8%  
-	[  708,  1354)      57    0.0%   99.8%  
-	[ 1354,  2589)     152    0.0%   99.9%  
-	[ 2589,  4949)     393    0.1%   99.9%  
-	[ 4949,  9457)     322    0.1%  100.0%  
-	[ 9457, 18069)      18    0.0%  100.0%  
-	[18069, 34520)       0    0.0%  100.0%  
-	[34520,   inf)       0    0.0%  100.0%  
+	[    9,    15)    5963    1.2%   99.1%
+	[   15,    28)    3162    0.6%   99.8%
+	[   28,    53)     171    0.0%   99.8%
+	[   53,   101)      67    0.0%   99.8%
+	[  101,   193)       1    0.0%   99.8%
+	[  193,   370)       0    0.0%   99.8%
+	[  370,   708)       0    0.0%   99.8%
+	[  708,  1354)      57    0.0%   99.8%
+	[ 1354,  2589)     152    0.0%   99.9%
+	[ 2589,  4949)     393    0.1%   99.9%
+	[ 4949,  9457)     322    0.1%  100.0%
+	[ 9457, 18069)      18    0.0%  100.0%
+	[18069, 34520)       0    0.0%  100.0%
+	[34520,   inf)       0    0.0%  100.0%
 Benchmark_dial_VIF_TLS	     500	  12594281 ns/op
 --- Histogram (unit: ms)
 	Count: 500  Min: 12  Max: 14  Avg: 12.31
 	------------------------------------------------------------
 	[ 12,  13)  352   70.4%   70.4%  #######
 	[ 13,  14)  141   28.2%   98.6%  ###
-	[ 14, inf)    7    1.4%  100.0%  
+	[ 14, inf)    7    1.4%  100.0%
 Benchmark_dial_VC_TLS	     500	  16116072 ns/op
 --- Histogram (unit: ms)
 	Count: 500  Min: 15  Max: 22  Avg: 15.53
@@ -39,11 +39,11 @@
 	[ 15,  16)  313   62.6%   62.6%  ######
 	[ 16,  17)  121   24.2%   86.8%  ##
 	[ 17,  18)   60   12.0%   98.8%  #
-	[ 18,  19)    3    0.6%   99.4%  
-	[ 19,  20)    2    0.4%   99.8%  
-	[ 20,  21)    0    0.0%   99.8%  
-	[ 21,  23)    1    0.2%  100.0%  
-	[ 23, inf)    0    0.0%  100.0%  
+	[ 18,  19)    3    0.6%   99.4%
+	[ 19,  20)    2    0.4%   99.8%
+	[ 20,  21)    0    0.0%   99.8%
+	[ 21,  23)    1    0.2%  100.0%
+	[ 23, inf)    0    0.0%  100.0%
 Benchmark_throughput_TCP_1Conn	 1000000	      9197 ns/op	5566.89 MB/s
 Benchmark_throughput_TCP_2Conns	 1000000	      9083 ns/op	5636.56 MB/s
 Benchmark_throughput_TCP_4Conns	 1000000	      9855 ns/op	5194.81 MB/s
diff --git a/profiles/internal/rpc/stream/benchmark/doc.go b/profiles/internal/rpc/stream/benchmark/doc.go
index ac84de3..7f120a9 100644
--- a/profiles/internal/rpc/stream/benchmark/doc.go
+++ b/profiles/internal/rpc/stream/benchmark/doc.go
@@ -1,7 +1,7 @@
 // Package benchmark implements some benchmarks for comparing the
-// veyron/profiles/internal/rpc/stream implementation with raw TCP connections and/or
-// pipes.
+// v.io/v23/x/ref/profiles/internal/rpc/stream implementation with raw TCP
+// connections and/or pipes.
 //
 // Sample usage:
-//	go test veyron/profiles/internal/rpc/stream/benchmark -bench=.
+//	go test v.io/v23/x/ref/profiles/internal/rpc/stream/benchmark -bench=.
 package benchmark
diff --git a/profiles/internal/rpc/stream/crypto/tls.go b/profiles/internal/rpc/stream/crypto/tls.go
index 02c3365..982c9e5 100644
--- a/profiles/internal/rpc/stream/crypto/tls.go
+++ b/profiles/internal/rpc/stream/crypto/tls.go
@@ -18,7 +18,7 @@
 var errDeadlinesNotSupported = errors.New("deadlines not supported")
 
 // TLSClientSessionCacheOpt specifies the ClientSessionCache used to resume TLS sessions.
-// It adapts tls.ClientSessionCache to the veyron/profiles/internal/rpc/stream.VCOpt interface.
+// It adapts tls.ClientSessionCache to the v.io/v23/x/ref/profiles/internal/rpc/stream.VCOpt interface.
 type TLSClientSessionCache struct{ tls.ClientSessionCache }
 
 func (TLSClientSessionCache) RPCStreamVCOpt() {}
@@ -126,12 +126,10 @@
 	if err := t.Handshake(); err != nil {
 		return nil, err
 	}
-	// Must have used Diffie-Hellman to exchange keys (so that the key
-	// selection is independent of any TLS certificates used).
-	// This helps ensure that identities exchanged during the veyron
-	// authentication protocol
-	// (http://goto.google.com/veyron:authentication) cannot be stolen and
-	// are bound to the session key established during the TLS handshake.
+	// Must have used Diffie-Hellman to exchange keys (so that the key selection
+	// is independent of any TLS certificates used). This helps ensure that
+	// identities exchanged during the vanadium authentication protocol cannot be
+	// stolen and are bound to the session key established during the TLS handshake.
 	switch cs := t.ConnectionState().CipherSuite; cs {
 	case tls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA:
 	case tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:
diff --git a/profiles/internal/rpc/stream/manager/listener.go b/profiles/internal/rpc/stream/manager/listener.go
index 19560bb..857fe3c 100644
--- a/profiles/internal/rpc/stream/manager/listener.go
+++ b/profiles/internal/rpc/stream/manager/listener.go
@@ -173,7 +173,7 @@
 	if err := vf.StartAccepting(ln.opts...); err != nil {
 		return nil, nil, fmt.Errorf("already connected to proxy and accepting connections? VIF: %v, StartAccepting error: %v", vf, err)
 	}
-	// Proxy protocol: See veyron/profiles/proxy/protocol.vdl
+	// Proxy protocol: See v.io/x/ref/profiles/internal/rpc/stream/proxy/protocol.vdl
 	vc, err := vf.Dial(ln.proxyEP, ln.principal, dialOpts...)
 	if err != nil {
 		vf.StopAccepting()
diff --git a/profiles/internal/rpc/stream/manager/manager.go b/profiles/internal/rpc/stream/manager/manager.go
index 9e13e51..a3dd24a 100644
--- a/profiles/internal/rpc/stream/manager/manager.go
+++ b/profiles/internal/rpc/stream/manager/manager.go
@@ -1,4 +1,4 @@
-// Package manager provides an implementation of the Manager interface defined in veyron/profiles/internal/rpc/stream.
+// Package manager provides an implementation of the Manager interface defined in v.io/x/ref/profiles/internal/rpc/stream.
 package manager
 
 import (
@@ -33,8 +33,8 @@
 // process is identified by the provided RoutingID.
 //
 // As the name suggests, this method is intended for use only within packages
-// placed inside veyron/profiles/internal. Code outside the
-// veyron/profiles/internal/* packages should never call this method.
+// placed inside v.io/x/ref/profiles/internal. Code outside the
+// v.io/x/ref/profiles/internal/* packages should never call this method.
 func InternalNew(rid naming.RoutingID) stream.Manager {
 	m := &manager{
 		rid:          rid,
diff --git a/profiles/internal/rpc/stream/message/message.go b/profiles/internal/rpc/stream/message/message.go
index 9c21129..49f77a6 100644
--- a/profiles/internal/rpc/stream/message/message.go
+++ b/profiles/internal/rpc/stream/message/message.go
@@ -1,6 +1,6 @@
 // Package message provides data structures and serialization/deserialization
 // methods for messages exchanged by the implementation of the
-// veyron/profiles/internal/rpc/stream interfaces in veyron/profiles/internal/rpc/stream.
+// v.io/x/ref/profiles/internal/rpc/stream interfaces.
 package message
 
 // This file contains methods to read and write messages sent over the VIF.
diff --git a/profiles/internal/rpc/stream/proxy/doc.go b/profiles/internal/rpc/stream/proxy/doc.go
index b34c833..a92dfe6 100644
--- a/profiles/internal/rpc/stream/proxy/doc.go
+++ b/profiles/internal/rpc/stream/proxy/doc.go
@@ -2,7 +2,7 @@
 //
 // Each process in vanadium is uniquely identified by a routing id
 // (naming.RoutingID). A proxy routes messages
-// (veyron/profiles/internal/rpc/stream/message) it receives on a network connection
+// (v.io/x/ref/profiles/internal/rpc/stream/message) it receives on a network connection
 // (net.Conn) to the network connection on which the destination process
 // (identified by the routing id) is listening.
 //
diff --git a/profiles/internal/rpc/stream/vc/doc.go b/profiles/internal/rpc/stream/vc/doc.go
index c3c5bb0..452480f 100644
--- a/profiles/internal/rpc/stream/vc/doc.go
+++ b/profiles/internal/rpc/stream/vc/doc.go
@@ -1,2 +1,2 @@
-// Package vc provides implementations of the VC and Flow interfaces in veyron/profiles/internal/rpc/stream.
+// Package vc provides implementations of the VC and Flow interfaces in v.io/x/ref/profiles/internal/rpc/stream.
 package vc
diff --git a/profiles/internal/rpc/stream/vc/vc.go b/profiles/internal/rpc/stream/vc/vc.go
index 9fef705..b11ed56 100644
--- a/profiles/internal/rpc/stream/vc/vc.go
+++ b/profiles/internal/rpc/stream/vc/vc.go
@@ -49,7 +49,7 @@
 // manage Flows.
 //
 // stream.Flow objects created by this stream.VC implementation use a buffer
-// queue (veyron/profiles/internal/lib/bqueue) to provide flow control on Write
+// queue (v.io/x/ref/profiles/internal/lib/bqueue) to provide flow control on Write
 // operations.
 type VC struct {
 	vci                             id.VC
@@ -160,8 +160,8 @@
 // InternalNew creates a new VC, which implements the stream.VC interface.
 //
 // As the name suggests, this method is intended for use only within packages
-// placed inside veyron/profiles/internal. Code outside the
-// veyron/profiles/internal/* packages should never call this method.
+// placed inside v.io/x/ref/profiles/internal. Code outside the
+// v.io/x/ref/profiles/internal/* packages should never call this method.
 func InternalNew(p Params) *VC {
 	fidOffset := 1
 	if p.Dialed {
diff --git a/profiles/internal/rpc/stream/vif/doc.go b/profiles/internal/rpc/stream/vif/doc.go
index b925d24..9cf06ec 100644
--- a/profiles/internal/rpc/stream/vif/doc.go
+++ b/profiles/internal/rpc/stream/vif/doc.go
@@ -1,4 +1,4 @@
 // Package vif implements a virtual network interface that wraps over a
 // net.Conn and provides the ability to Dial and Listen for virtual circuits
-// (veyron/profiles/internal/rpc/stream.VC)
+// (v.io/x/ref/profiles/internal/rpc/stream.VC)
 package vif
diff --git a/profiles/internal/rpc/stream/vif/vif.go b/profiles/internal/rpc/stream/vif/vif.go
index 69e8780..6449209 100644
--- a/profiles/internal/rpc/stream/vif/vif.go
+++ b/profiles/internal/rpc/stream/vif/vif.go
@@ -130,8 +130,8 @@
 // using net.Dial.
 //
 // As the name suggests, this method is intended for use only within packages
-// placed inside veyron/profiles/internal. Code outside the
-// veyron2/profiles/internal/* packages should never call this method.
+// placed inside v.io/x/ref/profiles/internal. Code outside the
+// v.io/x/ref/profiles/internal/* packages should never call this method.
 func InternalNewDialedVIF(conn net.Conn, rid naming.RoutingID, principal security.Principal, versions *version.Range, opts ...stream.VCOpt) (*VIF, error) {
 	ctx, principal, err := clientAuthOptions(principal, opts)
 	if err != nil {
@@ -170,8 +170,8 @@
 // ListenerOpts.
 //
 // As the name suggests, this method is intended for use only within packages
-// placed inside veyron/profiles/internal. Code outside the
-// veyron/profiles/internal/* packages should never call this method.
+// placed inside v.io/x/ref/profiles/internal. Code outside the
+// v.io/x/ref/profiles/internal/* packages should never call this method.
 func InternalNewAcceptedVIF(conn net.Conn, rid naming.RoutingID, principal security.Principal, blessings security.Blessings, versions *version.Range, lopts ...stream.ListenerOpt) (*VIF, error) {
 	pool := iobuf.NewPool(0)
 	reader := iobuf.NewReader(pool, conn)
diff --git a/profiles/internal/rt/rt_test.go b/profiles/internal/rt/rt_test.go
index 8000b47..5fe8ad0 100644
--- a/profiles/internal/rt/rt_test.go
+++ b/profiles/internal/rt/rt_test.go
@@ -33,7 +33,7 @@
 	l := vlog.Log
 	fmt.Println(l)
 	args := fmt.Sprintf("%s", l)
-	expected := regexp.MustCompile("name=veyron logdirs=\\[/tmp\\] logtostderr=true|false alsologtostderr=false|true max_stack_buf_size=4292608 v=[0-9] stderrthreshold=2 vmodule= log_backtrace_at=:0")
+	expected := regexp.MustCompile("name=vanadium logdirs=\\[/tmp\\] logtostderr=true|false alsologtostderr=false|true max_stack_buf_size=4292608 v=[0-9] stderrthreshold=2 vmodule= log_backtrace_at=:0")
 	if !expected.MatchString(args) {
 		t.Errorf("unexpected default args: %s", args)
 	}
@@ -74,7 +74,7 @@
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
-	h.Expect(fmt.Sprintf("name=veyron "+
+	h.Expect(fmt.Sprintf("name=vanadium "+
 		"logdirs=[%s] "+
 		"logtostderr=true "+
 		"alsologtostderr=true "+
diff --git a/profiles/internal/vtrace/vtrace.go b/profiles/internal/vtrace/vtrace.go
index e99ea95..5fe0e22 100644
--- a/profiles/internal/vtrace/vtrace.go
+++ b/profiles/internal/vtrace/vtrace.go
@@ -1,4 +1,4 @@
-// Package vtrace implements the Trace and Span interfaces in veyron2/vtrace.
+// Package vtrace implements the Trace and Span interfaces in v.io/v23/vtrace.
 // We also provide internal utilities for migrating trace information across
 // RPC calls.
 package vtrace
diff --git a/security/GO.PACKAGE b/security/GO.PACKAGE
index d5e1168..0bfdb86 100644
--- a/security/GO.PACKAGE
+++ b/security/GO.PACKAGE
@@ -2,7 +2,7 @@
 	"dependencies": {
 		"incoming": [
 			{"allow": "v.io/x/ref/security/..."},
-			{"allow": "...", "comment": "dependencies on veyron/security are temporarily allowed"}
+			{"allow": "...", "comment": "dependencies on v.io/x/ref/security are temporarily allowed"}
 		]
 	}
 }
diff --git a/security/blessingroots_test.go b/security/blessingroots_test.go
index 143ccec..996d399 100644
--- a/security/blessingroots_test.go
+++ b/security/blessingroots_test.go
@@ -27,7 +27,7 @@
 		root    security.PublicKey
 		pattern security.BlessingPattern
 	}{
-		{t[0], "veyron"},
+		{t[0], "vanadium"},
 		{t[1], "google/foo"},
 		{t[0], "google/$"},
 	}
@@ -47,18 +47,18 @@
 	}{
 		{
 			root:          t[0],
-			recognized:    []string{"veyron", "veyron/foo", "veyron/foo/bar", "google"},
+			recognized:    []string{"vanadium", "vanadium/foo", "vanadium/foo/bar", "google"},
 			notRecognized: []string{"google/foo", "foo", "foo/bar"},
 		},
 		{
 			root:          t[1],
 			recognized:    []string{"google/foo", "google/foo/bar"},
-			notRecognized: []string{"google", "google/bar", "veyron", "veyron/foo", "foo", "foo/bar"},
+			notRecognized: []string{"google", "google/bar", "vanadium", "vanadium/foo", "foo", "foo/bar"},
 		},
 		{
 			root:          t[2],
 			recognized:    []string{},
-			notRecognized: []string{"veyron", "veyron/foo", "veyron/bar", "google", "google/foo", "google/bar", "foo", "foo/bar"},
+			notRecognized: []string{"vanadium", "vanadium/foo", "vanadium/bar", "google", "google/foo", "google/bar", "foo", "foo/bar"},
 		},
 	}
 	for _, d := range testdata {
diff --git a/security/flag/flag_test.go b/security/flag/flag_test.go
index 4e9c29b..8f179d4 100644
--- a/security/flag/flag_test.go
+++ b/security/flag/flag_test.go
@@ -22,10 +22,10 @@
 	acl1 = access.Permissions{}
 	acl2 = access.Permissions{
 		string(access.Read): access.AccessList{
-			In: []security.BlessingPattern{"veyron/alice/$", "veyron/bob"},
+			In: []security.BlessingPattern{"v23/alice/$", "v23/bob"},
 		},
 		string(access.Write): access.AccessList{
-			In: []security.BlessingPattern{"veyron/alice/$"},
+			In: []security.BlessingPattern{"v23/alice/$"},
 		},
 	}
 
@@ -86,7 +86,7 @@
 		},
 		{
 			cmd:   "tamFromFlag",
-			flags: []string{"--veyron.acl.literal", `{"Read": {"In":["veyron/alice/$", "veyron/bob"]}, "Write": {"In":["veyron/alice/$"]}}`},
+			flags: []string{"--veyron.acl.literal", `{"Read": {"In":["v23/alice/$", "v23/bob"]}, "Write": {"In":["v23/alice/$"]}}`},
 			auth:  "acl2",
 		},
 	}
diff --git a/services/GO.PACKAGE b/services/GO.PACKAGE
index 7ff1b13..00b927c 100644
--- a/services/GO.PACKAGE
+++ b/services/GO.PACKAGE
@@ -5,7 +5,7 @@
 			{"allow": "v.io/x/ref/test/modules/core", "comment":"temporarily allowing dependency from lib"},
 			{"allow": "v.io/x/ref/lib/...", "comment":"temporarily allowing dependency from lib"},
 			{"allow": "v.io/x/ref/profiles/...", "comment":"temporarily allowing dependency from profiles"},
-			{"allow": "v.io/x/ref/cmd/...", "comment":"temporarily allowing dependency from veyron/tools"},
+			{"allow": "v.io/x/ref/cmd/...", "comment":"temporarily allowing dependency from v.io/x/ref/cmd"},
 			{"deny": "..."}
 		]
 	}
diff --git a/services/identity/oauth/handler.go b/services/identity/oauth/handler.go
index 5ccc3cc..2fe7778 100644
--- a/services/identity/oauth/handler.go
+++ b/services/identity/oauth/handler.go
@@ -6,7 +6,7 @@
 //     The client calls the /listblessings route which redirects to listblessingscallback which
 //     renders the list.
 // (2) Performs the oauth flow for seeking a blessing using the principal tool
-//     located at veyron/tools/principal.
+//     located at v.io/x/ref/cmd/principal.
 //     The seek blessing flow works as follows:
 //     (a) Client (principal tool) hits the /seekblessings route.
 //     (b) /seekblessings performs oauth with a redirect to /seekblessingscallback.
diff --git a/services/mgmt/application/impl/acl_test.go b/services/mgmt/application/impl/acl_test.go
index 05e7022..d815ffb 100644
--- a/services/mgmt/application/impl/acl_test.go
+++ b/services/mgmt/application/impl/acl_test.go
@@ -104,7 +104,7 @@
 	envelopeV1 := application.Envelope{
 		Args:   []string{"--help"},
 		Env:    []string{"DEBUG=1"},
-		Binary: application.SignedFile{File: "/veyron/name/of/binary"},
+		Binary: application.SignedFile{File: "/v23/name/of/binary"},
 	}
 
 	// Envelope putting as other should fail.
@@ -230,7 +230,7 @@
 	envelopeV1 := application.Envelope{
 		Args:   []string{"--help"},
 		Env:    []string{"DEBUG=1"},
-		Binary: application.SignedFile{File: "/veyron/name/of/binary"},
+		Binary: application.SignedFile{File: "/v23/name/of/binary"},
 	}
 
 	vlog.VI(2).Info("Upload an envelope")
diff --git a/services/mgmt/application/impl/impl_test.go b/services/mgmt/application/impl/impl_test.go
index 98701f7..80e1ace 100644
--- a/services/mgmt/application/impl/impl_test.go
+++ b/services/mgmt/application/impl/impl_test.go
@@ -72,7 +72,7 @@
 		Args: []string{"--help"},
 		Env:  []string{"DEBUG=1"},
 		Binary: application.SignedFile{
-			File:      "/veyron/name/of/binary",
+			File:      "/v23/name/of/binary",
 			Signature: sig,
 		},
 		Publisher: blessings,
@@ -81,7 +81,7 @@
 		Args: []string{"--verbose"},
 		Env:  []string{"DEBUG=0"},
 		Binary: application.SignedFile{
-			File:      "/veyron/name/of/binary",
+			File:      "/v23/name/of/binary",
 			Signature: sig,
 		},
 		Publisher: blessings,
@@ -209,7 +209,7 @@
 		Args: []string{"--help"},
 		Env:  []string{"DEBUG=1"},
 		Binary: application.SignedFile{
-			File:      "/veyron/name/of/binary",
+			File:      "/v23/name/of/binary",
 			Signature: sig,
 		},
 		Publisher: blessings,
diff --git a/services/mgmt/binary/impl/impl_test.go b/services/mgmt/binary/impl/impl_test.go
index 5be4df2..9278ba0 100644
--- a/services/mgmt/binary/impl/impl_test.go
+++ b/services/mgmt/binary/impl/impl_test.go
@@ -25,7 +25,7 @@
 )
 
 const (
-	veyronPrefix = "veyron_binary_repository"
+	v23Prefix = "vanadium_binary_repository"
 )
 
 // startServer starts the binary repository server.
diff --git a/services/mgmt/device/doc.go b/services/mgmt/device/doc.go
index af2dfc7..f996f73 100644
--- a/services/mgmt/device/doc.go
+++ b/services/mgmt/device/doc.go
@@ -1,4 +1,4 @@
-// Package device contains the implementation for the veyron2/mgmt/device APIs.
+// Package device contains the implementation for the v.io/v23//mgmt/device APIs.
 //
 // The device manager is a server that is expected to run on every
 // Vanadium-enabled device, and it handles both device management and management
diff --git a/services/mgmt/device/impl/device_installer.go b/services/mgmt/device/impl/device_installer.go
index 618b172..c7539e4 100644
--- a/services/mgmt/device/impl/device_installer.go
+++ b/services/mgmt/device/impl/device_installer.go
@@ -251,7 +251,7 @@
 	// close enough to Bash that we're using it as an approximation.
 	//
 	// TODO(caprita/rthellend): expose and use shellEscape (from
-	// veyron/tools/debug/impl.go) instead.
+	// v.io/x/ref/cmd/debug/impl.go) instead.
 	output += fmt.Sprintf("exec %q --log_dir=%q ", agent, logs)
 	if singleUser {
 		output += "--no_passphrase "
diff --git a/services/mgmt/device/impl/device_service.go b/services/mgmt/device/impl/device_service.go
index 784d029..3e08108 100644
--- a/services/mgmt/device/impl/device_service.go
+++ b/services/mgmt/device/impl/device_service.go
@@ -458,7 +458,7 @@
 	// close enough to Bash that we're using it as an approximation.
 	//
 	// TODO(caprita/rthellend): expose and use shellEscape (from
-	// veyron/tools/debug/impl.go) instead.
+	// v.io/x/ref/cmd/debug/impl.go) instead.
 	output += fmt.Sprintf("exec %q", filepath.Join(workspace, "deviced")) + " "
 	output += fmt.Sprintf("--log_dir=%q ", logs)
 	output += "--logtostderr=${LOG_TO_STDERR} "
diff --git a/services/mgmt/lib/acls/etag.go b/services/mgmt/lib/acls/etag.go
index beb428d..52ebb99 100644
--- a/services/mgmt/lib/acls/etag.go
+++ b/services/mgmt/lib/acls/etag.go
@@ -11,7 +11,7 @@
 )
 
 // ComputeEtag produces the tag value returned by access.GetPermissions() (per
-// veyron2/services/security/access/service.vdl) that GetPermissions()/SetPermissions()
+// v.io/v23/services/security/access/service.vdl) that GetPermissions()/SetPermissions()
 // use to determine if the AccessLists have been asynchronously modified.
 func ComputeEtag(acl access.Permissions) (string, error) {
 	b := new(bytes.Buffer)
diff --git a/services/mgmt/lib/binary/impl_test.go b/services/mgmt/lib/binary/impl_test.go
index 58f90c0..3456327 100644
--- a/services/mgmt/lib/binary/impl_test.go
+++ b/services/mgmt/lib/binary/impl_test.go
@@ -24,12 +24,12 @@
 //go:generate v23 test generate
 
 const (
-	veyronPrefix = "veyron_binary_repository"
+	v23Prefix = "vanadium_binary_repository"
 )
 
 func setupRepository(t *testing.T, ctx *context.T) (string, func()) {
 	// Setup the root of the binary repository.
-	rootDir, err := ioutil.TempDir("", veyronPrefix)
+	rootDir, err := ioutil.TempDir("", v23Prefix)
 	if err != nil {
 		t.Fatalf("TempDir() failed: %v", err)
 	}
diff --git a/services/mgmt/lib/fs/simplestore_test.go b/services/mgmt/lib/fs/simplestore_test.go
index 5069472..01789bf 100644
--- a/services/mgmt/lib/fs/simplestore_test.go
+++ b/services/mgmt/lib/fs/simplestore_test.go
@@ -110,12 +110,12 @@
 	envelope := application.Envelope{
 		Args:   []string{"--help"},
 		Env:    []string{"DEBUG=1"},
-		Binary: application.SignedFile{File: "/veyron/name/of/binary"},
+		Binary: application.SignedFile{File: "/v23/name/of/binary"},
 	}
 	secondEnvelope := application.Envelope{
 		Args:   []string{"--save"},
 		Env:    []string{"VEYRON=42"},
-		Binary: application.SignedFile{File: "/veyron/name/of/binary/is/memstored"},
+		Binary: application.SignedFile{File: "/v23/name/of/binary/is/memstored"},
 	}
 
 	// TRANSACTION BEGIN
@@ -386,7 +386,7 @@
 	envelope := application.Envelope{
 		Args:   []string{"--help"},
 		Env:    []string{"DEBUG=1"},
-		Binary: application.SignedFile{File: "/veyron/name/of/binary"},
+		Binary: application.SignedFile{File: "/v23/name/of/binary"},
 	}
 
 	// TRANSACTION BEGIN
@@ -467,7 +467,7 @@
 	envelope := application.Envelope{
 		Args:   []string{"--help"},
 		Env:    []string{"DEBUG=1"},
-		Binary: application.SignedFile{File: "/veyron/name/of/binary"},
+		Binary: application.SignedFile{File: "/v23/name/of/binary"},
 	}
 
 	// TRANSACTION BEGIN
diff --git a/services/mgmt/logreader/impl/logfile.go b/services/mgmt/logreader/impl/logfile.go
index 065d26b..8a9badb 100644
--- a/services/mgmt/logreader/impl/logfile.go
+++ b/services/mgmt/logreader/impl/logfile.go
@@ -1,6 +1,6 @@
 // Package impl implements the LogFile interface from
-// veyron2/services/mgmt/logreader, which can be used to allow remote access to
-// log files, and the Globbable interface from veyron2/services/mounttable to
+// v.io/v23/services/mgmt/logreader, which can be used to allow remote access to
+// log files, and the Globbable interface from v.io/v23/services/mounttable to
 // find the files in a logs directory.
 package impl
 
diff --git a/services/mgmt/stats/impl/stats.go b/services/mgmt/stats/impl/stats.go
index 1f6f203..b08c43d 100644
--- a/services/mgmt/stats/impl/stats.go
+++ b/services/mgmt/stats/impl/stats.go
@@ -1,5 +1,5 @@
 // Package impl implements the Stats interface from
-// veyron2/services/mgmt/stats.
+// v.io/v23/services/mgmt/stats.
 package impl
 
 import (
diff --git a/services/mgmt/suidhelper/impl/args_test.go b/services/mgmt/suidhelper/impl/args_test.go
index e1519f6..acbf10d 100644
--- a/services/mgmt/suidhelper/impl/args_test.go
+++ b/services/mgmt/suidhelper/impl/args_test.go
@@ -41,7 +41,7 @@
 
 		{
 			[]string{"setuidhelper", "--minuid", "1", "--username", testUserName, "--workspace", "/hello",
-				"--logdir", "/logging", "--run", "/bin/veyron", "--", "one", "two"},
+				"--logdir", "/logging", "--run", "/bin/v23", "--", "one", "two"},
 			[]string{"A=B"},
 			nil,
 			WorkParameters{
@@ -49,7 +49,7 @@
 				gid:       testGid,
 				workspace: "/hello",
 				logDir:    "/logging",
-				argv0:     "/bin/veyron",
+				argv0:     "/bin/v23",
 				argv:      []string{"unnamed_app", "one", "two"},
 				envv:      []string{"A=B"},
 				dryrun:    false,
@@ -87,8 +87,8 @@
 		},
 
 		{
-			[]string{"setuidhelper", "--minuid", "1", "--username", testUserName, "--workspace", "/hello", "--progname", "binaryd/veyron/app/testapp",
-				"--logdir", "/logging", "--run", "/bin/veyron", "--dryrun", "--", "one", "two"},
+			[]string{"setuidhelper", "--minuid", "1", "--username", testUserName, "--workspace", "/hello", "--progname", "binaryd/vanadium/app/testapp",
+				"--logdir", "/logging", "--run", "/bin/v23", "--dryrun", "--", "one", "two"},
 			[]string{"A=B"},
 			nil,
 			WorkParameters{
@@ -96,8 +96,8 @@
 				gid:       testGid,
 				workspace: "/hello",
 				logDir:    "/logging",
-				argv0:     "/bin/veyron",
-				argv:      []string{"binaryd/veyron/app/testapp", "one", "two"},
+				argv0:     "/bin/v23",
+				argv:      []string{"binaryd/vanadium/app/testapp", "one", "two"},
 				envv:      []string{"A=B"},
 				dryrun:    true,
 				remove:    false,
diff --git a/services/mounttable/lib/mounttable.go b/services/mounttable/lib/mounttable.go
index a1b6a34..55b6835 100644
--- a/services/mounttable/lib/mounttable.go
+++ b/services/mounttable/lib/mounttable.go
@@ -76,7 +76,7 @@
 //
 // aclfile is a JSON-encoded mapping from paths in the mounttable to the
 // access.Permissions for that path. The tags used in the map are the typical
-// access tags (the Tag type defined in veyron2/services/security/access).
+// access tags (the Tag type defined in v.io/v23/services/security/access).
 func NewMountTableDispatcher(aclfile string) (rpc.Dispatcher, error) {
 	mt := &mountTable{
 		root: new(node),
@@ -669,7 +669,7 @@
 // Glob finds matches in the namespace.  If we reach a mount point before matching the
 // whole pattern, return that mount point.
 //
-// pattern is a glob pattern as defined by the veyron/lib/glob package.
+// pattern is a glob pattern as defined by the v.io/x/ref/lib/glob package.
 //
 // To avoid livelocking an application, Glob grabs and releases locks as it descends the tree
 // and holds no locks while writing to the channel.  As such a glob can interleave with other
diff --git a/services/mounttable/lib/neighborhood.go b/services/mounttable/lib/neighborhood.go
index e5f0aa9..5b40f45 100644
--- a/services/mounttable/lib/neighborhood.go
+++ b/services/mounttable/lib/neighborhood.go
@@ -92,8 +92,8 @@
 		return nil, err
 	}
 	vlog.VI(2).Infof("listening for service vanadium on port %d", port)
-	mdns.SubscribeToService("veyron")
-	mdns.AddService("veyron", "", port, txt...)
+	mdns.SubscribeToService("vanadium")
+	mdns.AddService("vanadium", "", port, txt...)
 
 	nh := &neighborhood{
 		mdns: mdns,
@@ -163,7 +163,7 @@
 func (nh *neighborhood) neighbor(instance string) []naming.MountedServer {
 	now := time.Now()
 	var reply []naming.MountedServer
-	si := nh.mdns.ResolveInstance(instance, "veyron")
+	si := nh.mdns.ResolveInstance(instance, "vanadium")
 
 	// Use a map to dedup any addresses seen
 	addrMap := make(map[string]vdltime.Deadline)
@@ -206,7 +206,7 @@
 // neighbors returns all neighbors and their MountedServer structs.
 func (nh *neighborhood) neighbors() map[string][]naming.MountedServer {
 	neighbors := make(map[string][]naming.MountedServer, 0)
-	members := nh.mdns.ServiceDiscovery("veyron")
+	members := nh.mdns.ServiceDiscovery("vanadium")
 	for _, m := range members {
 		if neighbor := nh.neighbor(m.Name); neighbor != nil {
 			neighbors[m.Name] = neighbor
diff --git a/services/wsprd/browspr/browspr.go b/services/wsprd/browspr/browspr.go
index 74b722d..9a75359 100644
--- a/services/wsprd/browspr/browspr.go
+++ b/services/wsprd/browspr/browspr.go
@@ -16,8 +16,8 @@
 	"v.io/x/ref/services/wsprd/principal"
 )
 
-// Browspr is an intermediary between our javascript code and the veyron
-// network that allows our javascript library to use veyron.
+// Browspr is an intermediary between our javascript code and the vanadium
+// network that allows our javascript library to use vanadium.
 type Browspr struct {
 	ctx              *context.T
 	listenSpec       *rpc.ListenSpec
diff --git a/services/wsprd/lib/signature_manager_test.go b/services/wsprd/lib/signature_manager_test.go
index 69fcee3..66a0ac8 100644
--- a/services/wsprd/lib/signature_manager_test.go
+++ b/services/wsprd/lib/signature_manager_test.go
@@ -14,7 +14,7 @@
 )
 
 const (
-	name = "/veyron/name"
+	name = "/vanadium/name"
 )
 
 func initContext(t *testing.T) (*context.T, clientWithTimesCalled, v23.Shutdown) {
diff --git a/test/modules/core/test_identityd.go b/test/modules/core/test_identityd.go
index 6aa3cd1..1bcf4d8 100644
--- a/test/modules/core/test_identityd.go
+++ b/test/modules/core/test_identityd.go
@@ -80,9 +80,9 @@
 
 	l := v23.GetListenSpec(ctx)
 
-	_, veyronEPs, externalHttpaddress := s.Listen(ctx, &l, *host, *httpaddr, *tlsconfig)
+	_, eps, externalHttpaddress := s.Listen(ctx, &l, *host, *httpaddr, *tlsconfig)
 
-	fmt.Fprintf(stdout, "TEST_IDENTITYD_NAME=%s\n", veyronEPs[0])
+	fmt.Fprintf(stdout, "TEST_IDENTITYD_NAME=%s\n", eps[0])
 	fmt.Fprintf(stdout, "TEST_IDENTITYD_HTTP_ADDR=%s\n", externalHttpaddress)
 
 	modules.WaitForEOF(stdin)
diff --git a/test/security/util.go b/test/security/util.go
index eecbb44..518fca3 100644
--- a/test/security/util.go
+++ b/test/security/util.go
@@ -1,5 +1,5 @@
 // Package security contains utility testing functions related to
-// veyron2/security.
+// v.io/v23/security.
 //
 // Suggested Usage:
 //
