Use Cases (Actualizado: 7/8/2026)

Preflight de formularios de belleza y wellness con Claude Code: detectar consentimiento y contraindicaciones

Flujo para revisar consentimiento, contraindicaciones, CSV y revisión humana antes de usar datos de primera visita.

Preflight de formularios de belleza y wellness con Claude Code: detectar consentimiento y contraindicaciones

El formulario de primera visita dice “piel sensible”, “embarazo” o “medicación”, pero al exportarlo a CSV todo queda enterrado en una columna genérica de notas. La reserva ya está aceptada, la persona llega al local y el equipo descubre recién ahí una condición que exige pausar, cambiar el servicio, explicar la política de cancelación o reagendar. En salones de belleza, estudios de wellness, masajes y gimnasios boutique, este fallo pequeño de entrada suele importar más que una página comercial nueva.

La solución no es hacer un formulario interminable. Más preguntas pueden aumentar el abandono, y recolectar datos sin responsable de revisión crea otro riesgo. Lo útil es separar, antes de cualquier revisión asistida por IA, los campos de reserva, consentimiento, categoría de contraindicación y detalles que solo debe leer el equipo. En este artículo, contraindicación significa una condición de salud, medicación, embarazo, estado de la piel o edad que puede cambiar la decisión sobre prestar el servicio.

Este artículo muestra un preflight local con Claude Code para formularios de belleza y wellness. El alcance del título es una revisión previa y un contrato local, no una integración en vivo. No conecta con servicios de formularios, sistemas de reservas, bases de clientes ni envío de correo. Para las afirmaciones actuales se revisaron fuentes oficiales: permisos de Claude Code, configuración y sandbox, recursos de información personal de la autoridad japonesa PPC, guía sanitaria japonesa para establecimientos de belleza y avisos de la agencia japonesa de consumidores sobre medicina estética. No es asesoría legal, médica ni operativa individual.

Puntos Clave

  • Divide el formulario en campos de reserva, campos de revisión humana y campos que no deben entrar al CSV de trabajo de IA.
  • Claude Code lee solo datos ficticios o CSV anonimizados para revisar consentimiento, contraindicación, flags de revisión y mensajes.
  • Las personas deciden elegibilidad del servicio, salud, consentimiento, datos personales, menores, reembolsos y cancelaciones.
  • Los tres Use case son inventario de campos, preflight del CSV y borradores de confirmación para el equipo.
  • La CTA principal es una sola: plantillas de producto para crear patrones reutilizables.

Flujo de trabajo: separar el formulario antes de la IA

Primero separa carpetas y tablas. intake-raw/ guarda originales: nombre, teléfono, email, notas libres sobre piel o cuerpo, medicación, embarazo, consentimiento de menores, permiso de fotos y contexto de pago. intake-ai-work/ guarda la copia de trabajo para IA: ID ficticio, servicio solicitado, motivo de visita, estado de consentimiento, categoría de contraindicación y flag de revisión humana. intake-approved/ guarda la checklist y el mensaje aprobados por el equipo.

MaterialCopia para IASolo equipo
Formulario de reservaServicio, motivo, primera visita/repeticiónNombre, teléfono, email, dirección
Cuestionario inicialCategoría de contraindicación, categoría de avisoDiagnóstico, medicación, detalle de salud
ConsentimientoPresente, fecha, obligatorio/opcionalTexto legal y operativo final
Exportación CSVColumnas, blancos, flag de revisiónDatos identificables y texto libre original
Checklist de equipoRevisor, condición de pausa, momentoElegibilidad, cambio de menú, reembolso
flowchart TD
  A[intake-raw originales] --> B[Clasificar columnas]
  B --> C[Anonimizar al CSV de IA]
  C --> D[Node.js preflight]
  D --> E[Claude Code revisa huecos]
  E --> F[Revisión del equipo]
  F --> G[intake-approved checklist]

El hábito clave es no pedirle a Claude Code que lea todo y decida. Reduce las columnas primero. Las notas libres suelen contener nombres, detalles de salud o contexto familiar, así que el archivo de IA debería usar algo como sensitive_note_present: true. Cuando haga falta juicio, el equipo abre el original por separado.

Qué hace Claude Code y qué decide una persona

Claude Code se encarga de detectar campos faltantes, nombres de columna riesgosos, consentimiento ausente, flags de revisión ausentes y borradores para el equipo o la persona que reservó. Sirve para preguntas como “¿el formulario de primera experiencia incluye permiso de fotos y consentimiento de cancelación?” o “¿toda fila con contraindicación tiene staff_review?”.

Las personas deciden si el servicio procede, qué menú cambia, cómo tratar información de salud o medicación, consentimiento de menores, reembolso, cancelación, lenguaje publicitario y datos personales. Un resultado de Claude Code que diga “sin huecos obvios” no es una aprobación del servicio. En belleza y wellness, el lenguaje tranquilizador puede convertirse en promesa absoluta, por eso la aprobación final queda con humanos.

