Kalori, última atualização: 19 de outubro de 2026
O responsável pelo tratamento dos seus dados pessoais é:
Para qualquer questão relacionada com a proteção dos seus dados pessoais, pode contactar-nos através do email support@repzai.app.
Recolhemos e tratamos as seguintes categorias de dados:
Email, nome completo, data de nascimento e género. Estes dados são necessários para criar e gerir a sua conta.
Peso, altura, medidas corporais, fotografias corporais, preferências alimentares, alergias, nível de fitness e histórico de treinos. Estes dados são considerados dados sensíveis ao abrigo do RGPD (Artigo 9) e requerem o seu consentimento explícito para processamento.
Digitalizações de alimentos (fotografias), registos de refeições e monitorização de calorias e macronutrientes.
Leitura: passos, calorias ativas, treinos, sono, frequência cardíaca e peso. Escrita: peso, altura, refeições (calorias e macros) e água. Esta integração é opcional e requer a sua autorização explícita. Os dados do HealthKit não são utilizados para publicidade e não são partilhados com terceiros, exceto quando diretamente relacionados com o benefício para a sua saúde dentro da aplicação.
Modelo do dispositivo, versão do sistema operativo, idioma e fuso horário.
Interações com a aplicação e utilização de funcionalidades, recolhidos através da plataforma de analítica PostHog (servidores na UE).
Registos de erros e falhas da aplicação, recolhidos através do Sentry para melhoria da estabilidade.
Estado da subscrição, gerido através da RevenueCat e da Apple (compras na App Store) ou da Stripe (compras diretas à Kalori). Não armazenamos dados de pagamento (números de cartão, informações bancárias). Esses dados são tratados diretamente pela Apple e pela Stripe.
Compras diretas à Kalori: nos países da UE onde a opção é apresentada, pode pagar com Apple Pay ou cartão, com pagamento processado pela Stripe Payments Europe, Limited (Irlanda). O número completo do cartão nunca chega à Kalori: é introduzido no Apple Pay ou na página de pagamento da Stripe e fica só na Stripe. Para criar e gerir a compra, a Stripe recebe o identificador da conta Kalori, o email associado à compra (o da conta na App ou o indicado no pagamento; serve para os recibos e para o portal de faturação da Stripe), o país e, se existir, o código de convite ou de criadora usado. Através da Stripe e da RevenueCat, recebemos apenas o país, a marca, a validade e os últimos 4 dígitos do cartão, o nome do titular quando o indicar, as datas e os montantes das cobranças e dos reembolsos e o estado da subscrição. A Stripe trata estes dados por nossa conta, como subcontratante, para executar o pagamento e, para finalidades próprias como a prevenção de fraude e o cumprimento de obrigações legais, como responsável pelo tratamento, nos termos da Política de Privacidade da Stripe.
Reporte à Apple: as condições da Apple para pagamentos fora da App Store na UE obrigam-nos a comunicar à Apple cada compra, renovação e reembolso feitos dessa forma, para o cálculo da comissão da Apple. Enviamos o identificador da compra criado pelo iOS quando a Apple apresenta o aviso, o produto, as datas, os montantes, o IVA, a moeda e o país fiscal. Não enviamos nome, email, dados do cartão nem dados de saúde. A Apple trata estes dados como responsável pelo tratamento.
Pedidos de reembolso: se pedir um reembolso à Apple e tiver dado o seu consentimento, a RevenueCat envia à Apple, em nosso nome, dados sobre a utilização da App (por exemplo, se usou as funcionalidades de IA e se a compra foi entregue). A decisão sobre o reembolso é sempre da Apple.
Identificadores do dispositivo para envio de notificações push, utilizados exclusivamente para comunicações relacionadas com a aplicação.
Mensagens trocadas com o assistente de IA integrado na aplicação, para fornecer respostas personalizadas e contextualizadas.
Publicações, comentários, reações, fotografias de perfil e conteúdo, participação em grupos, denúncias e bloqueios. O conteúdo que escolhe publicar pode ser visível a outros utilizadores autenticados. As denúncias e os bloqueios são tratados de forma reservada para moderação e segurança.
Quando utiliza a introdução por voz, a aplicação pede permissão para o microfone e usa o reconhecimento de voz disponibilizado pelo dispositivo para converter a fala em texto. A Kalori não carrega nem armazena a gravação de áudio. Apenas o texto que decidir enviar é tratado como uma mensagem para o assistente de IA.
Tratamos os seus dados pessoais com base nas seguintes bases legais:
| Dados | Finalidade | Base Legal |
|---|---|---|
| Dados da Conta | Criação e gestão da conta, prestação do serviço | Execução do contrato (Art. 6(1)(b)) |
| Dados de Saúde e Corporais | Planos de treino e nutrição personalizados | Consentimento explícito (Art. 6(1)(a) e Art. 9(2)(a)) |
| Dados de Nutrição | Análise nutricional, monitorização de macros | Consentimento explícito (Art. 6(1)(a)) |
| Dados HealthKit | Sincronização de peso e treinos | Consentimento explícito (Art. 6(1)(a)) |
| Dados do Dispositivo | Compatibilidade e localização da app | Execução do contrato (Art. 6(1)(b)) |
| Dados de Utilização | Melhoria da experiência e funcionalidades | Consentimento (Art. 6(1)(a)) |
| Dados de Erros | Estabilidade e segurança da aplicação | Interesse legítimo (Art. 6(1)(f)) |
| Estado da Subscrição | Gestão de acessos e funcionalidades premium | Execução do contrato (Art. 6(1)(b)) |
| Dados de Pagamento das Compras Diretas | Cobrança, renovação, recibos, reembolsos, retratação e gestão da subscrição pela Stripe | Execução do contrato (Art. 6(1)(b)) |
| Registos de Faturação | Cumprimento de obrigações fiscais e contabilísticas | Obrigação legal (Art. 6(1)(c)) |
| Reporte de Compras à Apple | Cumprimento das condições da Apple para oferecer pagamentos fora da App Store na UE | Interesse legítimo (Art. 6(1)(f)) |
| Tokens Push | Envio de notificações relevantes | Consentimento (Art. 6(1)(a)) |
| Conversas com IA | Assistência personalizada de fitness e nutrição | Consentimento (Art. 6(1)(a)) |
| Conteúdo Comunitário | Publicação, interação, moderação e segurança da comunidade | Execução do contrato e interesse legítimo (Art. 6(1)(b) e (f)) |
| Transcrições de Voz | Introdução opcional de mensagens por voz | Consentimento (Art. 6(1)(a)) |
A Kalori utiliza modelos de inteligência artificial para fornecer funcionalidades essenciais da aplicação:
Todas as chamadas a APIs de IA são feitas do lado do servidor (através de Supabase Edge Functions). Os fornecedores tratam os dados segundo os respetivos termos, acordos e políticas de privacidade.
| Funcionalidade | Serviço de IA | Dados enviados | Finalidade |
|---|---|---|---|
| Scan de alimentos | Google Gemini / Google LLC | Fotografia do alimento e idioma da app | Identificar alimentos e estimar calorias/macros |
| Plano de refeições | OpenAI | Objetivos, calorias, macros, dieta, alergias e preferências | Gerar um plano semanal personalizado |
| Plano de treino | OpenAI | Objetivo, nível, equipamento, limitações de saúde e lesões | Gerar um plano de treino adaptado |
| Chat IA | OpenAI | Mensagens e histórico; nome, idade, sexo, peso, altura, IMC, gordura corporal, objetivo, alergias, dieta, condições de saúde, medicação, lesões, refeições, treinos, medidas e preferências guardadas | Gerar respostas conversacionais personalizadas |
Antes de qualquer dado pessoal ser enviado para Google Gemini ou OpenAI, a app apresenta um ecrã dedicado de consentimento que identifica os dados enviados, os destinatários e a finalidade. As funcionalidades de IA só são ativadas no servidor após consentimento registado.
As mensagens proativas são geradas por regras da Kalori e não enviam atividade a um fornecedor de IA. Não enviamos fotografias corporais, dados HealthKit brutos nem dados de pagamento a serviços de IA.
A aplicação utiliza IA para gerar automaticamente planos de refeições e planos de treino com base nos seus dados pessoais (peso, altura, objetivos, nível de fitness, preferências alimentares e alergias). Estas recomendações são geradas automaticamente, mas:
Os seus dados pessoais podem ser partilhados com os seguintes subcontratantes:
| Subcontratante | Finalidade | Localização | Acordo de Proteção de Dados |
|---|---|---|---|
| Supabase | Base de dados, autenticação e funções serverless | Frankfurt, UE | DPA Supabase |
| Google (Gemini API) | Análise de fotografias de alimentos | UE/EUA | Google Cloud DPA |
| OpenAI | Assistente de chat e geração de planos | EUA | OpenAI DPA |
| PostHog | Analítica e métricas de utilização | Frankfurt, UE | PostHog DPA |
| Sentry | Relatório de erros e falhas | Alemanha, UE | Sentry DPA |
| RevenueCat | Gestão de subscrições | EUA | RevenueCat DPA |
| Stripe Payments Europe, Limited | Pagamentos diretos com Apple Pay e cartão, recibos, portal de faturação e prevenção de fraude | Irlanda, UE (com transferências para os EUA) | Stripe DPA |
| Cloudflare R2 | Armazenamento de fotografias de refeições | Rede global | Cloudflare DPA |
| Resend | Emails transacionais e de suporte | EUA | Resend DPA |
| Expo | Envio de notificações push (token push do dispositivo e conteúdo da notificação) | EUA | Expo DPA |
| Apple | Pagamentos da App Store, HealthKit e receção do reporte das compras feitas fora da App Store | EUA/Irlanda | Apple DPA |
Alguns dos nossos subcontratantes estão localizados fora do Espaço Económico Europeu (EEE), nomeadamente nos Estados Unidos da América. Nestas situações, asseguramos que existem garantias adequadas para a proteção dos seus dados, incluindo:
Os dados armazenados na Supabase e PostHog encontram-se em servidores localizados na União Europeia.
A Stripe trata os dados de pagamento a partir da Irlanda e pode transferi-los para a Stripe nos Estados Unidos ao abrigo do Quadro de Proteção de Dados UE-EUA e das Cláusulas Contratuais-Tipo.
Conservamos os seus dados pessoais durante o período em que a sua conta estiver ativa. Após a eliminação da conta:
Após apagar a conta, conservamos apenas identificadores pseudónimos de compra, a contagem e a primeira e última data de chamadas pagas de IA e o estado do consentimento, por interesse legítimo na defesa de pedidos de reembolso e prevenção de fraude (art. 6.º, n.º 1, al. f), RGPD). O resumo e o registo de compras na RevenueCat são conservados até 90 dias e 12 horas após a última compra ou renovação, sendo depois eliminados. O resumo não contém conteúdos, nomes ou emails. A partilha com a Apple exige consentimento v3; pode exercer oposição ou retirar o consentimento através de support@repzai.app.
Ao abrigo do Regulamento Geral sobre a Proteção de Dados (RGPD), tem os seguintes direitos:
Para exercer qualquer um destes direitos, envie um email para support@repzai.app. Responderemos no prazo máximo de 30 dias.
Tem o direito de apresentar uma reclamação junto da autoridade de controlo competente:
A Kalori não se destina a menores de 16 anos. Não recolhemos intencionalmente dados pessoais de menores de 16 anos. Se tomarmos conhecimento de que recolhemos dados de um menor de 16 anos, eliminaremos esses dados imediatamente. Se acredita que um menor forneceu dados pessoais, contacte-nos em support@repzai.app.
Implementamos medidas técnicas e organizativas adequadas para proteger os seus dados pessoais, incluindo:
Quando autoriza a integração com o Apple HealthKit:
Podemos atualizar esta Política de Privacidade periodicamente. Em caso de alterações significativas:
Para questões sobre esta política de privacidade ou sobre o tratamento dos seus dados pessoais:
Kalori, last updated: October 19, 2026
The data controller responsible for your personal data is:
For any questions regarding the protection of your personal data, please contact us at support@repzai.app.
We collect and process the following categories of data:
Email address, full name, date of birth, and gender. This data is necessary to create and manage your account.
Weight, height, body measurements, body photos, dietary preferences, allergies, fitness level, and workout history. This data is considered sensitive under GDPR (Article 9) and requires your explicit consent for processing.
Food scans (photos), meal logs, and calorie/macronutrient tracking.
Read: steps, active calories, workouts, sleep, heart rate and weight. Write: weight, height, logged meals (calories and macros) and water. This integration is optional and requires your explicit authorization. HealthKit data is not used for advertising and is not shared with third parties, except when directly related to providing a health benefit to you within the app.
Device model, operating system version, language, and timezone.
App interactions and feature usage, collected through the PostHog analytics platform (EU servers).
Error logs and application crash reports, collected through Sentry to improve app stability.
Subscription status, managed through RevenueCat and Apple (App Store purchases) or Stripe (direct purchases from Kalori). We do not store payment details (card numbers, bank information). Payment data is handled directly by Apple and Stripe.
Direct purchases from Kalori: in the EU countries where the option is shown, you can pay with Apple Pay or card, with payment processed by Stripe Payments Europe, Limited (Ireland). Your full card number never reaches Kalori: it is entered in Apple Pay or on the Stripe payment page and stays with Stripe. To create and manage the purchase, Stripe receives your Kalori account identifier, the email linked to the purchase (your App account email or the one given when paying; it is used for receipts and the Stripe billing portal), your country and, if any, the invite or creator code used. Through Stripe and RevenueCat, we only receive the country, the card brand, expiry date and last 4 digits, the cardholder name when you provide it, the dates and amounts of charges and refunds, and the subscription status. Stripe processes this data on our behalf, as a processor, to carry out the payment and, for its own purposes such as fraud prevention and compliance with legal obligations, as a controller, under the Stripe Privacy Policy.
Reporting to Apple: Apple's terms for payments outside the App Store in the EU require us to report to Apple each purchase, renewal, and refund made that way, so that Apple can calculate its commission. We send the purchase identifier created by iOS when Apple shows its notice, the product, dates, amounts, VAT, currency, and tax country. We do not send your name, email, card details, or health data. Apple processes this data as a controller.
Refund requests: if you request a refund from Apple and have given your consent, RevenueCat sends Apple, on our behalf, information about how you used the App (for example, whether you used the AI features and whether the purchase was delivered). Apple always makes the final decision.
Device identifiers for delivering push notifications, used exclusively for app-related communications.
Messages exchanged with the in-app AI assistant, used to provide personalized and contextual responses.
Posts, comments, reactions, profile and content photos, group participation, reports, and blocks. Content you choose to publish may be visible to other authenticated users. Reports and blocks are handled confidentially for moderation and safety.
When you use voice input, the App requests microphone permission and uses speech recognition provided by the device to convert speech into text. Kalori does not upload or store the audio recording. Only text you choose to send is handled as a message to the AI assistant.
We process your personal data based on the following legal grounds:
| Data | Purpose | Legal Basis |
|---|---|---|
| Account Data | Account creation and management, service delivery | Performance of contract (Art. 6(1)(b)) |
| Health and Body Data | Personalized workout and nutrition plans | Explicit consent (Art. 6(1)(a) and Art. 9(2)(a)) |
| Nutrition Data | Nutritional analysis, macro tracking | Explicit consent (Art. 6(1)(a)) |
| HealthKit Data | Weight and workout synchronization | Explicit consent (Art. 6(1)(a)) |
| Device Data | App compatibility and localization | Performance of contract (Art. 6(1)(b)) |
| Usage Data | Improving user experience and features | Consent (Art. 6(1)(a)) |
| Crash Data | App stability and security | Legitimate interest (Art. 6(1)(f)) |
| Subscription Status | Managing access and premium features | Performance of contract (Art. 6(1)(b)) |
| Direct Purchase Payment Data | Charging, renewal, receipts, refunds, withdrawal, and subscription management through Stripe | Performance of contract (Art. 6(1)(b)) |
| Billing Records | Compliance with tax and accounting obligations | Legal obligation (Art. 6(1)(c)) |
| Purchase Reporting to Apple | Compliance with Apple's terms for offering payments outside the App Store in the EU | Legitimate interest (Art. 6(1)(f)) |
| Push Tokens | Delivering relevant notifications | Consent (Art. 6(1)(a)) |
| AI Conversations | Personalized fitness and nutrition assistance | Consent (Art. 6(1)(a)) |
| Community Content | Publishing, interaction, moderation, and community safety | Performance of contract and legitimate interests (Art. 6(1)(b) and (f)) |
| Voice Transcripts | Optional voice entry for messages | Consent (Art. 6(1)(a)) |
Kalori uses artificial intelligence models to provide core app functionalities:
All AI API calls are made server-side (through Supabase Edge Functions). Providers process data under their applicable terms, agreements, and privacy policies.
| Feature | AI service | Data sent | Purpose |
|---|---|---|---|
| Food scan | Google Gemini / Google LLC | Food photo and app language | Identify foods and estimate calories/macros |
| Meal plan | OpenAI | Goals, calorie targets, macros, diet, allergies, preferences | Generate a personalized weekly plan |
| Workout plan | OpenAI | Goal, level, equipment, health limitations, and injuries | Generate a tailored workout plan |
| AI chat | OpenAI | Messages and history; name, age, sex, weight, height, BMI, body-fat percentage, target, allergies, diet, health conditions, medication, injuries, meals, workouts, measurements, and saved preferences | Generate personalized conversational responses |
Before any personal data is sent to Google Gemini or OpenAI, the app shows a dedicated consent screen that identifies the data sent, the recipients, and the purpose. AI features are enabled server-side only after consent is recorded.
Proactive messages are generated by Kalori rules and do not send activity to an AI provider. We do not send body photos, raw HealthKit data, or payment data to AI services.
The app uses AI to automatically generate meal plans and workout plans based on your personal data (weight, height, goals, fitness level, dietary preferences, and allergies). These recommendations are generated automatically, however:
Your personal data may be shared with the following processors:
| Processor | Purpose | Location | Data Processing Agreement |
|---|---|---|---|
| Supabase | Database, authentication, and serverless functions | Frankfurt, EU | Supabase DPA |
| Google (Gemini API) | Food-photo analysis | EU/US | Google Cloud DPA |
| OpenAI | AI chat assistant and plan generation | US | OpenAI DPA |
| PostHog | Analytics and usage metrics | Frankfurt, EU | PostHog DPA |
| Sentry | Crash and error reporting | Germany, EU | Sentry DPA |
| RevenueCat | Subscription management | US | RevenueCat DPA |
| Stripe Payments Europe, Limited | Direct Apple Pay and card payments, receipts, billing portal, and fraud prevention | Ireland, EU (with transfers to the US) | Stripe DPA |
| Cloudflare R2 | Meal-photo storage | Global network | Cloudflare DPA |
| Resend | Transactional and support email | US | Resend DPA |
| Expo | Push notification delivery (device push token and notification content) | US | Expo DPA |
| Apple | App Store payments, HealthKit, and receipt of reports on purchases made outside the App Store | US/Ireland | Apple DPA |
Some of our processors are located outside the European Economic Area (EEA), namely in the United States. In these cases, we ensure that adequate safeguards are in place to protect your data, including:
Data stored in Supabase and PostHog is located on servers in the European Union.
Stripe processes payment data from Ireland and may transfer it to Stripe in the United States under the EU-U.S. Data Privacy Framework and the Standard Contractual Clauses.
We retain your personal data for as long as your account is active. After account deletion:
After account deletion, we retain only pseudonymous purchase identifiers, the count and first and last dates of paid AI calls, and consent status, based on legitimate interests in defending refund claims and preventing fraud (GDPR Art. 6(1)(f)). The summary and RevenueCat purchase record are kept until 90 days and 12 hours after the last purchase or renewal, then deleted. The summary contains no content, names or emails. Sharing with Apple requires v3 consent; you may object or withdraw consent at support@repzai.app.
Under the General Data Protection Regulation (GDPR), you have the following rights:
To exercise any of these rights, send an email to support@repzai.app. We will respond within 30 days.
You have the right to lodge a complaint with the competent supervisory authority:
Kalori is not intended for individuals under 16 years of age. We do not knowingly collect personal data from children under 16. If we become aware that we have collected data from a child under 16, we will delete it immediately. If you believe a minor has provided personal data, please contact us at support@repzai.app.
We implement appropriate technical and organizational measures to protect your personal data, including:
When you authorize Apple HealthKit integration:
We may update this Privacy Policy periodically. In the event of significant changes:
For questions about this privacy policy or the processing of your personal data: