diff --git a/app/appengine/app.yaml b/app/appengine/app.yaml
index 6a84ec4..efbdf1e 100644
--- a/app/appengine/app.yaml
+++ b/app/appengine/app.yaml
@@ -5,10 +5,6 @@
   - url: /static
     static_dir: app/appengine/static
     secure: always
-  - url: /init
-    script: auto
-    login: admin
-    secure: always
   - url: /.*
     script: auto
     secure: always
diff --git a/app/appengine/dash.go b/app/appengine/dash.go
index 0e84386..39de722 100644
--- a/app/appengine/dash.go
+++ b/app/appengine/dash.go
@@ -18,12 +18,15 @@
 	handleFunc("/init", initHandler)
 
 	// authenticated handlers
-	handleFunc("/building", AuthHandler(buildingHandler))
-	handleFunc("/clear-results", AuthHandler(clearResultsHandler))
-	handleFunc("/commit", AuthHandler(commitHandler))
-	handleFunc("/packages", AuthHandler(packagesHandler))
-	handleFunc("/result", AuthHandler(resultHandler))
-	handleFunc("/tag", AuthHandler(tagHandler))
+	handleFunc("/building", AuthHandler(buildingHandler))          // called by coordinator during builds
+	handleFunc("/clear-results", AuthHandler(clearResultsHandler)) // called by x/build/cmd/retrybuilds
+	handleFunc("/result", AuthHandler(resultHandler))              // called by coordinator after build
+
+	// TODO: once we use maintner for finding the git history
+	// instead of having gitmirror mirror it into the dashboard,
+	// then we can delete these two handlers:
+	handleFunc("/commit", AuthHandler(commitHandler))     // called by gitmirror
+	handleFunc("/packages", AuthHandler(packagesHandler)) // called by gitmirror
 
 	// public handlers
 	handleFunc("/", uiHandler)
diff --git a/app/appengine/handler.go b/app/appengine/handler.go
index c60335a..1fb75c1 100644
--- a/app/appengine/handler.go
+++ b/app/appengine/handler.go
@@ -205,29 +205,6 @@
 	return nil
 }
 
-// tagHandler records a new tag. It reads a JSON-encoded Tag value from the
-// request body and updates the Tag entity for the Kind of tag provided.
-//
-// This handler is used by a gobuilder process in -commit mode.
-func tagHandler(r *http.Request) (interface{}, error) {
-	if r.Method != "POST" {
-		return nil, errBadMethod(r.Method)
-	}
-
-	t := new(Tag)
-	defer r.Body.Close()
-	if err := json.NewDecoder(r.Body).Decode(t); err != nil {
-		return nil, err
-	}
-	if err := t.Valid(); err != nil {
-		return nil, err
-	}
-	c := contextForRequest(r)
-	defer cache.Tick(c)
-	_, err := datastore.Put(c, t.Key(c), t)
-	return nil, err
-}
-
 // packagesHandler returns a list of the non-Go Packages monitored
 // by the dashboard.
 func packagesHandler(r *http.Request) (interface{}, error) {
