Política de privacidade do Garaj
O Garaj é um app para registrar os abastecimentos, os gastos e a manutenção da sua moto. Ele funciona sem cadastro e guarda seus registros no seu celular. Esta política explica o que fica no aparelho, o que sai dele, para quem vai e por quanto tempo.
Quem cuida dos seus dados
O controlador dos dados é Lucas Linard. Para dúvidas, pedidos ou reclamações sobre seus dados, escreva para lpglinard@icloud.com. O app também abre esse e-mail em Ajustes.
O que fica no seu celular
Suas motos (com a foto que você escolher), seus abastecimentos, suas manutenções e seus lembretes ficam no seu celular, num banco de dados do app. O Garaj não recebe seus abastecimentos e manutenções, a não ser os preços que você compartilha e, se você ligar a Garupa, o que ela envia (veja abaixo). Das suas motos, o Garaj recebe os dados do catálogo (veja abaixo); o tanque e o odômetro não saem do celular, com a exceção da Garupa e da leitura de foto, descritas abaixo; a foto da moto não sai.
Também ficam no seu celular, como seus outros registros:
- as fotos da bomba e do odômetro que você guarda num abastecimento e a do odômetro de uma manutenção, sem os dados de localização da foto;
- os postos que você confirmou, com o nome que você deu a eles, e, quando o app tem motivo para achar que você estava no posto, o ponto do GPS onde você estava ao registrar o abastecimento. Isso serve para reconhecer o posto da próxima vez e não vai para o Garaj nem para os relatórios de uso.
No iPhone e no Android, como seus outros arquivos, esses dados podem entrar no backup do aparelho, conforme a configuração dele. No Android, uma transferência que você faça para um celular novo também leva os dados junto. Para guardar uma cópia, use "Exportar meus dados", em Ajustes: o arquivo vai para onde você escolher, e o Garaj não fica com cópia dele. O arquivo traz os lugares onde você abasteceu (o ponto do GPS de cada abastecimento) e as fotos: guarde-o como guardaria os documentos da moto. Os dados saem do celular quando você apaga o registro, a moto, todos os seus dados ("Apagar todos os meus dados", em Ajustes) ou o app.
Os lembretes de manutenção são notificações agendadas no próprio celular; nada é enviado a um servidor para isso. O aviso do plano do fabricante, abaixo, é a única notificação que vem de fora.
O que sai do seu celular, e para quê
Um código do aparelho e as configurações do seu país
Ao abrir, o app cria uma conta anônima no Firebase, do Google, que dá ao aparelho um código aleatório, sem pedir seu nome nem seu e-mail. O app também busca no Firebase os combustíveis, a moeda e outras configurações do seu país. Isso acontece com ou sem os relatórios de uso.
Para proteger o servidor do Garaj de abusos, o app pede ao sistema (Play Integrity no Android, App Attest no iPhone) um atestado de que é o app verdadeiro, que o Firebase App Check confere.
Suas motos na sua conta
De cada moto, o app guarda na conta do Firebase do seu aparelho a marca, o modelo (ou o que você digitou como modelo, numa moto fora do catálogo), o ano e a ficha FIPE, com a cotação do mês em que você a escolheu no catálogo (combustível, valor de mercado e mês de referência). Isso acontece com ou sem os relatórios de uso e não tem um botão para desligar. Serve para o app te orientar sobre a sua moto. Os dados ficam ligados ao código aleatório do aparelho, sem seu nome nem seu e-mail.
- Quando você exclui a moto no app, o app apaga esses dados da conta, se houver conexão.
- Se você apaga o app ou troca de celular, o aparelho novo recebe outro código e os dados da conta antiga ficam sem uso. O Garaj ainda não tem prazo para apagá-los. Para pedir que sejam apagados, escreva ao controlador.
O catálogo de motos (Brasil)
Quando você cadastra ou edita uma moto pelo catálogo, o app pede ao servidor do Garaj a lista de marcas ao abrir o formulário, a de anos quando você escolhe a marca, a de modelos quando escolhe o ano e a ficha FIPE do modelo quando o escolhe. Cada pedido leva o código do que você escolheu no catálogo (marca, ano e modelo), o código aleatório do aparelho e o atestado de que o app é o verdadeiro. Não vão o nome da moto, o tanque, o odômetro, as fotos nem a sua localização. Isso acontece sempre que o formulário usa o catálogo e não tem um botão para desligar.
- Para responder, o servidor pergunta à apifipe (apifipe.com.br), que fornece a tabela FIPE das motos, pelos códigos que você escolheu, com a chave do Garaj. Quem pergunta é o servidor: a apifipe não recebe o código do aparelho nem o endereço IP do seu celular.
- O servidor usa o código do aparelho para limitar a quantidade de pedidos e não o põe nos seus registros. Os registros do Garaj sobre o catálogo guardam o resultado, o tempo que levou e quantos itens vieram, nunca os códigos que você escolheu; os registros técnicos do servidor são os descritos em "Por quanto tempo".
- Para não repetir a pergunta, o servidor guarda cada resposta da apifipe na memória e a descarta depois de 24 horas, ou antes se precisar de espaço, sem ligá-la a nenhum aparelho.
O pedido de plano de um modelo sem plano
Quando uma moto escolhida no catálogo é salva na sua conta (veja acima), ou muda de modelo, e o Garaj ainda não tem o plano de manutenção do fabricante daquele modelo e ano, o servidor do Garaj abre uma issue (um pedido de tarefa) no GitHub, num repositório privado, para que o responsável ache o manual do fabricante e publique o plano. Isso acontece sozinho, junto com o envio da moto à conta, e não tem um botão para desligar. Uma moto fora do catálogo não abre nada.
- A issue traz a marca, o modelo, o ano, o código FIPE e a chave interna do plano. Não vão seu nome, seu e-mail, o código da sua conta, o identificador da sua moto, o nome que você deu a ela, o tanque, o odômetro nem as fotos. Quem a abre é o servidor do Garaj: o GitHub não recebe nada do seu celular nem o seu endereço IP.
- Abre-se uma issue por modelo e ano, não por moto. Os outros pilotos que cadastram o mesmo modelo aumentam um contador no Garaj, que guarda no seu banco de dados, no Firebase, a marca, o modelo, o ano, o código FIPE, a data do primeiro pedido e quantas vezes ele foi feito, sem o código da sua conta nem o identificador da moto.
- Quando o plano é publicado, a issue é fechada.
Aviso do plano do fabricante
Quando uma moto escolhida no catálogo ainda não tem o plano de manutenção do fabricante no Garaj, o app pode avisar quando ele sair. Vem ligado e você desliga quando quiser em Ajustes (“Avisar quando o plano da minha moto sair”); só funciona com as notificações do app permitidas. Para entregar o aviso, o app inscreve o celular, no Firebase Cloud Messaging, do Google, num tópico do modelo e do ano da moto. O serviço fica sabendo um código do celular e o modelo e o ano de cada moto que espera o plano, nunca seu nome, sua conta nem quais motos são suas; o Garaj não guarda esse código. Quando o plano chega, a moto é apagada ou o aviso é desligado, o celular sai do tópico, e, sem nenhum tópico, o código é apagado do serviço.
Relatórios de erro e de uso
Vêm ligados e você desliga quando quiser em Ajustes. Quando ligados, o app envia ao Firebase Crashlytics os relatórios de falhas e ao Google Analytics for Firebase eventos de uso (por exemplo, que uma tela foi aberta ou que um abastecimento foi registrado, sem os valores), ligados ao código aleatório do aparelho, sem seu nome nem seu e-mail. Os relatórios trazem o modelo do aparelho, as versões do sistema e do app, o idioma, a região aproximada e quando e por quanto tempo você usa o app. Servem para corrigir falhas e melhorar o app. Desligados, o app para de enviar, e os relatórios de falha que ainda estiverem no aparelho são apagados na próxima vez que você abrir o app. O app não usa o identificador de publicidade e não mostra anúncios.
Sua localização
Só com sua permissão e só com o app aberto: em Postos, para mostrar os postos perto de você, e ao registrar um abastecimento, para reconhecer o posto onde você está.
- Para buscar postos, sua localização vai arredondada (cerca de 110 m em Postos e 11 m ao registrar), pelo servidor do Garaj, ao Google Maps Platform ou à HERE. O servidor não guarda a localização; ele a usa também para achar a média de preço do seu estado e a do seu município, quando houver. Ele faz essa conta ali mesmo, sobre os mapas dos municípios do IBGE que vêm no próprio servidor, sem enviar a localização a mais ninguém para isso.
- O mapa vem do mesmo provedor, que recebe o endereço IP do seu aparelho e a área que você vê. Com a HERE, as imagens do mapa vêm da HERE direto para o seu celular.
- O código de um posto achado pela HERE é apagado do seu celular depois de 30 dias, na próxima vez que você abrir o app.
Fotos da bomba e do odômetro
Quando você fotografa a bomba ou o odômetro num abastecimento ou numa manutenção, a foto vai, sem sua localização, ao Gemini do Google, pelo Firebase AI Logic, só para ler os números e preencher o formulário. Pelos termos do Google para a API paga do Gemini, o conteúdo não é usado para melhorar os produtos do Google. A foto fica guardada no seu celular. O Garaj guarda um registro desse pedido (as instruções e os números lidos, não a foto) nos registros do Firebase por 60 dias. A foto da moto não sai do celular.
A Garupa (se você ligar)
A Garupa é a assistente do app. Vem desligada: só funciona depois que você lê o aviso e toca em "Ligar a Garupa", e você a desliga quando quiser em Ajustes (o app para de enviar na hora). Quando ligada, a cada mensagem o app envia o que você escreveu e estes dados da moto ativa: identidade e especificações, odômetro, data, litros, total e consumo dos abastecimentos, registros e lembretes de manutenção e o plano do fabricante. Nunca vão fotos, pontos de GPS, os lugares que você nomeou, anotações em texto livre, seu e-mail nem o código da sua conta.
- Tudo isso vai para o Gemini, do Google, pelo Firebase AI Logic, e é processado fora do Brasil. Pelos termos do Google para a API paga do Gemini, o conteúdo não é usado para melhorar os produtos do Google; o Google guarda os pedidos e as respostas por um período limitado, que os termos não informam, para prevenir abusos e cumprir a lei. O Garaj não promete que o Google os apague.
- O Garaj guarda uma cópia das suas mensagens, das respostas e dos dados enviados nos registros do Firebase por 60 dias, para ver de onde veio uma resposta.
- A conversa fica no seu celular, como seus outros registros, e pode entrar nos backups do aparelho. Em "Apagar conversa", em Ajustes, você a apaga do app.
- Uma resposta pode estar errada; onde houver diferença, vale o manual do fabricante. A Garupa não diagnostica defeitos e mostra de onde tirou cada resposta. Ela é para maiores de 18 anos.
Preços compartilhados (Brasil)
Com "Compartilhar meus preços" ligado em Ajustes (vem ligado), quando você registra um abastecimento num posto, vão ao Garaj o preço por litro, em reais, o combustível, o posto, a hora cheia do abastecimento e se o seu celular confirmou que você estava no posto. Essa confirmação é um sim ou um não, decidido no celular: sim quando a localização do celular, precisa, mostrou você no posto ao registrar e o preço não veio, sem mudança, da leitura da foto da bomba. O Garaj a usa para decidir quando publicar o preço, e ela não aparece para outros pilotos. Não vão seu nome, seu e-mail, o ponto do GPS, o total, os litros, o odômetro nem as fotos.
- O preço aparece a outros pilotos que também compartilham, uma hora depois ou mais. Só quem compartilha vê o preço dos outros pilotos; a média de preço do seu estado aparece para todos. Quem vê um preço publicado sabe que alguém abasteceu naquele posto naquela hora.
- O Garaj guarda cada preço por cerca de duas semanas, com um código derivado da sua conta que só serve para contar um voto por piloto. O servidor não guarda o código da sua conta como ele é, mas o Garaj tem a chave que gera esse código, então esses dados são pseudônimos, não anônimos.
- Quando você volta a um posto seu que a HERE não identificou nos últimos 29 dias, o Garaj pode perguntar de novo à HERE, pela sua localização arredondada, qual é o posto, no máximo uma vez a cada 29 dias, só para enviar o preço.
- Desligar o envio para de mandar preços na hora e descarta os que ainda não saíram. Em "Apagar os preços que já enviei", você apaga os preços enviados deste celular. Os enviados de outro celular, ou antes de reinstalar o app, somem sozinhos em cerca de duas semanas.
Com quem os dados são compartilhados
- Google (Firebase, Google Cloud, Google Maps Platform e Gemini), que trata os dados como operador do Garaj, e, no mapa, também conforme a política de privacidade do Google e os termos adicionais do Google Maps.
- HERE (HERE Global B.V.), que fornece o mapa e a busca de postos, conforme a política de privacidade da HERE e os termos de uso da HERE.
- apifipe (apifipe.com.br), que fornece a tabela FIPE das motos: recebe do servidor do Garaj os códigos de marca, ano e modelo que você escolhe no catálogo, sem o código do aparelho e sem o seu endereço IP.
- GitHub, onde o servidor do Garaj abre o pedido de plano de um modelo sem plano: recebe a marca, o modelo, o ano e o código FIPE desse modelo, sem o código da sua conta nem o identificador da sua moto.
- Outros pilotos que compartilham preços veem os preços publicados, como descrito acima.
Esses fornecedores podem tratar os dados fora do Brasil, inclusive nos Estados Unidos e na Europa, com as salvaguardas previstas em seus contratos. Para a Garupa, a transferência para o Google no exterior se baseia no seu consentimento, que você dá ao ligá-la. O Garaj não vende dados nem os usa para publicidade.
Por quanto tempo
- Relatórios de uso no Google Analytics: até 2 meses. Relatórios de falha no Crashlytics: cerca de 90 dias.
- Preços compartilhados: cerca de duas semanas no servidor.
- Registros técnicos do servidor, que podem incluir o endereço IP de uma requisição e nunca incluem sua localização: até 30 dias no Google Cloud.
- Dados do catálogo das suas motos na conta: até você excluir a moto no app; contas que não são mais usadas ainda não têm prazo.
- Pedidos ao catálogo: as respostas ficam na memória do servidor e são descartadas depois de 24 horas, ou antes se ele precisar de espaço, e os registros do Garaj sobre o catálogo guardam o resultado, o tempo que levou e quantos itens vieram, nunca os códigos que você escolheu.
- O pedido de plano de um modelo (marca, modelo, ano, código FIPE, a data do primeiro pedido e quantas vezes foi feito), no banco de dados do Garaj, no Firebase, e a issue no GitHub: ficam sem prazo para serem apagados, e excluir a moto, o app ou usar “Apagar todos os meus dados” não os apaga. Eles não trazem o código da sua conta nem o identificador da sua moto.
- Cópia da Garupa e dos pedidos de leitura de foto nos registros do Firebase (mensagens, respostas e dados enviados): 60 dias. A conversa no celular: até você apagá-la ou apagar o app.
- Seus registros no celular: até você apagá-los, um a um ou todos em "Apagar todos os meus dados", ou apagar o app.
Bases legais
No Brasil, pela LGPD, o Garaj trata os dados para prestar o serviço que você pede (buscar postos, ler uma foto, mostrar o mapa, consultar o catálogo de motos) e com base no legítimo interesse para os relatórios de erro e uso e para os preços compartilhados, que você pode desligar a qualquer momento. Para a Garupa, o Garaj trata os dados com o seu consentimento, que você dá ao ligá-la e retira quando quiser desligando-a. Os dados do catálogo das suas motos na conta servem para o app te orientar sobre a sua moto. O pedido de plano de um modelo sem plano é um registro de trabalho do próprio Garaj, dos modelos que ainda não têm plano, e não traz dados que identifiquem você. A localização só é usada com a permissão que você dá no sistema.
Seus direitos
Você pode pedir confirmação de que tratamos seus dados, acesso, correção, anonimização, bloqueio ou eliminação, portabilidade, informação sobre compartilhamento e revisão de decisões, e pode se opor a um tratamento, escrevendo para lpglinard@icloud.com. Como o Garaj não pede cadastro, podemos precisar do código do aparelho para achar seus dados. O pedido de plano de um modelo (a marca, o modelo, o ano e o código FIPE) e a issue no GitHub não trazem nenhum identificador seu; por isso não podem ser localizados nem apagados a pedido de um piloto, e não são apagados quando você exclui a moto, o app ou os seus dados. Você também pode reclamar à Autoridade Nacional de Proteção de Dados (ANPD). Na Índia, você pode escrever ao mesmo endereço e, depois da nossa resposta, recorrer ao Data Protection Board of India.
Você controla a maior parte disso no próprio app: os relatórios de uso, o compartilhamento de preços e a Garupa se desligam em Ajustes, a localização nas permissões do sistema, seus registros se exportam ("Exportar meus dados") e se apagam no app, um a um ou todos de uma vez ("Apagar todos os meus dados", que também apaga as motos da conta e retira os preços que você compartilhou). Os pedidos sobre a cópia da Garupa nos registros e sobre os dados das motos na conta seguem o mesmo caminho: o e-mail acima.
"Apagar todos os meus dados" retira primeiro os preços que você compartilhou deste celular: se a retirada der erro, não apaga nada, para você tentar de novo; se só faltar conexão, os preços esperam por ela e o resto é apagado. Depois apaga do celular seus registros e fotos e, da sua conta, as motos (sem conexão, quando ela voltar). Ficam, de propósito:
- suas escolhas em Ajustes, como os relatórios de uso, o compartilhamento de preços e a Garupa: apagá-las ligaria de novo o que você desligou;
- os preços compartilhados que ainda esperam uma conexão para ser retirados: o app os retira quando ela voltar;
- os planos de manutenção dos fabricantes que o app trouxe para o celular, que são do catálogo, iguais para todos os pilotos;
- a conta anônima no Firebase, com o código aleatório do aparelho;
- o que o Firebase e o Google Cloud já guardam (os relatórios de uso e de falha, a cópia da Garupa e dos pedidos de leitura de foto nos registros e os registros técnicos do servidor), pelos prazos de "Por quanto tempo"; para pedir que sejam apagados, escreva para o e-mail acima;
- o pedido de plano de um modelo e a issue no GitHub, como diz "Por quanto tempo";
- os backups que o aparelho já tenha feito.
Crianças
O Garaj é feito para maiores de 18 anos e não coleta dados de crianças de propósito.
Segurança
As conexões com o servidor do Garaj e com os fornecedores usam HTTPS. O servidor só aceita chamadas do app verdadeiro (Firebase App Check) e guarda os preços em um banco que nenhum aparelho lê ou escreve diretamente.
Mudanças
Quando esta política mudar, a nova versão fica nesta página com a data no topo. Se a mudança alterar o que o app envia, o app mostra um aviso novo.
Garaj privacy policy
Garaj is an app to log your motorcycle's fill-ups, costs and maintenance. It works without an account and keeps your records on your phone. This policy explains what stays on the device, what leaves it, where it goes and for how long.
Who looks after your data
The data controller is Lucas Linard. For questions, requests or complaints about your data, write to lpglinard@icloud.com. The app also opens this address from Settings.
What stays on your phone
Your motorcycles (with the photo you choose), fill-ups, maintenance and reminders are kept on your phone, in the app's database. Garaj does not receive your fill-ups and maintenance, except the prices you share and, if you turn on the Garupa, what it sends (see below). Of your motorcycles, Garaj receives the catalogue data (see below); the tank and the odometer do not leave the phone, except through the Garupa and photo reading, described below; the motorcycle's photo does not leave it.
Also kept on your phone, like your other records:
- the pump and odometer photos you keep with a fill-up and the odometer photo of maintenance done, without the photo's location data;
- the stations you confirmed, with the name you gave them, and, when the app has reason to believe you were at the station, the GPS point where you were when you logged the fill-up. This is used to recognise the station next time and goes neither to Garaj nor into the usage reports.
On an iPhone or an Android phone, like your other files, this data may be included in the device's backup, depending on its settings. On Android, a transfer you make to a new phone also takes the data along. To keep a copy, use "Export my data" in Settings: the file goes wherever you choose, and Garaj keeps no copy of it. The file holds the places where you filled up (the GPS point of each fill-up) and the photos: keep it as you would your motorcycle's papers. The data leaves the phone when you delete the record, the motorcycle, all your data ("Delete all my data" in Settings) or the app.
Maintenance reminders are notifications scheduled on the phone itself; nothing is sent to a server for them. The manufacturer plan notice, below, is the only notification that comes from outside.
What leaves your phone, and why
A device code and your country's settings
When it opens, the app creates an anonymous account with Google's Firebase, which gives the device a random code without asking for your name or email. The app also fetches your country's fuels, currency and other settings from Firebase. This happens with or without usage reports.
To protect Garaj's server from abuse, the app asks the system (Play Integrity on Android, App Attest on iPhone) for an attestation that it is the genuine app, which Firebase App Check verifies.
Your motorcycles in your account
For each motorcycle, the app keeps in your device's Firebase account the brand, the model (or what you typed as the model, for a motorcycle outside the catalogue), the year and the FIPE entry, with the quote of the month you picked it from the catalogue (fuel, market value and reference month). This happens with or without usage reports and has no switch of its own. It lets the app guide you about your motorcycle. The data is linked to the device's random code, without your name or email.
- When you delete the motorcycle in the app, the app deletes this data from the account, if there is a connection.
- If you delete the app or change phones, the new device gets another code and the old account's data goes unused. Garaj has no deadline yet to delete it. To ask for it to be deleted, write to the controller.
The motorcycle catalogue (Brazil)
When you add or edit a motorcycle through the catalogue, the app asks Garaj's server for the list of brands when the form opens, the list of years when you pick the brand, the list of models when you pick the year, and the model's FIPE entry when you pick it. Each request carries the code of what you picked in the catalogue (brand, year and model), the device's random code and the attestation that the app is the genuine one. The motorcycle's name, tank, odometer, photos and your location are not sent. This happens whenever the form uses the catalogue and has no switch of its own.
- To answer, the server asks apifipe (apifipe.com.br), which provides the FIPE table of motorcycles, using the codes you picked, with Garaj's key. The server is the one asking: apifipe does not receive the device's code or your phone's IP address.
- The server uses the device's code to limit the number of requests and does not put it in its logs. Garaj's catalogue logs keep the result, how long it took and how many items came back, never the codes you picked; the server's technical logs are the ones described in "How long".
- So as not to repeat the question, the server keeps each answer from apifipe in memory and discards it after 24 hours, or sooner if it needs room, without linking it to any device.
The request for a model's missing plan
When a motorcycle picked from the catalogue is saved to your account (see above), or changes model, and Garaj does not yet have the manufacturer's maintenance plan for that model and year, Garaj's server opens an issue (a task request) on GitHub, in a private repository, so that the person responsible finds the manufacturer's manual and publishes the plan. This happens on its own, together with sending the motorcycle to the account, and has no switch of its own. A motorcycle outside the catalogue opens nothing.
- The issue carries the brand, the model, the year, the FIPE code and the plan's internal key. Your name, email, account's code, the motorcycle's identifier, the name you gave it, its tank, odometer and photos are not sent. Garaj's server is the one that opens it: GitHub receives nothing from your phone, nor your IP address.
- One issue is opened per model and year, not per motorcycle. Other riders who add the same model raise a counter at Garaj, which keeps in its own database, on Firebase, the brand, the model, the year, the FIPE code, the date of the first request and how many times it was made, without your account's code or the motorcycle's identifier.
- When the plan is published, the issue is closed.
The manufacturer plan notice
When a motorcycle picked from the catalog has no manufacturer maintenance plan in Garaj yet, the app can tell you when it is out. It comes on and you can turn it off at any time in Settings (“Tell me when my bike's plan is out”); it only works with the app's notifications allowed. To deliver the notice, the app subscribes the phone, in Google's Firebase Cloud Messaging, to a topic of the motorcycle's model and year. The service learns a code of the phone and the model and year of each motorcycle waiting for its plan, never your name, your account or which motorcycles are yours; Garaj does not keep that code. When the plan arrives, the motorcycle is deleted or the notice is turned off, the phone leaves the topic, and, with no topic left, the code is deleted from the service.
Crash and usage reports
They are on by default and you can turn them off at any time in Settings. When on, the app sends crash reports to Firebase Crashlytics and usage events to Google Analytics for Firebase (for example, that a screen was opened or a fill-up was logged, without the amounts), linked to the device's random code, without your name or email. The reports include the device model, the system and app versions, the language, the approximate region, and when and for how long you use the app. They are used to fix crashes and improve the app. When turned off, the app stops sending, and crash reports still on the device are deleted the next time you open the app. The app does not use the advertising ID and shows no ads.
Your location
Only with your permission and only while the app is open: in Stations, to show the stations near you, and when you log a fill-up, to recognise the station you are at.
- To search for stations, your location is sent rounded (about 110 m in Stations and 11 m when logging), through Garaj's server, to Google Maps Platform or HERE. The server does not store your location; it also uses it to find the average price of your state and, when there is one, of your municipality. It works this out itself, on IBGE's municipal maps that come with the server, without sending your location to anyone else for it.
- The map comes from the same provider, which receives your device's IP address and the area you are viewing. With HERE, the map images come from HERE straight to your phone.
- The code of a station found through HERE is deleted from your phone after 30 days, the next time you open the app.
Pump and odometer photos
When you photograph the pump or the odometer for a fill-up or maintenance done, the photo is sent, without your location, to Google's Gemini through Firebase AI Logic, only to read the numbers and fill in the form. Under Google's terms for the paid Gemini API, the content is not used to improve Google's products. The photo stays on your phone. Garaj keeps a record of that request (the instructions and the numbers read, not the photo) in its Firebase logs for 60 days. The motorcycle's photo never leaves the phone.
The Garupa (if you turn it on)
The Garupa is the app's assistant. It is off by default: it only works after you read the notice and tap "Turn on the Garupa", and you can turn it off at any time in Settings (the app stops sending at once). When on, with each message the app sends what you wrote and this data of the active motorcycle: identity and specs, odometer, the date, litres, total and consumption of its fill-ups, its maintenance records and reminders, and the manufacturer's plan. Photos, GPS points, the places you named, free-text notes, your email and your account's code are never sent.
- All of it goes to Google's Gemini, through Firebase AI Logic, and is processed outside Brazil. Under Google's terms for the paid Gemini API, the content is not used to improve Google's products; Google logs requests and responses for a limited period, which the terms do not state, to prevent abuse and comply with the law. Garaj does not promise that Google deletes them.
- Garaj keeps a copy of your messages, the answers and the data sent in its Firebase logs for 60 days, to see what an answer came from.
- The conversation is kept on your phone, like your other records, and may be included in the device's backups. In "Clear conversation", in Settings, you delete it from the app.
- An answer may be wrong; where they differ, the manufacturer's manual prevails. The Garupa does not diagnose faults and shows where each answer came from. It is for people aged 18 and over.
Shared prices (Brazil)
With "Share my prices" on in Settings (it is on by default), when you log a fill-up at a station, Garaj receives the price per litre, in reais, the fuel, the station, the whole hour of the fill-up and whether your phone confirmed you were at the station. That confirmation is a yes or a no, decided on the phone: yes when the phone's location, accurate enough, showed you at the station as you logged it and the price did not come, unchanged, from reading the pump's photo. Garaj uses it to decide when to publish the price, and other riders do not see it. Your name, email, GPS point, total, litres, odometer and photos are not sent.
- The price is shown to other riders who also share, an hour later or more. Only riders who share see other riders' prices; your state's average price is shown to everyone. Anyone who sees a published price knows that someone filled up at that station at that hour.
- Garaj keeps each price for about two weeks, with a code derived from your account that only serves to count one vote per rider. The server does not store your account's code as it is, but Garaj holds the key that derives that code, so this data is pseudonymous, not anonymous.
- When you return to a station of yours that HERE has not identified in the last 29 days, Garaj may ask HERE again, using your rounded location, which station it is, at most once every 29 days, only to send the price.
- Turning sharing off stops sending prices at once and discards those not yet sent. In "Delete the prices I've sent" you delete the prices sent from this phone. Those sent from another phone, or before reinstalling the app, disappear on their own in about two weeks.
Who the data is shared with
- Google (Firebase, Google Cloud, Google Maps Platform and Gemini), which processes the data on Garaj's behalf and, for the map, also under Google's privacy policy and the Google Maps additional terms.
- HERE (HERE Global B.V.), which provides the map and the station search, under HERE's privacy policy and HERE's End User Terms.
- apifipe (apifipe.com.br), which provides the FIPE table of motorcycles: receives from Garaj's server the brand, year and model codes you pick in the catalogue, without the device's code and without your IP address.
- GitHub, where Garaj's server opens the request for a model's missing plan: receives that model's brand, model, year and FIPE code, without your account's code or your motorcycle's identifier.
- Other riders who share prices see the published prices, as described above.
These providers may process the data outside your country, including in the United States and Europe, with the safeguards set out in their contracts. For the Garupa, the transfer to Google abroad rests on your consent, which you give by turning it on. Garaj does not sell data or use it for advertising.
How long
- Usage reports in Google Analytics: up to 2 months. Crash reports in Crashlytics: about 90 days.
- Shared prices: about two weeks on the server.
- The server's technical logs, which may include a request's IP address and never include your location: up to 30 days in Google Cloud.
- Your motorcycles' catalogue data in your account: until you delete the motorcycle in the app; accounts no longer in use have no deadline yet.
- Catalogue requests: the answers stay in the server's memory and are discarded after 24 hours, or sooner if it needs room, and Garaj's catalogue logs keep the result, how long it took and how many items came back, never the codes you picked.
- A model's plan request (brand, model, year, FIPE code, the date of the first request and how many times it was made), in Garaj's own database, on Firebase, and the issue on GitHub: they are kept with no deadline to delete them, and deleting the motorcycle, the app or using "Delete all my data" does not delete them. They do not carry your account's code or your motorcycle's identifier.
- The Garupa's and the photo-reading requests' copy in the Firebase logs (messages, answers and data sent): 60 days. The conversation on the phone: until you delete it or the app.
- Your records on the phone: until you delete them, one by one or all at once with "Delete all my data", or the app.
Legal bases
In Brazil, under the LGPD, Garaj processes data to provide the service you ask for (finding stations, reading a photo, showing the map, looking up the motorcycle catalogue) and on the basis of legitimate interest for crash and usage reports and shared prices, which you can turn off at any time. For the Garupa, Garaj processes data with your consent, which you give by turning it on and withdraw at any time by turning it off. The catalogue data of your motorcycles in your account lets the app guide you about your motorcycle. A model's plan request is Garaj's own working record of the models that still have no plan, and carries no data that identifies you. Location is only used with the permission you grant in the system.
Your rights
You may ask for confirmation that we process your data, access, correction, anonymisation, blocking or deletion, portability, information about sharing and review of decisions, and you may object to processing, by writing to lpglinard@icloud.com. Since Garaj asks for no account, we may need the device's code to find your data. A model's plan request (the brand, the model, the year and the FIPE code) and the issue on GitHub carry no identifier of yours; so they cannot be found or deleted at a rider's request, and they are not deleted when you delete the motorcycle, the app or your data. You may also complain to Brazil's data protection authority (ANPD). In India, you may write to the same address and, after our reply, appeal to the Data Protection Board of India.
You control most of this in the app itself: usage reports, price sharing and the Garupa are turned off in Settings, location in the system's permissions, and your records are exported ("Export my data") and deleted in the app, one by one or all at once ("Delete all my data", which also deletes the motorcycles from your account and withdraws the prices you shared). Requests about the Garupa's copy in the logs and about the motorcycle data in your account follow the same path: the email above.
"Delete all my data" first withdraws the prices you shared from this phone: if the withdrawal fails, it deletes nothing, so you can try again; if only a connection is missing, the prices wait for it and the rest is deleted. Then it deletes your records and photos from the phone and the motorcycles from your account (with no connection, once it is back). What stays, on purpose:
- your choices in Settings, such as usage reports, price sharing and the Garupa: deleting them would turn back on what you turned off;
- shared prices still waiting for a connection to be withdrawn: the app withdraws them once it is back;
- the manufacturers' maintenance plans the app brought to the phone, which are catalogue data, the same for every rider;
- the anonymous Firebase account, with the device's random code;
- what Firebase and Google Cloud already hold (usage and crash reports, the Garupa's and the photo-reading requests' copy in the logs, and the server's technical logs), for the periods in "How long"; to ask for them to be deleted, write to the email above;
- a model's plan request and the issue on GitHub, as "How long" says;
- any backups the device has already made.
Children
Garaj is made for people aged 18 and over and does not knowingly collect children's data.
Security
Connections to Garaj's server and to the providers use HTTPS. The server only accepts calls from the genuine app (Firebase App Check) and keeps prices in a database that no device reads or writes directly.
Changes
When this policy changes, the new version is posted on this page with its date at the top. If a change alters what the app sends, the app shows a new notice.