La documentación oficial de permisos de Claude Code explica que las reglas se evalúan en orden deny, ask y allow. La página de configuración describe el sandbox como límite para comandos Bash y procesos hijos sobre archivos y red. Para originales de intake, deniega Read(/intake-raw/**) y permite solo intake-ai-work/. Esto estrecha la entrada; no demuestra seguridad de privacidad.

Como lectura relacionada, consulta la guía de permisos de Claude Code y el flujo de menús para salones de belleza. Formulario y menú se revisan por separado porque fallan en lugares distintos.

Tres Use Case

Use case 1: Inventariar campos del formulario inicial

Entrada: lista de campos, obligatorio/opcional, servicio solicitado, texto de consentimiento, permiso de fotos, condiciones de cancelación y preguntas que requieren revisión.

Salida: campos de reserva, campos de revisión, campos excluidos de IA, explicación breve para primera visita y aviso posterior al envío.

Revisión humana: elegibilidad del servicio, contraindicación, consentimiento de menores, fotos, cancelación/reembolso y texto final de consentimiento.

El inventario empieza decidiendo qué quitar. Si el formulario solo reserva una franja, las preguntas de salud más profundas pueden pasar a una confirmación posterior. Si una condición siempre debe revisarse antes del servicio, necesita un flag antes de que la persona llegue.

Use case 2: Revisar si el CSV mezcla campos peligrosos

Entrada: columnas del CSV anonimizado, filas de muestra, columnas obligatorias, flag de revisión y reglas previas al envío.

Salida: columnas permitidas, columnas bloqueadas, alertas de blanco, filas que requieren staff_review y campos originales que debe revisar el equipo.

Revisión humana: nombre, teléfono, email, dirección, texto libre, medicación, diagnóstico, embarazo, menor de edad, consentimiento y permiso de fotos.

Las exportaciones CSV esconden fallos mejor que la pantalla del formulario. Una etiqueta limpia puede convertirse en una sola columna note. Antes de que Claude Code lea el archivo, una revisión local debe frenar nombres y valores simples de riesgo.

Use case 3: Redactar mensaje de confirmación para el equipo

Entrada: ID ficticio, servicio solicitado, categoría de revisión, franja de reserva, responsable, plazo de respuesta y canal normal de contacto.

Salida: email interno, mensaje previo a la visita, checklist de revisión e información que no se debe enviar.

Revisión humana: destinatario, nombre real, datos reales de salud, decisión de servicio, cancelación, reembolso y aprobación del responsable.

No pidas a la IA que complete datos personales reales. Usa “cliente A” o “reserva B-001” y deja que el equipo revise el original antes de enviar. El tono puede ayudar, pero la responsabilidad de decisión queda en el local.

Prompt para copiar y pegar

Usa este prompt solo después de crear intake-ai-work/intake-redacted.csv. No incluyas formularios originales, fichas de clientes, fotos ni datos de pago.

Act as a beauty and wellness first-visit intake form reviewer.
Read only ./intake-ai-work/intake-redacted.csv and output in this order:

1. Columns that may be used by AI and columns that must be stopped
2. Missing consent, photo permission, and cancellation fields
3. Whether rows with contraindication categories have staff_review
4. Fields staff must check in the original record
5. Draft pre-visit confirmation message to the guest
6. Pre-publication checklist

Constraints:
- Do not decide service eligibility, medical issues, or refunds
- Do not infer name, phone, email, address, diagnosis, medication, pregnancy week, or raw free-text notes
- Do not touch intake-raw, customer databases, booking systems, email sending, or external networks
- If you detect personal-data-like values, stop and report only the field name
- End with: "Not sendable before staff review"

Código ejecutable de comprobación

Si introduces este helper, guárdalo como tools/check-beauty-intake-preflight.mjs. Este artículo no crea el archivo en el repositorio. Abajo está el contenido completo y usa solo fixtures locales ficticios.

const files = [
  {
    path: "intake-ai-work/intake-redacted.csv",
    text: "intake_id,menu,consent,contraindication_category,staff_review\nB-001,trial_facial,true,sensitive_skin,true"
  },
  {
    path: "intake-ai-work/bad.csv",
    text: "name,email,medication_note\nAiko,[email protected],blood pressure medicine"
  }
];

const blockedFields = [
  "name",
  "email",
  "phone",
  "address",
  "birthdate",
  "medication",
  "diagnosis",
  "pregnancy_week",
  "free_note"
];

const valuePatterns = [
  /[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}/,
  /\b\d{2,4}-\d{2,4}-\d{3,4}\b/,
  /\b(?:medicine|diagnosis|pregnant|allergy)\b/i
];

const findings = [];

for (const file of files) {
  const lowerText = file.text.toLowerCase();
  for (const field of blockedFields) {
    if (lowerText.includes(field)) {
      findings.push({ path: file.path, type: "blocked field", field });
    }
  }
  for (const pattern of valuePatterns) {
    if (pattern.test(file.text)) {
      findings.push({ path: file.path, type: "blocked value", pattern: String(pattern) });
    }
  }
}

console.table(findings);
if (findings.length > 0) {
  process.exitCode = 1;
}

Este código solo demuestra que fixtures locales fijos detectan nombres de campo y valores simples de riesgo. No demuestra revisión de PDF, imágenes, escritura manual, reidentificación por varias columnas, integración real de formularios ni comportamiento del sistema de reservas.

{
  "permissions": {
    "deny": [
      "Read(/intake-raw/**)",
      "Edit(/intake-raw/**)",
      "Read(/customer-records/**)",
      "Edit(/customer-records/**)",
      "Bash(git push *)"
    ],
    "allow": [
      "Read(/intake-ai-work/**)",
      "Edit(/intake-ai-work/**)",
      "Bash(node tools/check-beauty-intake-preflight.mjs *)"
    ]
  },
  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true,
    "allowUnsandboxedCommands": false,
    "filesystem": {
      "denyRead": ["./intake-raw", "./customer-records"],
      "denyWrite": ["./intake-raw", "./customer-records"]
    }
  }
}

Pitfall: causas comunes y arreglos concretos

Primera causa: dejar el consentimiento como una casilla pequeña al final. La persona no sabe qué aceptó y el equipo no rastrea cambios de texto. Arreglo: separar fotos, cancelación, salud y contacto, y exportar versión o fecha del consentimiento.

Segunda causa: recibir contraindicaciones solo como texto libre. Parece flexible, pero es difícil de buscar y peligroso para IA. Arreglo: usar categorías y staff_review, dejando el detalle en el original.

Tercera causa: creer que una regla Read deny basta. Bash, procesos hijos y helpers locales pueden abrir otra vía a los originales. Arreglo: combinar deny de Claude Code, denyRead y denyWrite del sandbox, operación por carpetas y pruebas de rechazo con datos ficticios.

Cuarta causa: probar el validador con CSV reales. Historial de terminal y logs pueden conservar valores. Arreglo: crear muestras permitidas y bloqueadas solo con IDs ficticios, y no imprimir valores personales en logs.

Medición pequeña de ROI

Durante dos semanas mide solo el formulario de primera experiencia. Antes del cambio, registra llamadas de confirmación posteriores a la reserva, cambios de menú el mismo día, casos detenidos por explicación de consentimiento y veces que el equipo reabrió el original. Después, registra lo mismo y suma filas detenidas por preflight.

El cálculo puede ser sencillo: casos × (minutos de confirmación + minutos de retrabajo) junto a paradas de preflight. Si suben las reservas pero también suben los cambios del mismo día, el formulario no ajustó expectativas. Si aumentan las confirmaciones previas y bajan las cancelaciones el mismo día, el flujo puede estar funcionando. No inventes resultados; compara los mismos campos en el mismo período.

Preguntas Frecuentes

Q. ¿Es más seguro eliminar todas las preguntas de salud o medicación?

No. Quitar controles necesarios puede aumentar el riesgo operativo. La meta es reducir lo que ve la IA y conservar lo que el equipo debe revisar.

Q. ¿Los permisos de Claude Code bastan para datos personales?

No los trates como suficientes por sí solos. Son límites de herramientas. Súmalos a sandbox, carpetas separadas, logs sin valores y revisión humana.

Q. ¿Claude Code puede corregir promesas cercanas a medicina estética?

Puede redactar alertas y notas, pero publicidad médica y revisión legal quedan fuera. Una persona debe revisar cualquier afirmación de efecto con fuentes primarias y reglas del local.

Q. ¿Con qué formulario empezar?

Empieza donde se mezclan primera experiencia, fotos, cancelación y salud. El formulario con más preguntas el mismo día suele ser mejor primer objetivo que el de más tráfico.

Plantillas de producto

Este preflight puede empezar como un ejercicio pequeño para principiantes. Crea un CSV ficticio, confirma que las columnas riesgosas detienen el proceso, que falta de staff_review aparece, y que el resultado dice que no se puede enviar antes de revisión.

Para reutilizar el patrón en menús, FAQ, respuestas y revisión previa a publicación, usa las plantillas de producto como único siguiente paso. El flujo de menú para salones cubre precio y duración; la guía de permisos cubre control de acceso.

Resultado probado

Para este artículo confirmé que /images/hero/hero-024.webp existe en site/public/images/hero/hero-024.webp. También revisé la página oficial de permisos de Claude Code, la página de configuración y sandbox, la página japonesa de información personal PPC, la guía sanitaria de MHLW y la página de advertencias de la agencia de consumidores.

El bloque JavaScript representa intake-ai-work/intake-redacted.csv e intake-ai-work/bad.csv ficticios como arrays en memoria. Solo demuestra una frontera local de fixtures para nombres de campos y valores simples. No se ejecutó ninguna prueba runtime con servicio de formularios, sistema de reservas, base de clientes, envío de email ni datos reales. Las verificaciones de publicación cubren este slug, frontmatter, enlaces internos, enlaces externos, CTA, code fences, diez archivos de locale y el artículo de Qiita.

#claude-code #belleza #wellness #formularios #primera-visita
Gratis

PDF gratis: cheatsheet de Claude Code

Introduce tu email y descarga una hoja con comandos, hábitos de revisión y flujos seguros.

Cuidamos tus datos y no enviamos spam.

Masa

Sobre el autor

Masa

Ingeniero enfocado en workflows prácticos con Claude Code.