diff --git a/id/system/system.go b/id/system/system.go
index 77084f5dcb8dc702b2b14337e97cdc97fd80930b..810062927a8cb21c26acc5e8a32017e9d68ca936 100644
--- a/id/system/system.go
+++ b/id/system/system.go
@@ -63,9 +63,11 @@ func Handler(obj any) *id.ObjectId {
 		i.UserID = val.GetID(context.TODO())
 		return id.MustObjectId(&i)
 	case *auth.ClientPrincipal:
-		var i id.ClientId
-		i.ClientID = val.GetID(context.TODO())
-		return id.MustObjectId(&i)
+		client, _ := val.Client(context.TODO())
+		if client == nil {
+			return id.MustObjectId(&id.ClientId{})
+		}
+		return Handler(client)
 	case *auth.SystemPrincipal:
 		return id.MustObjectId(&id.SystemId{})
 	case *auth.Anonymous:
diff --git a/logs/log.go b/logs/log.go
index 4277ce8a211e02a56229ca93b5489e69c1ec5c83..2de45a30cd98bbd5ce840726b862dbca52fc8480 100644
--- a/logs/log.go
+++ b/logs/log.go
@@ -27,7 +27,7 @@ func (l Level) String() string {
 }
 
 type Entry struct {
-	ID        string       `json:"id" bson:"id" mapstructure:"id"`
+	ID        string       `json:"id" bson:"_id" mapstructure:"id"`
 	Timestamp time.Time    `json:"timestamp,omitempty" bson:"timestamp,omitempty" mapstructure:"timestamp,omitempty"`
 	Level     Level        `json:"level,omitempty" bson:"level,omitempty" mapstructure:"level,omitempty"`
 	Message   string       `json:"message,omitempty" bson:"message,omitempty" mapstructure:"message,omitempty"`