---
name: bb-tech-express
description: >
  Manejo estandarizado de errores backend Node.js, prevención de stacktraces expuestos y logs limpios.
  Trigger: Use al manejar middlewares atrape-errores o generar devoluciones fallidas via HTTP/Express.
license: Apache-2.0
metadata:
  author: valentin mathey
  version: "1.0"
---

## When to Use

- Al construir respuestas REST o GraphQL que resultan en fallos predecibles.
- Middleware globales de Express para el enrutamiento.

## Critical Patterns

- **Never Leak Stacktraces:** Un requerimiento crítico de seguridad. Jamás exponer variables del sistema (`process.env`) ni fallos crudos de Prisma a nivel de la Request (Postman/Web).
- **Log central vs Client Error:** Cada bloque global de fallos debe hacer uso del Logger para archivo/consola y a la vez fabricar un mensaje sanitizado (`Custom Error Model`) para `res.status(500).json(...)`.

## Code Examples

### DO: Sanitizar salida HTTP y enmascarar

```typescript
export const globalErrorHandler = (err: any, req: Request, res: Response, next: NextFunction) => {
  logger.error(err.message, err.stack); // <- Para los internos!
  return res.status(500).json({ error: "Application Error, please contact support." }); // <- Client safe
}
```
