diff --git a/metropolis/proto/common/BUILD.bazel b/metropolis/proto/common/BUILD.bazel
index 05c4995..10f7f84 100644
--- a/metropolis/proto/common/BUILD.bazel
+++ b/metropolis/proto/common/BUILD.bazel
@@ -7,6 +7,7 @@
     srcs = ["common.proto"],
     visibility = ["//metropolis:__subpackages__"],
     deps = [
+        "//metropolis/pkg/logtree/proto:proto_proto",
         "//version/spec:spec_proto",
         "@com_google_protobuf//:timestamp_proto",
     ],
@@ -17,7 +18,10 @@
     importpath = "source.monogon.dev/metropolis/proto/common",
     proto = ":common_proto",
     visibility = ["//metropolis:__subpackages__"],
-    deps = ["//version/spec"],
+    deps = [
+        "//metropolis/pkg/logtree/proto",
+        "//version/spec",
+    ],
 )
 
 go_library(
diff --git a/metropolis/proto/common/common.proto b/metropolis/proto/common/common.proto
index 653b0d2..b870d20 100644
--- a/metropolis/proto/common/common.proto
+++ b/metropolis/proto/common/common.proto
@@ -21,6 +21,8 @@
 import "google/protobuf/timestamp.proto";
 import "version/spec/spec.proto";
 
+import "metropolis/pkg/logtree/proto/logtree.proto";
+
 // NodeRoles are the possible roles that a Metropolis Node should run within the
 // cluster. These are configured by the cluster and can be retrieved through the
 // Curator.
@@ -196,15 +198,6 @@
     repeated Prefix prefixes = 2;
 }
 
-// Severity level corresponding to //metropolis/pkg/logtree.Severity.
-enum LeveledLogSeverity {
-    INVALID = 0;
-    INFO = 1;
-    WARNING = 2;
-    ERROR = 3;
-    FATAL = 4;
-}
-
 // Filter set when requesting logs for a given DN. This message is equivalent to
 // the following GADT enum:
 // data LogFilter = WithChildren
@@ -231,7 +224,7 @@
     // If leveled logs are returned, all entries at severity lower than `minimum`
     // will be discarded.
     message LeveledWithMinimumSeverity {
-        LeveledLogSeverity minimum = 1;
+        metropolis.pkg.logtree.proto.LeveledLogSeverity minimum = 1;
     }
     oneof filter {
         WithChildren with_children = 1;
@@ -241,34 +234,6 @@
     }
 }
 
-// LogEntry corresponding to logtree.LogEntry in //metropolis/pkg/logtree.
-message LogEntry {
-    // A leveled log entry emitted from a compatible system, eg. Metorpolis code
-    // or a klog-parsed line.
-    message Leveled {
-        repeated string lines = 1;
-        google.protobuf.Timestamp timestamp = 2;
-        LeveledLogSeverity severity = 3;
-        // Source of the error, expressed as file:line.
-        string location = 4;
-    }
-    // Raw log entry, captured from an external system without parting. Might
-    // contain some timestamp/level/origin information embedded in data. Data
-    // contained within should be treated as unsanitized external data.
-    message Raw {
-        string data = 1;
-        // Original length of line, set if data was truncated.
-        int64 original_length = 2;
-    }
-
-    // Origin DN.
-    string dn = 1;
-    oneof kind {
-        Leveled leveled = 2;
-        Raw raw = 3;
-    }
-}
-
 // ClusterConfiguration contains the entirety of the user-configurable behaviour
 // of the cluster that is scoped to the entirety of the cluster (vs. per-node
 // configuration, which is kept alongside Node).
