diff --git a/metropolis/pkg/logbuffer/BUILD.bazel b/metropolis/pkg/logbuffer/BUILD.bazel
index e890df8..8433802 100644
--- a/metropolis/pkg/logbuffer/BUILD.bazel
+++ b/metropolis/pkg/logbuffer/BUILD.bazel
@@ -8,7 +8,7 @@
     ],
     importpath = "source.monogon.dev/metropolis/pkg/logbuffer",
     visibility = ["//metropolis:__subpackages__"],
-    deps = ["//metropolis/proto/common"],
+    deps = ["//metropolis/pkg/logtree/proto"],
 )
 
 go_test(
diff --git a/metropolis/pkg/logbuffer/linebuffer.go b/metropolis/pkg/logbuffer/linebuffer.go
index 92b70e9..3892e0c 100644
--- a/metropolis/pkg/logbuffer/linebuffer.go
+++ b/metropolis/pkg/logbuffer/linebuffer.go
@@ -22,7 +22,7 @@
 	"strings"
 	"sync"
 
-	cpb "source.monogon.dev/metropolis/proto/common"
+	lpb "source.monogon.dev/metropolis/pkg/logtree/proto"
 )
 
 // Line is a line stored in the log buffer - a string, that has been perhaps
@@ -47,15 +47,15 @@
 }
 
 // ProtoLog returns a Logging-specific protobuf structure.
