NestJS Guard: canActivate の false は403、NotFoundExceptionで404隠蔽
セキュリティ
NestJS
設計
NestJS の Guard は canActivate() が false を返すと、フレームワークが標準で ForbiddenException 相当(HTTP 403)として扱う。権限不足を403として露出せず、管理APIなどエンドポイントの存在や到達可否を隠したい場合は、Guard 内で NotFoundException を明示的に throw して404に寄せる。これは Next.js ではなく NestJS の例外ハンドリングに乗る話で、例外フィルタが NotFoundException を捕捉して404に変換する構成ならその基盤に乗る。権限不足を隠蔽する設計は他の Guard と振る舞いを揃える。