O simulador base roda 100% no seu navegador. Nenhuma foto do paciente chega aos nossos servidores. O caminho Photoreal é diferente — esta página nomeia cada subprocessador e cada lacuna.
A detecção de pontos de referência MediaPipe (468 pontos) e a inferência ONNX rodam inteiramente no navegador usando WebAssembly e WebGL. Nenhum dado de imagem é transmitido para os servidores da Faceify durante a simulação padrão. Sua foto sai do dispositivo apenas se você ativar o preview fotorrealista AI opcional ou salvar uma simulação na sua conta.
lib/simulation/face-mesh.ts · lib/simulation/depth-v2/depth-v2-inference.ts · lib/simulation/ai-suggestions/ethnicity-ml.ts
Quando um usuário ativa a pré-visualização Photoreal e concede consentimento para foto AI, a foto do paciente (data URL base64) é transmitida ao Replicate, um provedor de GPU em nuvem com sede nos EUA, via /api/simulation/diffusion-preview.
Usuários dos EUA são bloqueados no nível da rota API (HTTP 451). Usuários fora dos EUA — incluindo Reino Unido e Austrália — estão expostos a esta transmissão de terceiros após conceder consentimento explícito.
app/api/simulation/diffusion-preview/route.ts:277 — x-vercel-ip-country === "US" → HTTP 451
O fato arquitetural — inferência nativa no navegador, zero PHI no servidor no caminho base — é o ativo de conformidade mais forte. O caminho de difusão cria obrigações que ainda não foram completamente atendidas.
The base simulator produces zero data egress by design: MediaPipe landmark detection and ONNX inference run in the browser; no patient photos reach Faceify servers on the standard path. Faceify is not a covered entity. BAA available on Enterprise plan upon request.
Lawful basis: consent (Article 6(1)(a)) for AI photo features; contract (Article 6(1)(b)) for account and billing. Article 17 deletion right is exercisable via /api/account/delete or Settings. For the base simulator, image data does not transit EU borders (stays on device). The diffusion path transmits to Replicate (US); transfer mechanism for EU users is under review.
Same data-residency position as EU GDPR for the base simulator. Supervisory authority: ICO (not EDPB). Any third-party transfers require IDTA (International Data Transfer Agreement), not SCCs. Replicate DPA under IDTA has not yet been executed. This is an open gap for the diffusion path.
Base simulator: image data does not leave the device; PDPA cross-border transfer obligations are not triggered. Consent collected in-app before any simulation preview runs.
Base simulator: image data does not leave the device; PIPA cross-border transfer obligations are not triggered. Consent collected in-app before any simulation preview runs.
Base simulator: image data does not leave the device; APP 8 cross-border disclosure obligations are not triggered. The diffusion path requires an explicit APP 8 disclosure before non-US (including AU) users can use it. That disclosure is being added to the AI photo consent modal. Until it lands, the diffusion path is non-compliant for AU users.
Modo Realtime: feed de câmera permanece no dispositivo
Quando o modo Realtime está ativo, o SDK Banuba processa o feed da câmera inteiramente no runtime WASM do navegador. Nenhum frame de imagem ou ponto de referência facial é transmitido ao Faceify Labs ou a terceiros. O token de licença do Banuba é validado localmente; o SDK não conecta a servidores externos.
Replicate: foto do paciente transmitida (somente caminho Diffusion)
Para usuários fora dos EUA que ativam a pré-visualização Photoreal, a foto do paciente (base64) é transmitida ao Replicate. Usuários dos EUA são bloqueados. Atualmente não há BAA ou DPA com o Replicate.
Todo fornecedor que recebe dados em nosso nome. Última revisão: 2026-05-26.
| Fornecedor | O que recebe | PHI / foto do paciente? | Status BAA / DPA | Escopo |
|---|---|---|---|---|
| Vercel | All HTTP traffic; Vercel Blob stores patient before/after simulation images when saved | Yes — Vercel Blob receives actual patient facial images (on explicit save only) | DPA available; no BAA signed | All paths (hosting); patient images on save (base sim + diffusion) |
| Neon (PostgreSQL) | User PII (email, name, userId); simulation metadata (procedure slug, params); PHI audit log entries; AI photo consent timestamps; Vercel Blob image URLs | No raw photo bytes. Stores image URLs and userId + procedure + consent timestamps. | DPA available; no BAA signed | Base sim + diffusion; billing; auth |
| Vercel Blob | Patient before/after simulation images (base64-sourced, re-encoded) when a signed-in user saves a simulation | Yes — full facial image. Stored at a non-guessable UUID path but with public access. | Part of Vercel DPA; no BAA signed | Base sim on save; diffusion output on save |
| Upstash Redis | IP addresses + rate-limit counters; hashed user IDs as rate-limit keys | No image data. No PHI. | No DPA confirmed from source code | All paths (rate limiting) |
| Resend | Patient email address; surgeon email address; patient name; surgeon name; procedure label; share URL (encodes simulation params only — no photos) | Email addresses. Template explicitly excludes photos. | DPA available; no BAA | Consultation sharing; transactional email |
| Polar | Patient email; payment metadata; subscription status | Email address. No images. | DPA available; no BAA. Polar is Merchant of Record. | Billing only |
| Sentry | Stack traces; error messages; request URLs (tokens redacted by beforeSend filter). Extra context stripped of image/file keys. Session replay active at 1% sample rate with maskAllText + blockAllMedia. | No confirmed PHI. One P2 gap: error message string content is not scrubbed for embedded fragments (low probability). | DPA available; no BAA | All paths (error monitoring) |
| PostHog | Funnel events: procedure name, landmark count (integer), preset ID, deal ID, error code. Page views. Session replay if enabled in project dashboard. | No image bytes in event payloads. Session replay gap: canvas is not explicitly blocked in posthog.init options (P0 fix in progress). | DPA available; no BAA. EU primary region. | All paths (analytics) |
| Replicate | Patient photo (base64 data URL) for photoreal/diffusion preview generation. US users are geo-blocked (HTTP 451). Non-US users only, after explicit AI photo consent. | YES — full patient facial photo transmitted. Replicate is a US-based company. UK/AU transmission triggers UK GDPR Chapter V and AU Privacy Act APP 8 international transfer obligations. No BAA, no DPA confirmed. | No BAA. No DPA confirmed from source. Transfer mechanism for UK/AU not yet executed. | Diffusion/photoreal path only. Non-US only. |
O consentimento é coletado no app antes de qualquer pré-visualização de procedimento ser executada. O controle de consentimento é aplicado no nível da rota.
Os registros de consentimento são de propriedade da clínica, não da Faceify. A Faceify não armazena registros de consentimento.
Caminho Diffusion: consentimento explícito para foto AI
Para a pré-visualização Photoreal, um modal de consentimento adicional explícito nomeia o Replicate e descreve a transmissão para os EUA. Está sendo atualizado para incluir o direito de recusar sem afetar o acesso ao simulador base.
Perguntas de segurança, solicitações de BAA e DPA, divulgação de vulnerabilidades e questionários de aquisição:
partners@faceifylabs.comUma Avaliação de Impacto na Proteção de Dados (DPIA) para o caminho de difusão Photoreal está disponível mediante solicitação. Resposta em até 5 dias úteis.
Sem datas inventadas. O status reflete o roadmap interno de 2026-05-26.
ISO 27001
Under review (last reviewed 2026-05-26)
SOC 2 Type II
Not yet pursued. Trigger: first $50k+ ACV contract per internal decision criteria.
Multi-region data residency
Under evaluation for UK and AU private hospital requirements.
PHI-tier audit log
Planned Q2 2026 per CTO report. Will cover photos, annotations, and consultation messages.
Replicate DPA / BAA (UK IDTA + AU APP 8)
Required before diffusion path is compliant for UK/AU users. Under active procurement.
We use analytics cookies to improve your experience. Privacy Policy
Faceify Labs is an educational visual planning tool designed to facilitate patient-surgeon communication. It is not regulated as a medical device under the U.S. FDA, the Thai FDA, the Korean MFDS, ANVISA (Brazil), or the PMDA (Japan). All previews are visualisations of the requested change — not predictions of surgical outcome, clinical diagnoses, or treatment recommendations. Read our full clinical posture →