SanaMente IA es una aplicación móvil (iOS, con versión web) de orientación psicoeducativa. Se compone de una app construida con React Native (Expo), un servidor de aplicación (FastAPI, Python) con una base de datos PostgreSQL alojada en infraestructura de DM-IA Solutions, un panel web de administración y un sistema conversacional basado en un modelo de lenguaje de gran escala. Todo dato operativo (registros, contadores, fechas) proviene de la base de datos; el modelo de lenguaje solo conversa y redacta texto, nunca calcula ni decide sobre datos.
El chat utiliza Claude Sonnet 5 (Anthropic) como modelo principal, accedido por API con el SDK oficial, con Gemini 2.5 Flash (Google) como respaldo automático si el proveedor principal no responde. Esta información se declara únicamente en este documento académico; dentro de la aplicación el compañero se presenta como «SanaMente IA, desarrollado por DM-IA Solutions» y no revela proveedor ni modelo.
El modelo recibe una instrucción de sistema fija que establece su identidad (compañero de bienestar emocional, no profesional de salud mental), sus límites (no diagnostica, no etiqueta con términos clínicos, no opina sobre medicación, no sustituye atención profesional), su forma de conversar (escuchar y validar antes de sugerir, preguntas abiertas, mensajes breves, tuteo, formas neutras de género, español o inglés según la persona) y una regla estricta contra la confabulación: si no tiene un dato en su contexto, lo dice y pregunta, en lugar de inventarlo. Ante expresiones de malestar agudo, la instrucción le pide validar primero, no minimizar, integrar con naturalidad las rutas de atención de Medellín y no cerrar la conversación. La instrucción incluye ejemplos de lo que sí y lo que no debe decir.
Parámetros relevantes: profundidad de razonamiento media, límite de longitud de respuesta, caché de la instrucción de sistema para estabilidad y costo, sin parámetros de aleatoriedad (el modelo no los admite). Dos funciones auxiliares usan salida estructurada validada contra un esquema: las respuestas sugeridas bajo cada mensaje (dos o tres frases cortas) y la pregunta diaria del diario. Ambas son texto conversacional; si fallan, la app usa textos fijos.
Sí conserva contexto. Cada conversación se guarda completa; al enviar un mensaje, el modelo recibe el historial de esa conversación (hasta los últimos cincuenta mensajes) y un bloque de datos del usuario elaborado por el servidor a partir de la base de datos: nombre, cuántos días se ha cuidado en los últimos treinta, tendencia del ánimo registrado, entradas recientes del diario y un resumen de conversaciones anteriores. Sobre conversaciones pasadas solo recibe un resumen corto, y la instrucción le pide ser honesto sobre ese límite.
Se implementa en código, antes de cualquier llamada al modelo, con tres reglas explícitas (frases clave en el chat, frases clave en el diario y registro en el nivel más bajo con intensidad alta tres días seguidos). Al activarse, el servidor antepone un mensaje fijo con las rutas de atención, registra el evento sin guardar el texto y la app hace más visible el directorio. Descripción completa en el documento Criterios de señalización.
| Dato | Dónde | Notas |
|---|---|---|
| Cuenta (correo, nombre, contraseña cifrada con bcrypt, idioma, plan) | PostgreSQL, servidor de DM-IA Solutions | Inicio de sesión con correo o con Apple |
| Registros de cómo estás (emoción, intensidad, necesidad, nota) | PostgreSQL | Base de los contadores y de la regla de tres días |
| Entradas del diario y foto opcional | PostgreSQL y almacenamiento de archivos del servidor | La foto solo se sirve a la persona autenticada |
| Conversaciones y mensajes del chat | PostgreSQL | El proveedor del modelo recibe cada mensaje para responder; no se usa para entrenar |
| Sesiones de respiración, favoritos, logros | PostgreSQL | Métricas acumulativas; nunca se restan |
| Plan para momentos difíciles | Teléfono de la persona; copia opcional cifrada en el servidor | El servidor no puede leer la copia |
| Bitácora de señalización | PostgreSQL | Fuente, regla y acción; sin texto |
Toda la comunicación viaja cifrada (HTTPS). Las credenciales de acceso a servicios externos se guardan en el servidor, no en la app.
Antes del primer uso del chat, la app muestra una pantalla de consentimiento que explica que la conversación la procesa un sistema de inteligencia artificial en la nube, que no es un profesional de salud mental, qué se guarda y por cuánto tiempo, y el aviso de no sustitución. La persona debe marcar la casilla y aceptar; la fecha de aceptación se guarda en su cuenta. Los avisos de no sustitución se repiten en el chat, en Ajustes y en el pie del Perfil. Al registrarse, la persona acepta los términos y la política de privacidad publicados en sanamenteia.com.
Desde Ajustes, «Eliminar cuenta» borra la cuenta y, por dependencia, todos sus registros, entradas, conversaciones, sesiones, favoritos y copia del plan. Queda solo un registro anónimo de que hubo una eliminación (fecha y motivo opcional) para auditoría. Además, cada entrada del diario y cada foto pueden borrarse individualmente; el borrado de recursos y favoritos es «suave» (se marca la fecha) para trazabilidad interna sin exposición a la persona.
| Módulo | Qué hace y qué ve la persona | Contenido | Objetivo |
|---|---|---|---|
| Registro de cómo estás | Registro rápido con cinco caritas en el Inicio, o registro de tres pasos: emoción (ocho opciones con una definición breve al tocarla), intensidad de 1 a 10 y necesidad (descansar, hablar, conectar, calmarme, motivarme). Al terminar, resumen y acceso a la herramienta que corresponde a la necesidad. Botón «No sé qué siento» que abre el chat. | Fijo (catálogo de emociones y definiciones) | 1. Reconocimiento y diferenciación emocional |
| Diario | Tres momentos: mañana (gratitudes, tareas, intención), tarde (cómo va el día, momento destacado) y noche (logré, me faltó, algo bonito, ánimo). Pregunta sugerida del día, búsqueda, calendario, foto opcional. | Formularios fijos; la pregunta sugerida se genera con IA y tiene respaldo fijo | 1 y 3 |
| Reflexión guiada | La persona escribe un pensamiento y recibe un recorrido en cuatro partes: validación, patrones, otra mirada y una acción pequeña. | Generado con IA con salida estructurada; lenguaje cotidiano, sin términos clínicos | 2. Fortalecer estrategias de regulación |
| Calma | Técnicas de respiración guiadas (4-7-8, cuadrada, relajación para dormir, energía y foco, respira en movimiento, consciente) con animación, relajación muscular progresiva, meditaciones guiadas, técnica recomendada por regla fija (último registro u hora del día), favoritos, autoreporte al terminar (más en calma, igual, con inquietud) y «Momento difícil»: acompañamiento en nueve pasos con el plan personal si existe. | Fijo | 2 |
| Chat | Conversación con el compañero: temas de arranque, respuestas sugeridas, historial de conversaciones, banner de señalización cuando corresponde. | Generado con IA bajo la instrucción de sistema descrita | 3. Expresión y comunicación emocional |
| Directorio de rutas de atención | Línea Amiga, WhatsApp, 123 opción social, Escuchaderos y líneas de otros países. Botón «Ayuda» en todas las pantallas y enlace en el acceso. | Fijo y administrable desde el panel web; enlaza a fuentes oficiales | Derivación (transversal) |
| Progreso y logros | Días en los que la persona se cuidó, sesiones y entradas, en total y por mes; logros por totales. Sin rachas ni mensajes de pérdida. | Calculado por el servidor a partir de la base de datos | Transversal |
| Reflexión del día | Una frase breve, distinta cada día, en el Inicio. | Banco fijo de cuarenta reflexiones redactadas para la app | Transversal |
La app se delimita como psicoeducativa y no clínica. Sus textos, la tienda y la página pública evitan las palabras diagnóstico, tratamiento, terapia, evaluación clínica y detección de trastornos, y mantienen los avisos de no sustitución. El progreso se presenta con métricas acumulativas que no se pierden, para que un día sin uso no se viva como un fracaso.