Política · Vita by Lucernas.AI
Políticas de privacidad y cumplimiento
Última actualización: 2026-05-26 · Cambio: implementado el derecho de borrado completo de cuenta con ventana de gracia de 30 días (QA-2.5-001).
Esta es la versión canónica de la política, en español. Las versiones en inglés y portugués son traducciones de cortesía y, en caso de discrepancia, prevalece el texto en español.
Esta es la declaración técnica auditable de cómo Vita maneja la voz, la conversación y los datos derivados de las familias que nos confían el cuidado de sus padres y abuelos. La política está dividida en dos contextos porque las garantías son distintas según cómo se use el producto:
- El demo público en
/app/demo — sesiones anónimas de hasta 10 minutos.
- La aplicación familiar (
/app/) — uso con cuenta para cuidar a un ser querido todos los días.
1. Demo público (/app/demo)
"Tu voz no se guarda" — para el demo, esto es literal y verificable.
Arquitectura de aislamiento acústico
- Datos efímeros por defecto. Toda transferencia de voz se transmite mediante WebSockets PCM en tiempo real (Float32) sobre HTTPS. En ningún momento del ciclo se escriben grabaciones (
.wav, .mp3 o similares) en disco ni en almacenamiento GCP persistente. El audio entra directamente a memoria (RAM) para el buffer de conexión y se libera inmediatamente al cerrar la sesión.
- Lo que SÍ documentamos en
vita_demo_sessions:
- Un ticket de sesión UUID
- Un IP hasheado (SHA-256, irreversible)
- La duración de la llamada
- El idioma seleccionado y el motivo de cierre
- Lo que NO documentamos:
- Transcripciones de la voz del usuario
- Nombres, números, direcciones o cualquier otro dato personal mencionado durante la prueba
- Voces o muestras de audio
- Opiniones políticas, médicas o de terceros emitidas durante la prueba
- Restricción de Cloud Run. La sesión de demo se aloja en el mismo servicio (
vita-advisor) pero usa una cuenta de servicio con acceso IAM mínimo: no puede leer ni escribir en las colecciones de la aplicación familiar (vita_users, vita_memory, vita_sessions, etc.). El demo está algorítmicamente segregado del núcleo de Vita.
- Zero-Knowledge respecto a Gemini. Gemini 3.1 Flash Live se invoca solo por WebSocket en Streaming API. Al término del
websocket.close() la sesión se descarta. Ningún dato del demo entra a entrenamientos de modelos fundacionales (acuerdo Google Cloud).
2. Aplicación familiar (/app/) — seguridad y datos
Esta es la realidad operativa actual y honesta. Si cuidas a tu mamá con Vita, los datos de tus conversaciones no son efímeros — son el producto (el Libro de Vida). Por transparencia te decimos exactamente qué guardamos, dónde, y por cuánto tiempo.
Lo que SÍ guardamos
| Dato | Dónde | Cifrado | Retención actual | Retención objetivo (PR-3) |
| Audio crudo de la voz | Nunca persistido | n/a | n/a | n/a |
| Transcripción de la conversación | vita_sessions.transcript | Cifrado en reposo (Google-managed) | Hasta que el usuario borre su cuenta | 30 días automáticos + cifrado a nivel de campo (CMEK + envelope) |
| Memorias derivadas (preferencias, recuerdos, historias) | vita_memory.fact | Cifrado en reposo (Google-managed) | Hasta que el usuario borre su cuenta | Cifrado a nivel de campo + acceso solo por API autenticada |
| Medicamentos, citas, signos vitales | vita_medications, vita_appointments, vita_vitals | Cifrado en reposo (Google-managed) | Hasta que el usuario borre su cuenta | Cifrado a nivel de campo (CMEK) |
| Contactos familiares (nombres, teléfonos, emails) | vita_family_members | Cifrado en reposo (Google-managed) | Hasta que el usuario borre su cuenta | Cifrado a nivel de campo |
| Documentos subidos (recetas, exámenes, fotos) | vita_documents + GCS vita-docs | Cifrado en reposo (Google-managed) | Hasta que el usuario borre su cuenta | Retención por categoría (PR-4/5): médico/legal/personal hasta-eliminar; financiero 10 años; media 90 días auto-limpieza |
| Datos de pago | Stripe (no almacenamos tarjetas) | Stripe PCI-DSS | Según política de Stripe | Sin cambios |
Categorías de documentos (clasificación obligatoria al subir, decisión 2026-05-07): medical (laboratorio, recetas, notas médicas) · legal (testamento, poder, contratos) · financial (seguros, impuestos, recibos) · personal (fotos, cartas, recuerdos del Libro de Vida) · media (subidas temporales). Hoy (Phase 1) las categorías se etiquetan al subir pero la retención sigue siendo "hasta-eliminar" para todos; la política por categoría se activa en Phase 2 (PR-4/5) post-lanzamiento. Documentos previos al 2026-05-07 quedan como personal por defecto.
Lo que NO guardamos
- Audio crudo. Nunca. Solo se transmite a Gemini en tiempo real y se descarta.
- Voces de familiares. No hacemos clonación de voz ni almacenamos muestras.
- Datos para entrenar modelos. Acuerdo con Google Cloud: nuestras conversaciones no se usan para entrenar Gemini ni ningún otro modelo fundacional.
Derecho de borrado (Right to Erasure) — implementado
Vita honra tu derecho a eliminar tus datos bajo GDPR Art. 17 y la Ley 1581 de 2012 de Colombia. Hay dos niveles de borrado:
- Borrado por documento —
DELETE /api/more/documents/{doc_id}. Borrado inmediato. UI: botón "Eliminar" en cada tarjeta dentro de Salud → Documentos.
- Borrado total de cuenta (nuevo 2026-05-26) —
POST /api/account/delete-request. El usuario escribe la frase de confirmación en su idioma (ELIMINAR MI CUENTA), la cuenta queda pending_deletion 30 días, recibe correo de confirmación inmediato. A los 30 días, un cron diario gated por verify_cron ejecuta el borrado en cascada de todas las colecciones por-uid (medicamentos, citas, sesiones, memoria, contactos familiares, documentos, vitales, alertas, ajustes, dispositivos, visitas de enfermería, historias de vida, etc.), purga los archivos en GCS y elimina el documento principal vita_users/{uid}. Recibes un correo final no accionable.
Cancelación: dentro de los 30 días puedes revertir el borrado iniciando sesión normalmente o llamando a POST /api/account/delete-cancel. Después es irreversible.
Qué se conserva por ley: registros de facturación de Stripe (10 años, normativa fiscal/contable), logs de auditoría en vita_audit_logs (365 días, traza inmutable de compliance — Ley 1581 §17). Todo lo demás se elimina físicamente.
Borrado inmediato (< 72 h): si no puedes esperar los 30 días, escríbenos a privacy@lucernas.ai.
Roadmap pendiente
- Cifrado a nivel de campo (envelope encryption con Cloud KMS) sobre los campos sensibles listados en la tabla anterior.
- TTL automático de 30 días sobre la transcripción cruda en
vita_sessions.transcript.
- Endpoint de exportación
GET /api/user/me/export que entrega un ZIP firmado con todos los datos del usuario.
3. Cumplimiento normativo
- Ley 1581 de 2012 (Habeas Data, Colombia) y normativa colombiana de protección de datos sensibles de salud.
- GDPR y LGPD para usuarios en Europa y Brasil respectivamente.
- HIPAA para usuarios en Estados Unidos (Vita opera bajo BAA con Google Cloud).
Encargado del Tratamiento de Datos (DPO): (designación pendiente; responsable temporal: Carlos Guzmán — privacy@lucernas.ai)
4. Cambios a esta política
Toda modificación material a esta política se notifica por correo a los usuarios activos con al menos 14 días de anticipación. La fecha de "última actualización" en la cabecera siempre refleja la última versión publicada.
Policy · Vita by Lucernas.AI
Privacy & Compliance Policy
Last updated: 2026-05-26 · Change: full-account deletion endpoint with 30-day grace window shipped (QA-2.5-001).
This is a courtesy English translation. The canonical version is the Spanish text — in case of any discrepancy, the Spanish version prevails.
This is the auditable technical statement of how Vita handles voice, conversation, and derived data from the families who entrust us with the care of their parents and grandparents. The policy is split in two contexts because the guarantees differ depending on how the product is used:
- The public demo at
/app/demo — anonymous sessions of up to 10 minutes.
- The family application (
/app/) — account-based use to care for a loved one every day.
1. Public demo (/app/demo)
"Your voice isn't stored" — for the demo, this is literal and verifiable.
Acoustic isolation architecture
- Ephemeral by default. All voice transmission happens via real-time PCM WebSockets (Float32) over HTTPS. At no point in the cycle are recordings (
.wav, .mp3, or similar) written to disk or to persistent GCP storage. Audio enters memory (RAM) directly for the connection buffer and is released immediately when the session closes.
- What we DO log in
vita_demo_sessions:
- A UUID session ticket
- A hashed IP (SHA-256, irreversible)
- Call duration
- The selected language and the close reason
- What we do NOT log:
- Transcripts of the user's voice
- Names, numbers, addresses, or any other personal data mentioned during the trial
- Voices or audio samples
- Political, medical, or third-party opinions expressed during the trial
- Cloud Run restriction. The demo session is hosted in the same service (
vita-advisor) but uses a service account with minimum IAM access: it cannot read or write to family-application collections (vita_users, vita_memory, vita_sessions, etc.). The demo is algorithmically segregated from Vita's core.
- Zero-Knowledge with respect to Gemini. Gemini 3.1 Flash Live is invoked only via WebSocket on the Streaming API. At
websocket.close() the session is discarded. No demo data enters foundation-model training (Google Cloud agreement).
2. Family application (/app/) — security & data
This is the current, honest operational reality. If you care for your mom with Vita, your conversation data isn't ephemeral — it is the product (the Book of Life). For transparency, we tell you exactly what we store, where, and for how long.
What we DO store
| Data | Where | Encryption | Current retention | Target retention (PR-3) |
| Raw voice audio | Never persisted | n/a | n/a | n/a |
| Conversation transcript | vita_sessions.transcript | At-rest (Google-managed) | Until user deletes account | 30-day automatic + field-level (CMEK + envelope) |
| Derived memories (preferences, family memories, life stories) | vita_memory.fact | At-rest (Google-managed) | Until user deletes account | Field-level + access only via authenticated API |
| Medications, appointments, vitals | vita_medications, vita_appointments, vita_vitals | At-rest (Google-managed) | Until user deletes account | Field-level (CMEK) |
| Family contacts (names, phones, emails) | vita_family_members | At-rest (Google-managed) | Until user deletes account | Field-level |
| Uploaded documents (prescriptions, lab results, photos) | vita_documents + GCS vita-docs | At-rest (Google-managed) | Until user deletes account | Per-category retention (PR-4/5): medical/legal/personal until-delete; financial 10 yrs; media 90-day auto-cleanup |
| Payment data | Stripe (we don't store cards) | Stripe PCI-DSS | Per Stripe policy | Unchanged |
Document categories (mandatory at upload, decided 2026-05-07): medical (lab results, prescriptions, doctor notes) · legal (will, power of attorney, contracts) · financial (insurance, tax, receipts) · personal (photos, letters, Libro de Vida memories) · media (temporary uploads). Today (Phase 1) categories are tagged at upload but retention is still "until-delete" for all; per-category policy switches on in Phase 2 (PR-4/5) post-launch. Documents uploaded before 2026-05-07 default to personal.
What we do NOT store
- Raw audio. Never. Only transmitted to Gemini in real time and discarded.
- Family voice samples. No voice cloning, no sample storage.
- Data for model training. Per Google Cloud agreement: our conversations are not used to train Gemini or any other foundation model.
Right to Erasure — implemented
Vita honors your right to delete your data under GDPR Art. 17 and Colombia's Ley 1581 de 2012. Two deletion tiers are live:
- Per-document delete —
DELETE /api/more/documents/{doc_id}. Immediate, audit-logged. UI: "Delete" button on each card under Health → Documents.
- Full account delete (new 2026-05-26) —
POST /api/account/delete-request. The user types the locale-correct confirmation phrase (DELETE MY ACCOUNT), the account is marked pending_deletion for 30 days, and a confirmation email is sent immediately. On day 30 a daily cron gated by verify_cron cascades-deletes every per-uid Firestore collection (medications, appointments, sessions, memory, family contacts, documents, vitals, alerts, settings, devices, nurse visits, life stories, etc.), purges GCS objects, and removes the vita_users/{uid} root. A final non-actionable email confirms the deletion.
Cancellation window: within 30 days, signing in or calling POST /api/account/delete-cancel reverses the request. After 30 days the deletion is irreversible.
What's retained by law: Stripe billing records (10 years, fiscal/accounting standard), audit logs in vita_audit_logs (365 days, immutable compliance trail — Ley 1581 §17). Everything else is physically deleted.
Need it faster (< 72 h)? Write to privacy@lucernas.ai with a brief reason.
Roadmap pending
- Field-level encryption (envelope encryption with Cloud KMS) over the sensitive fields listed in the table above.
- Automatic TTL of 30 days on the raw transcript in
vita_sessions.transcript.
- Export endpoint
GET /api/user/me/export that delivers a signed ZIP with all user data.
3. Regulatory compliance
- Law 1581 of 2012 (Habeas Data, Colombia) and Colombian sensitive-health-data protection regulations.
- GDPR and LGPD for users in Europe and Brazil respectively.
- HIPAA for users in the United States (Vita operates under BAA with Google Cloud).
Data Processing Officer (DPO): (designation pending; interim responsible: Carlos Guzmán — privacy@lucernas.ai)
4. Changes to this policy
Any material modification to this policy is notified by email to active users at least 14 days in advance. The "last updated" date in the header always reflects the latest published version.
Política · Vita by Lucernas.AI
Política de privacidade e conformidade
Última atualização: 2026-05-26 · Mudança: endpoint de exclusão total da conta com janela de carência de 30 dias implementado (QA-2.5-001).
Esta é uma tradução de cortesia em português. A versão canônica é o texto em espanhol — em caso de divergência, prevalece a versão em espanhol.
Esta é a declaração técnica auditável de como a Vita lida com voz, conversa e dados derivados das famílias que nos confiam o cuidado de seus pais e avós. A política está dividida em dois contextos porque as garantias diferem segundo o uso do produto:
- O demo público em
/app/demo — sessões anônimas de até 10 minutos.
- A aplicação familiar (
/app/) — uso com conta para cuidar de um ente querido todos os dias.
1. Demo público (/app/demo)
"Sua voz não é armazenada" — para o demo, isto é literal e verificável.
Arquitetura de isolamento acústico
- Dados efêmeros por padrão. Toda transferência de voz é transmitida via WebSockets PCM em tempo real (Float32) sobre HTTPS. Em nenhum momento do ciclo gravações (
.wav, .mp3 ou similares) são escritas em disco ou em armazenamento GCP persistente. O áudio entra diretamente na memória (RAM) para o buffer da conexão e é liberado imediatamente ao encerrar a sessão.
- O que SIM registramos em
vita_demo_sessions:
- Um ticket de sessão UUID
- Um IP com hash (SHA-256, irreversível)
- A duração da chamada
- O idioma selecionado e o motivo de encerramento
- O que NÃO registramos:
- Transcrições da voz do usuário
- Nomes, números, endereços ou qualquer outro dado pessoal mencionado durante o teste
- Vozes ou amostras de áudio
- Opiniões políticas, médicas ou de terceiros emitidas durante o teste
- Restrição do Cloud Run. A sessão de demo é hospedada no mesmo serviço (
vita-advisor) mas usa uma conta de serviço com acesso IAM mínimo: não pode ler nem escrever nas coleções da aplicação familiar (vita_users, vita_memory, vita_sessions, etc.). O demo está algoritmicamente segregado do núcleo da Vita.
- Zero-Knowledge em relação ao Gemini. Gemini 3.1 Flash Live é invocado apenas via WebSocket na Streaming API. Ao final do
websocket.close(), a sessão é descartada. Nenhum dado do demo entra no treinamento de modelos fundacionais (acordo Google Cloud).
2. Aplicação familiar (/app/) — segurança e dados
Esta é a realidade operacional atual e honesta. Se você cuida da sua mãe com a Vita, os dados de suas conversas não são efêmeros — são o produto (o Livro da Vida). Por transparência, dizemos exatamente o que guardamos, onde, e por quanto tempo.
O que SIM guardamos
| Dado | Onde | Criptografia | Retenção atual | Retenção objetivo (PR-3) |
| Áudio bruto da voz | Nunca persistido | n/a | n/a | n/a |
| Transcrição da conversa | vita_sessions.transcript | Em repouso (Google-managed) | Até que o usuário apague a conta | 30 dias automáticos + nível de campo (CMEK + envelope) |
| Memórias derivadas (preferências, lembranças familiares, histórias) | vita_memory.fact | Em repouso (Google-managed) | Até que o usuário apague a conta | Nível de campo + acesso apenas por API autenticada |
| Medicamentos, consultas, sinais vitais | vita_medications, vita_appointments, vita_vitals | Em repouso (Google-managed) | Até que o usuário apague a conta | Nível de campo (CMEK) |
| Contatos familiares (nomes, telefones, e-mails) | vita_family_members | Em repouso (Google-managed) | Até que o usuário apague a conta | Nível de campo |
| Documentos enviados (receitas, exames, fotos) | vita_documents + GCS vita-docs | Em repouso (Google-managed) | Até que o usuário apague a conta | Retenção por categoria (PR-4/5): médico/jurídico/pessoal até-apagar; financeiro 10 anos; mídia 90 dias auto-limpeza |
| Dados de pagamento | Stripe (não armazenamos cartões) | Stripe PCI-DSS | Conforme política da Stripe | Sem mudanças |
Categorias de documentos (classificação obrigatória ao enviar, decisão 2026-05-07): medical (laboratório, receitas, notas médicas) · legal (testamento, procuração, contratos) · financial (seguros, impostos, recibos) · personal (fotos, cartas, lembranças do Libro de Vida) · media (envios temporários). Hoje (Phase 1) as categorias são marcadas no envio mas a retenção continua "até-apagar" para todos; a política por categoria entra em Phase 2 (PR-4/5) pós-lançamento. Documentos enviados antes de 2026-05-07 ficam como personal por padrão.
O que NÃO guardamos
- Áudio bruto. Nunca. Apenas transmitido ao Gemini em tempo real e descartado.
- Vozes de familiares. Não fazemos clonagem de voz nem armazenamos amostras.
- Dados para treinar modelos. Acordo com Google Cloud: nossas conversas não são usadas para treinar Gemini ou qualquer outro modelo fundacional.
Direito de exclusão (Right to Erasure) — implementado
A Vita honra seu direito de excluir seus dados sob o GDPR Art. 17 e a Ley 1581 de 2012 da Colômbia. Há dois níveis:
- Exclusão por documento —
DELETE /api/more/documents/{doc_id}. Exclusão imediata. UI: botão "Excluir" em cada cartão dentro de Saúde → Documentos.
- Exclusão total da conta (novo 2026-05-26) —
POST /api/account/delete-request. O usuário digita a frase de confirmação em seu idioma (EXCLUIR MINHA CONTA), a conta é marcada como pending_deletion por 30 dias, e um e-mail de confirmação é enviado imediatamente. No 30º dia, um cron diário gated por verify_cron executa a exclusão em cascata de todas as coleções por-uid no Firestore (medicamentos, consultas, sessões, memória, contatos familiares, documentos, sinais vitais, alertas, configurações, dispositivos, visitas de enfermagem, histórias de vida, etc.), purga os arquivos no GCS e elimina o documento raiz vita_users/{uid}. Você recebe um e-mail final não acionável.
Cancelamento: dentro de 30 dias você pode reverter a exclusão fazendo login normalmente ou chamando POST /api/account/delete-cancel. Após 30 dias é irreversível.
O que é mantido por lei: registros de faturamento da Stripe (10 anos, padrão fiscal/contábil), logs de auditoria em vita_audit_logs (365 dias, trilha imutável de compliance — Ley 1581 §17). Todo o resto é fisicamente excluído.
Precisa mais rápido (< 72 h)? Escreva para privacy@lucernas.ai.
Roadmap pendente
- Criptografia em nível de campo (envelope encryption com Cloud KMS) sobre os campos sensíveis listados na tabela acima.
- TTL automático de 30 dias sobre a transcrição bruta em
vita_sessions.transcript.
- Endpoint de exportação
GET /api/user/me/export que entrega um ZIP assinado com todos os dados do usuário.
3. Conformidade regulatória
- Lei 1581 de 2012 (Habeas Data, Colômbia) e normativa colombiana de proteção de dados sensíveis de saúde.
- GDPR e LGPD para usuários na Europa e Brasil respectivamente.
- HIPAA para usuários nos Estados Unidos (Vita opera sob BAA com Google Cloud).
Encarregado de Tratamento de Dados (DPO): (designação pendente; responsável temporário: Carlos Guzmán — privacy@lucernas.ai)
4. Mudanças nesta política
Toda modificação material a esta política é notificada por e-mail aos usuários ativos com pelo menos 14 dias de antecedência. A data de "última atualização" no cabeçalho sempre reflete a versão mais recente publicada.