-func (l *Line) ProtoLog() *cpb.LogEntry_Raw {
-	return &cpb.LogEntry_Raw{
+func (l *Line) ProtoLog() *lpb.LogEntry_Raw {
+	return &lpb.LogEntry_Raw{
 		Data:           l.Data,
 		OriginalLength: int64(l.OriginalLength),
 	}
 }
 
 // LineFromLogProto converts a Logging-specific protobuf message back into a Line.
-func LineFromLogProto(raw *cpb.LogEntry_Raw) (*Line, error) {
+func LineFromLogProto(raw *lpb.LogEntry_Raw) (*Line, error) {
 	if raw.OriginalLength < int64(len(raw.Data)) {
 		return nil, fmt.Errorf("original_length smaller than length of data")
 	}
diff --git a/metropolis/pkg/logtree/BUILD.bazel b/metropolis/pkg/logtree/BUILD.bazel
index 595e8cf..a2f86ad 100644
--- a/metropolis/pkg/logtree/BUILD.bazel
+++ b/metropolis/pkg/logtree/BUILD.bazel
@@ -24,7 +24,7 @@
     visibility = ["//visibility:public"],
     deps = [
         "//metropolis/pkg/logbuffer",
-        "//metropolis/proto/common",
+        "//metropolis/pkg/logtree/proto",
         "@com_github_mitchellh_go_wordwrap//:go-wordwrap",
         "@org_golang_google_grpc//grpclog",
         "@org_golang_google_protobuf//types/known/timestamppb",
diff --git a/metropolis/pkg/logtree/leveled.go b/metropolis/pkg/logtree/leveled.go
index 5c57222..0facbb1 100644
--- a/metropolis/pkg/logtree/leveled.go
+++ b/metropolis/pkg/logtree/leveled.go
@@ -19,7 +19,7 @@
 import (
 	"fmt"
 
-	cpb "source.monogon.dev/metropolis/proto/common"
+	lpb "source.monogon.dev/metropolis/pkg/logtree/proto"
 )
 
 // LeveledLogger is a generic interface for glog-style logging. There are four
@@ -144,32 +144,32 @@
 	}
 }
 
-func SeverityFromProto(s cpb.LeveledLogSeverity) (Severity, error) {
+func SeverityFromProto(s lpb.LeveledLogSeverity) (Severity, error) {
 	switch s {
-	case cpb.LeveledLogSeverity_INFO:
+	case lpb.LeveledLogSeverity_INFO:
 		return INFO, nil
-	case cpb.LeveledLogSeverity_WARNING:
+	case lpb.LeveledLogSeverity_WARNING:
 		return WARNING, nil
-	case cpb.LeveledLogSeverity_ERROR:
+	case lpb.LeveledLogSeverity_ERROR:
 		return ERROR, nil
-	case cpb.LeveledLogSeverity_FATAL:
+	case lpb.LeveledLogSeverity_FATAL:
 		return FATAL, nil
 	default:
 		return "", fmt.Errorf("unknown severity value %d", s)
 	}
 }
 
-func (s Severity) ToProto() cpb.LeveledLogSeverity {
+func (s Severity) ToProto() lpb.LeveledLogSeverity {
 	switch s {
 	case INFO:
-		return cpb.LeveledLogSeverity_INFO
+		return lpb.LeveledLogSeverity_INFO
 	case WARNING:
-		return cpb.LeveledLogSeverity_WARNING
+		return lpb.LeveledLogSeverity_WARNING
 	case ERROR:
-		return cpb.LeveledLogSeverity_ERROR
+		return lpb.LeveledLogSeverity_ERROR
 	case FATAL:
-		return cpb.LeveledLogSeverity_FATAL
+		return lpb.LeveledLogSeverity_FATAL
 	default:
-		return cpb.LeveledLogSeverity_INVALID
+		return lpb.LeveledLogSeverity_INVALID
 	}
 }
diff --git a/metropolis/pkg/logtree/leveled_payload.go b/metropolis/pkg/logtree/leveled_payload.go
index e2b2ff1..b4a0630 100644
--- a/metropolis/pkg/logtree/leveled_payload.go
+++ b/metropolis/pkg/logtree/leveled_payload.go
@@ -24,7 +24,7 @@
 
 	tpb "google.golang.org/protobuf/types/known/timestamppb"
 
-	cpb "source.monogon.dev/metropolis/proto/common"
+	lpb "source.monogon.dev/metropolis/pkg/logtree/proto"
 )
 
 // LeveledPayload is a log entry for leveled logs (as per leveled.go). It contains
@@ -114,8 +114,8 @@
 func (p *LeveledPayload) Severity() Severity { return p.severity }
 
 // Proto converts a LeveledPayload to protobuf format.
-func (p *LeveledPayload) Proto() *cpb.LogEntry_Leveled {
-	return &cpb.LogEntry_Leveled{
+func (p *LeveledPayload) Proto() *lpb.LogEntry_Leveled {
+	return &lpb.LogEntry_Leveled{
 		Lines:     p.Messages(),
 		Timestamp: tpb.New(p.Timestamp()),
 		Severity:  p.Severity().ToProto(),
@@ -124,7 +124,7 @@
 }
 
 // LeveledPayloadFromProto parses a protobuf message into the internal format.
-func LeveledPayloadFromProto(p *cpb.LogEntry_Leveled) (*LeveledPayload, error) {
+func LeveledPayloadFromProto(p *lpb.LogEntry_Leveled) (*LeveledPayload, error) {
 	severity, err := SeverityFromProto(p.Severity)
 	if err != nil {
 		return nil, fmt.Errorf("could not convert severity: %w", err)
diff --git a/metropolis/pkg/logtree/logtree_entry.go b/metropolis/pkg/logtree/logtree_entry.go
index 6bd8752..d1c700e 100644
--- a/metropolis/pkg/logtree/logtree_entry.go
+++ b/metropolis/pkg/logtree/logtree_entry.go
@@ -23,7 +23,7 @@
 	"github.com/mitchellh/go-wordwrap"
 
 	"source.monogon.dev/metropolis/pkg/logbuffer"
-	cpb "source.monogon.dev/metropolis/proto/common"
+	lpb "source.monogon.dev/metropolis/pkg/logtree/proto"
 )
 
 // LogEntry contains a log entry, combining both leveled and raw logging into a
@@ -207,19 +207,19 @@
 
 // Proto converts this LogEntry to proto. Returned value may be nil if given
 // LogEntry is invalid, eg. contains neither a Raw nor Leveled entry.
-func (l *LogEntry) Proto() *cpb.LogEntry {
-	p := &cpb.LogEntry{
+func (l *LogEntry) Proto() *lpb.LogEntry {
+	p := &lpb.LogEntry{
 		Dn: string(l.DN),
 	}
 	switch {
 	case l.Leveled != nil:
 		leveled := l.Leveled
-		p.Kind = &cpb.LogEntry_Leveled_{
+		p.Kind = &lpb.LogEntry_Leveled_{
 			Leveled: leveled.Proto(),
 		}
 	case l.Raw != nil:
 		raw := l.Raw
-		p.Kind = &cpb.LogEntry_Raw_{
+		p.Kind = &lpb.LogEntry_Raw_{
 			Raw: raw.ProtoLog(),
 		}
 	default:
@@ -231,7 +231,7 @@
 // LogEntryFromProto parses a proto LogEntry back into internal structure.
 // This can be used in log proto API consumers to easily print received log
 // entries.
-func LogEntryFromProto(l *cpb.LogEntry) (*LogEntry, error) {
+func LogEntryFromProto(l *lpb.LogEntry) (*LogEntry, error) {
 	dn := DN(l.Dn)
 	if _, err := dn.Path(); err != nil {
 		return nil, fmt.Errorf("could not convert DN: %w", err)
@@ -240,13 +240,13 @@
 		DN: dn,
 	}
 	switch inner := l.Kind.(type) {
-	case *cpb.LogEntry_Leveled_:
+	case *lpb.LogEntry_Leveled_:
 		leveled, err := LeveledPayloadFromProto(inner.Leveled)
 		if err != nil {
 			return nil, fmt.Errorf("could not convert leveled entry: %w", err)
 		}
 		res.Leveled = leveled
-	case *cpb.LogEntry_Raw_:
+	case *lpb.LogEntry_Raw_:
 		line, err := logbuffer.LineFromLogProto(inner.Raw)
 		if err != nil {
 			return nil, fmt.Errorf("could not convert raw entry: %w", err)
diff --git a/metropolis/pkg/logtree/proto/BUILD.bazel b/metropolis/pkg/logtree/proto/BUILD.bazel
new file mode 100644
index 0000000..e7f8c82
--- /dev/null
+++ b/metropolis/pkg/logtree/proto/BUILD.bazel
@@ -0,0 +1,24 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
+
+proto_library(
+    name = "proto_proto",
+    srcs = ["logtree.proto"],
+    visibility = ["//visibility:public"],
+    deps = ["@com_google_protobuf//:timestamp_proto"],
+)
+
+go_proto_library(
+    name = "proto_go_proto",
+    importpath = "source.monogon.dev/metropolis/pkg/logtree/proto",
+    proto = ":proto_proto",
+    visibility = ["//visibility:public"],
+)
+
+go_library(
+    name = "proto",
+    embed = [":proto_go_proto"],
+    importpath = "source.monogon.dev/metropolis/pkg/logtree/proto",
+    visibility = ["//visibility:public"],
+)
diff --git a/metropolis/pkg/logtree/proto/gomod-generated-placeholder.go b/metropolis/pkg/logtree/proto/gomod-generated-placeholder.go
new file mode 100644
index 0000000..92256db
--- /dev/null
+++ b/metropolis/pkg/logtree/proto/gomod-generated-placeholder.go
@@ -0,0 +1 @@
+package proto
diff --git a/metropolis/pkg/logtree/proto/logtree.proto b/metropolis/pkg/logtree/proto/logtree.proto
new file mode 100644
index 0000000..7586187
--- /dev/null
+++ b/metropolis/pkg/logtree/proto/logtree.proto
@@ -0,0 +1,59 @@
+// Copyright 2020 The Monogon Project Authors.
+//
+// SPDX-License-Identifier: Apache-2.0
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+package metropolis.pkg.logtree.proto;
+option go_package = "source.monogon.dev/metropolis/pkg/logtree/proto";
+
+import "google/protobuf/timestamp.proto";
+
+// Severity level corresponding to //metropolis/pkg/logtree.Severity.
+enum LeveledLogSeverity {
+  INVALID = 0;
+  INFO = 1;
+  WARNING = 2;
+  ERROR = 3;
+  FATAL = 4;
+}
+
+// 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 (Distinguished Name), a unique identifier which is provided by
+  // the supervisor system.
+  string dn = 1;
+  oneof kind {
+    Leveled leveled = 2;
+    Raw raw = 3;
+  }
+}
