Fixes visibilities on some rules and a typo in documentation.
diff --git a/g3doc/design.md b/g3doc/design.md
index 62a1f71..9c6093e 100644
--- a/g3doc/design.md
+++ b/g3doc/design.md
@@ -8,9 +8,9 @@
 The Emboss compiler is divided into separate "front end" and "back end"
 programs.  The front end parses Emboss files (`.emb` files) and produces a
 stable intermediate representation (IR), which is consumed by the back ends.
-This IR is defined in [public/ir_pb2.py][ir_pb2.py].
+This IR is defined in [public/ir_pb2.py][ir_pb2_py].
 
-[ir_pb]: public/ir_pb2.py
+[ir_pb_py]: public/ir_pb2.py
 
 The back ends read the IR and emit code to view and manipulate Emboss-defined
 data structures.  Currently, only a C++ back-end exists.
diff --git a/public/BUILD b/public/BUILD
index 0f67905..dc08030 100644
--- a/public/BUILD
+++ b/public/BUILD
@@ -22,7 +22,7 @@
 py_library(
     name = "ir_pb2",
     srcs = ["ir_pb2.py"],
-    visibility = ["//visibility:public"],
+    visibility = ["//:__subpackages__"],
 )
 
 filegroup(
@@ -42,7 +42,7 @@
         "emboss_text_util.h",
         "emboss_view_parameters.h",
     ],
-    visibility = ["//visibility:public"],
+    visibility = ["//:__subpackages__"],
 )
 
 cc_library(