Todos los modelos cuando se serializan envían las relaciones a las que se ha accedido.
Recordemos que Laravel tiene carga perezosa de las relaciones. Pero aunque al hacer la consulta con Eloquent no hayas usado with() para traterte alguna relación, simplemente con acceder a ella te la va a meter en el modelo serializado.
Simplemente con hacer una comprobación de este estilo, te va a meter el modelo de customer en la serialización de $project.
if($project->customer->user_id == $user->id)
La solución consiste en deshacer esa carga perezosa elminando del modelo el objeto de la relación que no quieras que se serialice. Esto lo conseguimos con el método unsetRelation()
al que le enviamos el nombre de la relación que queremos evitar que se envíe.
Por ejemplo:
$project->unsetRelation('customer');
Luego, si tu controlador devuelve $project, simplemente no vendrá el objeto de relación con el customer.