Интерцептор - middleware для вызовов: аутентификация, логирование, метрики, трейсинг. В Go: UnaryInterceptor и StreamInterceptor при создании сервера; цепочка оборачивает handler. На клиенте - UnaryInterceptor и StreamInterceptor при создании соединения. В интерцепторе вызывают handler(ctx, req) или stream-обертку и могут менять контекст (например, добавить user id после auth).
s := grpc.NewServer(
grpc.UnaryInterceptor(authInterceptor),
grpc.StreamInterceptor(logStreamInterceptor),
)