Privacy Policy — Routes MSG
Updated October 13, 2026, for version 1.4.19. Copy in English and Portuguese; the app carries the same policy in nine languages. If the translations diverge, the Portuguese version prevails.
Routes MSG helps delivery drivers organize stops and packages and prepare messages. It is independent of the platforms mentioned in the app. Service identification: Routes MSG. Privacy and support: routesmsg.suporte@gmail.com.
Information and purposes
You may provide names, phone numbers, addresses, notes, text, photos, package codes, stop identifiers and coordinates through typing, spreadsheets, images, voice or scanning. These data help prepare messages, count packages and organize deliveries and routes. Language, company, vehicle and tutorial choices are local preferences.
Routes may store full names and phone numbers. The phone field in history keeps only the last four digits. Full text and photo references may remain in history; personal information written in text is not automatically removed.
Messages and moderation
Messaging requires an account with a verified email address. Before exporting through WhatsApp, SMS or copy, prepared text is checked by our Firebase server. Exact delivery templates and text approved for that account are allowed. Other custom text is held for human review without an automatic strike. Explicit prohibited advertising generates warnings; three incidents suspend messaging until administrator review. Routes and scanning remain available.
The record includes account UID, technical Android identifier hash, classification, outcome, app version and server time. The message text is stored only when it goes to human review or is blocked; when it is released, only the template used and the text length are kept. Appeals contain your explanation; administrator decisions have an audit trail. There is no separate recipient field, but names, phones or addresses you include in the text are transmitted for verification. Avoid unnecessary personal information.
Authorization is bound to the same account, device signal and exact text, expires after 60 seconds and can be consumed once. Offline or failed validation cannot authorize exports. Images are not approved by text moderation. Ambiguous cases need human review; no filter or device signal prevents every misuse. Routes MSG cannot prevent edits inside WhatsApp or another receiving app.
Communication requires your action. The recipient, text and selected photo pass to the chosen app; sending, delivery and receipt are not confirmed by Routes MSG. SMS and calls are not automatic. Copy uses Android’s clipboard.
Accounts and integrity
Using Routes MSG requires a signed-in account, a verified email address and a complete profile. With Remember me enabled, session tokens remain encrypted on this device; otherwise they stay only in app-process memory. You may optionally choose a display name and profile photo. Only a 64 × 64 pixel thumbnail without EXIF or location metadata is sent to your own profile in Firebase. No public profile directory is provided. You may change or remove the photo; deleting the account removes these profile fields.
Each device may create at most three accounts per day; the count resets the next day and exists to contain mass account creation.
Registration asks for first and last name, email, password and date of birth. Accounts require a minimum age of 16 based on the date you provide. The date is processed temporarily by the app and our Firebase security endpoint to check eligibility; the full birth date is not retained on the server. The server keeps your name, eligibility result and check date associated with your permanent account UID. This is a self-declared age check, not documentary age verification. Email confirmation is required before messaging. Password recovery uses a one-time link delivered by Firebase to your email.
Firebase Authentication processes your email and password for registration, login and recovery. Passwords are not stored by Routes MSG or included in moderation. Persisted session tokens are encrypted using Android Keystore. An existing guest identity may be linked when you create an account, preserving its moderation history.
Email confirmation no longer uses a link. The Routes MSG server generates a six-digit code, stores only a cryptographic digest of it — never the readable code — and delivers it to your address through the Firebase Trigger Email extension, which sends over Gmail SMTP. The message carrying the code stays in the database for at most one hour and is removed by an automatic routine. The code is valid for fifteen minutes, allows five attempts and at most ten sends per day. Accounts whose email is not confirmed are deleted automatically 72 hours after creation, along with the associated data.
You may instead choose Continue with Google on the login screen. Google's account selector and Firebase Authentication validate this sign-in. Routes MSG receives your account identifier, email, verification status and available display name; it does not receive your Google password or access to your inbox, contacts or files. A Google-verified email does not require a second confirmation message from Routes MSG. On first access you confirm your name and complete the age eligibility check. Returning accounts with a complete profile enter after session validation. Profile photos are optional and are uploaded only when you choose one in Routes MSG.
Firebase App Check / Play Integrity checks app and device integrity. Firebase services process associated app, device and connection metadata. A hash of the Android app identifier and email helps detect repeated abuse across accounts; IP addresses or IMEI are not used for permanent device bans. Network services may process IP addresses as connection metadata. To limit accounts being created in bulk, the server counts for one day how many new accounts come from the same network, keeping only a partial digest that cannot be turned back into the IP address, deleted after two days.
To show "Where your account is open" and let you sign out of each access, the server keeps, for each device or browser that signs in to your account, the kind of access (Phone or Browser), the date and time of the first and last access, the IP address and, when Google's infrastructure provides it, the approximate location derived from that IP: city, state and country. Only the account itself sees this list. Each record is deleted automatically 60 days after the last access from that device or browser — removal may occur after that moment — and all of them are deleted when the account is deleted. It also keeps the device model — the manufacturer code, such as SM-S911B — or, in a browser, the browser and system, such as Chrome · Windows, taken from the identification each request already carries, so you can tell whether an access is yours or someone you know; it follows the same deadline as each record.
The private Admin may receive optional Firebase Cloud Messaging alerts. Push content contains only an event reference and type, without customer text or identity. A login is required to review details.
Camera, images and voice
With permission, the scanner recognizes text and codes on the device using ML Kit. Raw images are not attached to moderation or map requests; extracted addresses may be sent for location lookup.
According to Google's documentation, bundled ML Kit SDKs collect device/app details, per-installation identifiers and performance, usage and diagnostic metrics, including configuration, input/output sizes and errors, over HTTPS. This telemetry is separate from the Firebase SDK collection disabled below.
Delivery photos stay in private storage; sharing also passes them to the chosen app. The photo from "Delivery problem" is different: it goes to the server, as described in Company and team. Voice uses Android's recognizer, which may process audio remotely depending on its configuration. Routes MSG receives text without creating a recording file in this flow.
Phone recognition and contacts
Selected images are read locally to identify phones, without saving a copy. Reading another app only occurs in a session you activate after Android's screen-sharing consent. Choose a single app when available. An indicator and Stop control are provided; sessions end within 15 minutes or upon locking, and pause while Routes MSG is visible. Android-protected content is not captured.
This feature does not record images or audio or transmit detected numbers. Up to 500 candidates stay temporarily in memory, including after stopping, until cleared or the process ends. Review them before saving or preparing a message. Saved contacts store phone, optional name and date in this installation with AES-GCM and Android Keystore, without a plaintext fallback. There is no automatic saving or permanent access to conversations or the SMS inbox.
Route shared between two people
You can share your route with another person, with no company involved. Whoever creates it receives an invite code and passes it to whoever joins. From then on the stops of that route — address, customer name and phone when present, package counts and coordinates — are kept on the server so both devices see the same route. Completing, editing, deleting and reordering travel between the two.
Participants see the display name of whoever completed each stop. Whoever joins by invite may be given permission only to follow, without editing. The owner ends it for everyone and whoever joined may leave; in both cases syncing stops and the stops remain on each person's device. Shared routes and invites are removed by scheduled cleanup after 90 days.
Company and team
An account only works as a company after the Routes MSG administration authorizes it. The company links drivers by the e-mail of their Routes MSG account or by the phone number already confirmed on that account; the link is visible to both sides and can be undone by either of them or by the administration.
When a route is sent to the team, the stops of that route — address and address line 2, customer name and phone when present, package counts, order value and payment method when the company provides them (for cash, also the amount the customer will pay with, for change), stop note and coordinates — are written to the server and delivered to the chosen drivers. The server does not add up these amounts or use them for anything else. No other company can reach those routes. Whoever authorizes the company defines whether the route arrives as an offer, which the driver accepts or declines, or already accepted on their device. When the company cancels a route nobody accepted, the route and its offers are deleted; only the route name, how many stops it had and the times it was created and cancelled remain in its history — with no address or customer — and are deleted within the same history period.
The driver's device reports to the company which stops of that route were completed, by the stop number inside the route and by the time. Address, customer and phone are not uploaded again in that report: they are already in the route the company itself sent, and the history joins the two pieces when read. The driver's position is only sent to the company when the driver starts their shift in the app. The driver's own private route, which did not come from a company, never enters that count.
Where the driver is, for as long as they choose. The app has a "Start shift" button. While the shift is on, the device sends the position to the server from time to time, and the company the driver belongs to sees that position on a map, next to their delivery progress for the day. The driver turns it on and off: off shift, none of their location is sent. Ending the shift deletes the stored position immediately. A position with no update for fifteen minutes stops being shown, and the stored position is removed by scheduled cleanup within one day. No other company can reach that position, and it is not used for any other purpose.
With this the company sees, for the day, how many deliveries each person on the team completed out of what they received, and the history of those deliveries per driver over the chosen period — Today, Week or Month. The periods count whole days in Brasília time: Today starts at midnight, Week is today and the six previous days, and Month is today and the 29 previous days. Zones drawn on the map by the company are kept in its account.
When a delivery does not happen. On a company route, the driver can tap "Delivery problem" and choose the reason. The device sends the server which stop it was and the reason. Five reasons require a photo taken on the spot with the camera: customer not home, address not found, wrong or incomplete address, business closed and damaged package. For the other reasons the app does not take a photo, and for unsafe area the server refuses any photo. The server adds to the report the address and customer name of that stop, copied from the route the company itself sent, plus the driver's name and the time. Changing the reason replaces the previous report, photo included, and the company sees that it was changed. If the delivery happens later, the report remains, marked as delivered later.
The report is shown only to the company that sent that route; no other company can reach it. The photo only opens in the company's panel, one at a time, when the company asks to see it. The whole report — reason, address, customer name and photo — is deleted automatically seven days after the last submission for that stop; removal may occur after that moment. The report belongs to the company: if the driver's account is deleted earlier, the report keeps that seven-day period; if the company's account is deleted, the report is deleted along with it. After the seven days, only the mark that the delivery at that stop failed remains, with the time of the first report, in the delivery progress, which follows the 90-day period described below. If the company downloads its report for the Week period, the file carries the address, driver, reason and time of each problem, and stays where the company saves it; the photo is not included in the file.
On the device, the photo is written to Routes MSG's private storage, not to the gallery. Before sending, it is reduced and redrawn from its pixels — which discards the original file metadata, including location — and the file is deleted from the device. If any photo is left in private storage, for any reason, it is removed by the cleanup of photos older than 30 days. Without a connection, the report is neither sent nor kept for later: it has to be reported again. On the driver's route, the stop stays marked with the reason.
The team chat is isolated per company: only linked people read and write in it, and the display name of whoever spoke is stored with the message. The notification delivered to the phone through Firebase Cloud Messaging carries only the kind of event and the minimum needed to understand it: the company name, the name of whoever wrote in the chat or, at the end of a route, the driver's name and how many deliveries were and were not made — never an address, phone number, customer name or the message text. To receive those notifications, the device registers its Firebase notification token on the server, which is removed when you sign out.
Routes the company sends are removed by scheduled cleanup 31 days after sending; those sent before this change keep the previous 90-day period. Offers, team messages and delivery progress are removed after 90 days, and the device registration for notifications 30 days after its last renewal. The driver's link to the company does not expire on a timer: it lasts until one of the sides undoes it.
The company's customer book. The company can keep a customer book on the server ("Contatos", in its panel) with each customer's address and, when present, name, phone number and the address coordinates. Only customers the company saves go into the book; nothing is saved automatically. It serves only for the company itself to build routes and find its customers wherever it signs in: only the company reads it, no other company can reach it, and drivers do not see it — they only receive the stops of the routes the company sends. The book has no automatic expiry: each customer stays until the company deletes them, and the whole book is deleted when the company account is deleted; for a very large book, removal may finish in the scheduled cleanup of the following days. If the account stops working as a company, because its authorization was withdrawn or its plan expired, the book stays stored: the company can still open it and delete customers, but cannot add, edit or use customers in routes until the account works as a company again or is deleted. Deleting a customer does not change routes already sent, which follow their own period. So the search can find a customer by any word of the name, by the street or by the end of the phone number, the server also keeps the words of the name and street and the last digits of the phone, taken from that same data and deleted with it.
The company panel in the browser. The panel at menssagens-luis.web.app talks to the same server as the app and follows the same rules of this policy. To prove that a request really comes from the panel, the browser goes through Google's reCAPTCHA Enterprise, which assesses browser and connection signals. The panel's maps are drawn with the Leaflet library, downloaded from cdnjs (Cloudflare), over OpenStreetMap maps: to show an area, the browser requests its images from OpenStreetMap's servers, which receive the IP address and the map area, as on any map website. The Firebase library comes from Google's servers. The browser keeps the sign-in session (until you sign out; with "Continuar conectado neste computador" unchecked, only until the browser is closed), a random key that identifies this browser in the "Where your account is open" list and, for a moment, the reason for a forced sign-out so the notice can be shown. A spreadsheet opened in the panel is read in the browser itself: only the stops the company sends reach the server.
With your permission, "Notify customers" can read this device's address book so you can choose who to notify. The reading only happens when you choose that source and allow it in Android, and it serves to build the list on screen: names and numbers stay in memory while the screen is open, are not sent to any server and are not stored by the app. Only the contacts you mark go into the queue. The permission can be revoked in Android at any time.
Location and maps
With permission, your position helps display the map, find addresses and calculate routes. No background-location permission is requested; updates depend on Android and the route screen. While a shift is open, a foreground service with a permanent notification keeps sending the position even when the app is not on screen; this stops the moment the shift ends.
Mapbox receives address/city queries, coordinates and, when used as a reference or origin, your position, plus connection metadata. Alternative lookup uses Android Geocoder, whose provider may process addresses and coordinates. Whole spreadsheets are not uploaded to the map services, but their addresses may enter queries; the stops of a company or shared route are uploaded to the Routes MSG server as described above. Pins, original coordinates and street access points may be stored separately.
ViaCEP receives the supplied postal code to look up the street, neighborhood and city during address searches.
Mapbox GL JS uses local storage for a random identifier included in events sent to Mapbox to calculate aggregate usage statistics.
Remote services and feedback
Firebase Authentication, Cloud Functions and Firestore support access, moderation, account deletion and feedback. This version requires a verified account to use the app; older versions may still submit feedback through a guest session. Administrative access is reserved for the owner.
Optional Analytics, Crashlytics and Performance collection is disabled in this version. The app's own authentication, access, moderation and feedback requests continue separately.
Feedback sends type, reviewed text, authenticated identifier, app version, initial status and server time. You may attach an optional screenshot: the image is reduced on the device, redrawn from its pixels — which discards the original file metadata, including location — and sent with the report, visible only to you and to the administration. Whatever is visible in the screenshot is sent; cover customer names, phone numbers and addresses before attaching. Firestore permits access by the authenticated author and authorized administrators. The technical option, initially unchecked, adds manufacturer/model and Android version. Routes, contacts, coordinates, photos, codes and Android hash are not automatically attached; information typed in comments is transmitted.
A local identifier and fingerprint of the latest form help detect retries; the server controls intervals per session. Feedback does not automatically send email. Rating opens the store and follows Google Play's rules.
Plans, subscriptions and coupons
Routes MSG has a Free plan and two paid plans, Basic and Advanced, sold through Google Play. Purchase, billing, renewal, cancellation and refunds happen in your Google Play account, under Google's rules. Routes MSG never receives or stores card numbers or payment data.
At purchase, the app sends Google Play an obfuscated identifier of your account: a cryptographic digest of the internal identifier, which lets the subscription be recognized as yours without revealing your e-mail or name. The store returns the purchase receipt to the device. That receipt is kept on this device and sent to the Routes MSG server, which asks Google for the subscription state: active, payment pending, on hold for failed payment, or ended, plus the next expiry date. The server stores that state, the date, a digest of the receipt and your account identifier. This is what unlocks the plan's features and shows the payment warning when a charge fails. Google Play may also show its own payment message on top of the app.
Discount coupons are created by Routes MSG administration. When you type a code, the app asks the server whether it is valid; the number of attempts per hour is limited to prevent code guessing. When a purchase is made with a coupon, the server stores the code, the plan, the chosen period, the discount percentage, the account e-mail, the date and whether Google has confirmed the purchase — one record per account and coupon. The record exists so administration can calculate what is owed to the promoter who owns the coupon. A coupon may have a promoter identified by name and e-mail.
Administration may grant a gift plan to an account for a set time, as a prize or as payment to a promoter; the plan, the end date and the account e-mail are stored. Accounts created before the plans launched received one month of the Advanced plan, and the end date of that gift is stored. Anyone riding for an authorized company uses the features unlocked by the company plan, with no store purchase.
Each plan's usage limits — stops, route drawings and custom messages — are counted on this device and are not sent to the server.
Protection, retention and deletion
Routes and tokens use AES-GCM/Android Keystore when available. Routes have a local fallback without that encryption if it fails; saved contact lists have no such fallback. The delivery history and the text of the message history are also encrypted with AES-GCM, with a key kept by the Android Keystore; without it, the new entry is not saved. Templates, photos and preferences use private storage, without a promise of additional encryption for each file.
Automatic backup and cleartext HTTP are blocked. The optional floating shortcut uses an overlay and notification to reopen the app; it is separate from authorized recognition. Permissions can be revoked in Android. Exports and shared copies remain where you saved them.
History removes entries older than 30 days when the main screen or history opens. The main screen attempts to remove photos older than 30 days. Cleanup depends on opening those screens, not the exact expiry moment.
You can clear routes, history and templates; clearing history does not erase photos, exports or remote records. Routes, templates and saved contacts have no automatic expiry. Uninstalling removes private data according to Android, but not external copies. Signing out deletes from this device the routes, saved contacts and "Deliveries today" of that account. The message history, custom messages, delivery photos and the chosen delivery platform do not pass to another account either: they are deleted from this device, at the latest, when another account signs in on it.
Prepared-message events expire after 30 days; moderation incidents, approvals and audit records after 90 days. Security signals may be renewed by new account activity. Active accounts and suspension state remain until deletion or administrative review. Optional feedback is retained until reviewed and deleted or until an authenticated deletion request. Expired records are removed by scheduled cleanup; removal may occur after the expiry time.
To delete your account, open Settings → My account → Delete my account, then confirm your password or sign in again with the same Google account, depending on your login method. Authentication and associated ordinary remote data are removed. This includes the access records kept for "Where your account is open". For a company account, it also includes everything that belongs to the company: its registration, the team (the links are undone, and the drivers lose the features unlocked by the company plan), zones, images, the customer book, routes, offers, delivery progress, the chat, problem reports with their photos, positions, usage counts and the device registration for notifications. This removal runs in batches, and whatever is left is finished by the scheduled cleanup in the following days. Security evidence necessary to investigate misuse may be retained for 90 days after deletion, with scheduled cleanup. Because deletion also signs the account out of this device, the routes and saved contacts on it are deleted, as described above. Uninstalling does not request remote deletion.
You can also request account or data deletion without the app: email routesmsg.suporte@gmail.com with the subject “Routes MSG — account deletion” from the account’s email address. Identify the account or feedback reference, without sending a password, documents or customer data. We may verify ownership before processing. This channel also handles access and correction requests.
Política de Privacidade — Routes MSG
Atualizada em 13 de outubro de 2026, para a versão 1.4.19. Cópia em português e inglês; o aplicativo traz a mesma política em nove idiomas. Em caso de divergência entre as traduções, vale a versão em português.
O Routes MSG ajuda entregadores a organizar paradas e pacotes e preparar mensagens. É independente das plataformas mencionadas no aplicativo. Identificação do serviço: Routes MSG. Privacidade e suporte: routesmsg.suporte@gmail.com.
Dados e finalidade
Você pode fornecer nomes, telefones, endereços, observações, textos, fotos, códigos de pacotes, identificadores de parada e coordenadas por digitação, planilha, imagem, voz ou scanner. Esses dados permitem preparar mensagens, contar pacotes e organizar entregas e percursos. Idioma, empresa, veículo e escolhas dos tutoriais são preferências locais.
Rotas podem guardar nomes e telefones completos. O campo de telefone do histórico guarda apenas os quatro últimos dígitos. O texto completo e referências a fotos podem permanecer no histórico; informações pessoais escritas no texto não são removidas automaticamente.
Mensagens e moderação
Mensagens exigem conta com e-mail confirmado. Antes de exportar por WhatsApp, SMS ou cópia, o texto preparado é verificado pelo servidor Firebase. Modelos de entrega exatos e textos aprovados para aquela conta são liberados. Outros textos personalizados aguardam análise humana, sem infração automática. Propaganda explicitamente proibida gera advertências; três ocorrências suspendem mensagens até revisão administrativa. Rotas e scanner continuam disponíveis.
O registro inclui UID da conta, hash técnico do identificador Android, classificação, resultado, versão e horário do servidor. O texto da mensagem só fica guardado quando ela vai para revisão humana ou é bloqueada; quando é liberada, ficam apenas o modelo usado e o tamanho do texto. Chamados contêm sua explicação; decisões administrativas mantêm auditoria. Não há campo separado de destinatário, mas nomes, telefones ou endereços incluídos no texto são transmitidos para a verificação. Evite dados pessoais desnecessários.
A autorização vale para a mesma conta, sinal do aparelho e texto exato, expira em 60 segundos e pode ser consumida uma vez. Sem conexão ou validação, não há autorização. Imagens não são aprovadas pela moderação de texto. Casos ambíguos dependem de análise humana; nenhum filtro ou identificador impede todo abuso. O Routes MSG não impede alterações dentro do WhatsApp ou de outro aplicativo receptor.
A comunicação exige sua ação. Destinatário, texto e foto escolhida passam ao outro aplicativo; o Routes MSG não confirma envio, entrega ou recebimento. SMS e chamadas não são automáticos. Copiar usa a área de transferência do Android.
Contas e integridade
O uso do Routes MSG exige conta conectada, e-mail confirmado e cadastro completo. Com Lembrar de mim ativado, os tokens ficam criptografados neste aparelho; caso contrário, ficam apenas na memória do processo do aplicativo. Você pode escolher apelido e foto de perfil opcionais. Somente uma miniatura de 64 × 64 pixels, sem metadados EXIF ou localização, é enviada ao seu perfil no Firebase. Não há diretório público de perfis. É possível alterar ou remover a foto; excluir a conta remove esses campos do perfil.
Cada aparelho pode criar no máximo três contas por dia; a contagem zera no dia seguinte e serve para conter criação de contas em massa.
O cadastro solicita nome, sobrenome, e-mail, senha e data de nascimento. Contas exigem idade mínima de 16 anos, calculada a partir da data informada. A data é processada temporariamente pelo app e pelo endpoint de segurança Firebase para conferir a elegibilidade; a data completa não é conservada no servidor. O servidor mantém nome, resultado da elegibilidade e data da checagem associados ao UID permanente da conta. Essa checagem usa informação declarada pelo usuário, sem comprovação documental de idade. Mensagens exigem e-mail confirmado. A recuperação de senha usa link de uso único enviado pelo Firebase ao e-mail.
Firebase Authentication processa e-mail e senha para cadastro, entrada e recuperação. O Routes MSG não armazena senhas nem as inclui na moderação. Tokens de sessão persistidos são criptografados pelo Android Keystore. Uma identidade visitante existente pode ser vinculada ao criar a conta, preservando seu histórico de moderação.
A confirmação do e-mail não usa mais link. O servidor do Routes MSG gera um código de seis dígitos, guarda apenas um resumo criptográfico dele — nunca o código legível — e o entrega ao seu endereço pela extensão Trigger Email do Firebase, que envia por SMTP do Gmail. A mensagem com o código fica no banco por no máximo uma hora e é apagada por rotina automática. O código vale quinze minutos, aceita cinco tentativas e permite no máximo dez envios por dia. Contas cujo e-mail não for confirmado são excluídas automaticamente 72 horas após a criação, com os dados associados.
Você também pode escolher Continuar com Google na tela de login. O seletor de contas do Google e o Firebase Authentication validam esse acesso. O Routes MSG recebe identificador da conta, e-mail, estado de verificação e nome disponível; não recebe sua senha do Google nem acesso à caixa de e-mail, contatos ou arquivos. Um e-mail verificado pelo Google não exige uma segunda mensagem de confirmação do Routes MSG. No primeiro acesso você confirma seu nome e completa a checagem de idade. Contas existentes com perfil completo entram após a validação da sessão. A foto de perfil é opcional e só é enviada quando você a escolhe no Routes MSG.
Firebase App Check / Play Integrity verifica a integridade do app e do aparelho. Os serviços Firebase processam metadados associados do app, aparelho e conexão. Hashes do identificador Android do aplicativo e do e-mail ajudam a detectar reincidência entre contas; não usamos IP ou IMEI para banimento permanente do aparelho. Serviços de rede podem processar o IP como metadado da conexão. Para limitar a criação de contas em série, o servidor conta por um dia quantas contas novas chegam de uma mesma rede, guardando apenas um resumo parcial que não permite recuperar o IP, apagado em dois dias.
Para mostrar "Onde a sua conta está aberta" e deixar você encerrar cada acesso, o servidor guarda, para cada aparelho ou navegador que entra na sua conta, o tipo de acesso (Celular ou Navegador), a data e a hora do primeiro e do último acesso, o endereço IP e, quando a infraestrutura do Google o informa, o local aproximado deduzido desse IP: cidade, estado e país. Só a própria conta vê essa lista. Cada registro é apagado automaticamente 60 dias depois do último acesso daquele aparelho ou navegador — a remoção pode ocorrer depois desse instante — e todos são apagados quando a conta é excluída. Junto vai o modelo do aparelho — o código de fábrica, como SM-S911B — ou, no navegador, o programa e o sistema, como Chrome · Windows, tirados da identificação que o próprio pedido já traz, para você reconhecer se um acesso é seu ou de alguém conhecido; ele segue o mesmo prazo de cada registro.
O Admin privado pode receber alertas opcionais por Firebase Cloud Messaging. A notificação contém somente referência e tipo do evento, sem texto ou identificação de clientes. Consultar os detalhes exige login.
Câmera, imagens e voz
Com permissão, o scanner reconhece texto e códigos no aparelho usando ML Kit. Imagens brutas não são anexadas à moderação ou às consultas de mapa; endereços extraídos podem ser enviados para localização.
Segundo a documentação do Google, os SDKs ML Kit integrados coletam dados técnicos do aparelho/app, identificadores por instalação e métricas para diagnóstico e análise de uso, incluindo desempenho, configuração, tamanhos e erros, via HTTPS. Essa telemetria é independente dos SDKs Firebase desativados abaixo.
Fotos de entrega ficam na área privada; compartilhá-las também as entrega ao aplicativo escolhido. A foto de "Problema na entrega" é diferente: ela vai para o servidor, como descrito em Empresa e equipe. A voz usa o reconhecedor do Android, que pode processar áudio remotamente conforme sua configuração. O Routes MSG recebe texto, sem criar arquivo de gravação nesse fluxo.
Leitura de telefones e contatos
Imagens escolhidas são lidas localmente para identificar telefones, sem salvar uma cópia. A leitura de outro app só ocorre em sessão ativada por você, após consentimento de compartilhamento do Android. Escolha um único app quando disponível. Há indicador e botão Parar; a sessão termina em até 15 minutos ou ao bloquear a tela, e pausa com Routes MSG visível. Conteúdo protegido pelo Android não é capturado.
Essa função não grava imagens ou áudio nem envia os números detectados. Até 500 candidatos ficam temporariamente em memória, inclusive após parar, até limpar ou encerrar o processo. Revise antes de salvar ou preparar mensagem. Contatos salvos guardam telefone, nome opcional e data nesta instalação, com AES-GCM e Android Keystore, sem alternativa em texto claro. Não há salvamento automático nem acesso permanente a conversas ou à caixa de SMS.
Rota compartilhada entre duas pessoas
Você pode compartilhar a sua rota com outra pessoa, sem empresa nenhuma envolvida. Quem cria recebe um código de convite e o passa a quem vai entrar. A partir daí, as paradas daquela rota — endereço, nome e telefone do cliente quando existirem, contagem de pacotes e coordenadas — ficam guardadas no servidor para que os dois aparelhos vejam a mesma rota. Concluir, editar, apagar e reordenar viajam entre os dois.
Quem participa vê o nome de tela de quem concluiu cada parada. Quem entra por convite pode receber permissão só para acompanhar, sem editar. O dono encerra para todos e quem entrou pode sair; em ambos os casos a sincronização para e as paradas continuam no aparelho de cada um. A rota compartilhada e os convites são removidos por limpeza agendada após 90 dias.
Empresa e equipe
Uma conta só funciona como empresa depois de autorizada pela administração do Routes MSG. A empresa vincula entregadores pelo e-mail da conta deles no Routes MSG ou pelo telefone já confirmado nessa conta; o vínculo aparece para as duas partes e pode ser desfeito por qualquer uma delas ou pela administração.
Ao enviar uma rota para a equipe, as paradas daquela rota — endereço e complemento, nome e telefone do cliente quando existirem, contagem de pacotes, valor do pedido e forma de pagamento quando a empresa informar (no dinheiro, também para quanto é o troco), observação da parada e coordenadas — são gravadas no servidor e entregues aos entregadores escolhidos. O servidor não soma esses valores nem os usa para outra coisa. Nenhuma outra empresa alcança essas rotas. Quem autoriza a empresa define se a rota chega como oferta, que o entregador aceita ou recusa, ou já aceita no aparelho dele. Quando a empresa cancela uma rota que ninguém aceitou, a rota e as ofertas são apagadas; fica no histórico dela apenas o nome da rota, quantas paradas tinha e as horas em que foi criada e cancelada — sem endereço nem cliente —, apagado no mesmo prazo do histórico.
O aparelho do entregador informa à empresa quais paradas daquela rota foram concluídas, pelo número da parada dentro da rota e pelo horário. Endereço, cliente e telefone não sobem de novo nesse informe: eles já estão na rota que a própria empresa enviou, e o histórico junta as duas informações na leitura. A posição do entregador só é enviada à empresa quando ele mesmo inicia o serviço no aplicativo. A rota particular do entregador, que não veio de uma empresa, nunca entra nessa contagem.
Onde o entregador está, enquanto ele quiser. O aplicativo tem um botão "Iniciar serviço". Enquanto o serviço está iniciado, o aparelho envia a posição ao servidor de tempo em tempo, e a empresa a que ele está vinculado vê essa posição num mapa, junto do andamento das entregas dele no dia. Quem liga e desliga é o entregador: fora de serviço, nada da localização dele é enviado. Encerrar o serviço apaga a posição guardada imediatamente. Uma posição sem atualização por quinze minutos deixa de ser mostrada, e a posição guardada é removida por limpeza agendada em um dia. Nenhuma outra empresa alcança essa posição, e ela não é usada para nenhuma outra finalidade.
Com isso a empresa vê, no dia, quantas entregas cada pessoa da equipe concluiu do que recebeu, e o histórico dessas entregas por entregador no período escolhido — Hoje, Semana ou Mês. Os períodos contam dias inteiros no horário de Brasília: Hoje começa à meia-noite, Semana é hoje e os seis dias anteriores, e Mês é hoje e os 29 dias anteriores. As zonas desenhadas no mapa pela empresa ficam guardadas na conta dela.
Quando a entrega não acontece. Numa rota da empresa, o entregador pode tocar em "Problema na entrega" e escolher o motivo. O aparelho envia ao servidor qual foi a parada e o motivo. Cinco motivos exigem uma foto tirada na hora com a câmera: cliente ausente, endereço não encontrado, endereço errado ou incompleto, estabelecimento fechado e pacote avariado. Nos outros o aplicativo não tira foto, e em área de risco o servidor recusa qualquer foto. O servidor junta ao relato o endereço e o nome do cliente daquela parada, copiados da rota que a própria empresa enviou, além do nome do entregador e da hora. Trocar o motivo substitui o relato anterior, inclusive a foto, e a empresa vê que ele foi trocado. Se a entrega acontecer depois, o relato continua, marcado como entregue depois.
O relato aparece só para a empresa daquela rota; nenhuma outra empresa o alcança. A foto só abre no painel da empresa, uma de cada vez, quando ela pede para vê-la. O relato inteiro — motivo, endereço, nome do cliente e foto — é apagado automaticamente sete dias depois do último envio para aquela parada; a remoção pode ocorrer depois desse instante. O relato é da empresa: se a conta do entregador for excluída antes, ele segue esse prazo de sete dias; se a conta da empresa for excluída, ele é apagado junto com ela. Depois dos sete dias resta apenas a marca de que a entrega daquela parada falhou, com a hora do primeiro relato, no progresso das entregas, que segue o prazo de 90 dias descrito abaixo. Se a empresa baixar o relatório do período Semana, o arquivo leva o endereço, o entregador, o motivo e a hora de cada problema, e fica onde ela o salvar; a foto não vai no arquivo.
No aparelho, a foto é gravada na área privada do Routes MSG, não na galeria. Antes do envio, ela é reduzida e redesenhada a partir dos pixels — o que descarta os metadados do arquivo original, inclusive localização — e o arquivo é apagado do aparelho. Se alguma foto sobrar na área privada, por qualquer motivo, ela é apagada pela limpeza de fotos com mais de 30 dias. Sem conexão, o relato não é enviado nem fica guardado para depois: é preciso relatar de novo. Na rota do entregador, a parada fica marcada com o motivo.
A conversa da equipe é isolada por empresa: só quem está vinculado lê e escreve, e o nome de tela de quem falou fica gravado junto da mensagem. O aviso que chega no celular por Firebase Cloud Messaging leva apenas o tipo do acontecimento e o mínimo para entendê-lo: o nome da empresa, o nome de quem escreveu na conversa ou, no fim de uma rota, o nome do entregador e quantas entregas foram e não foram feitas — nunca endereço, telefone, nome de cliente ou o texto da mensagem. Para receber esses avisos, o aparelho registra no servidor o token de notificação do Firebase, que é removido ao sair da conta.
As rotas que a empresa envia são removidas por limpeza agendada 31 dias depois do envio; as enviadas antes dessa mudança seguem o prazo antigo, de 90 dias. Ofertas, mensagens da equipe e progresso das entregas são removidos após 90 dias, e o registro do aparelho para os avisos, 30 dias depois da última renovação. O vínculo do entregador com a empresa não expira por tempo: ele dura enquanto uma das partes não desfizer.
O caderno de clientes da empresa. A empresa pode guardar no servidor um caderno de clientes ("Contatos", no painel dela) com o endereço de cada cliente e, quando houver, nome, telefone e as coordenadas do endereço. Só entra no caderno o cliente que a empresa salvar; nada é guardado sozinho. Ele serve apenas para a própria empresa montar rotas e achar seus clientes onde quer que entre na conta: só ela o lê, nenhuma outra empresa o alcança, e os entregadores não o veem — recebem apenas as paradas das rotas que a empresa envia. O caderno não tem prazo automático: cada cliente fica até a empresa apagá-lo, e o caderno inteiro é apagado quando a conta da empresa é excluída; num caderno muito grande, a remoção pode terminar na limpeza agendada dos dias seguintes. Se a conta deixar de funcionar como empresa, por autorização retirada ou plano vencido, o caderno continua guardado: ela ainda pode abri-lo e apagar clientes, mas não pode acrescentar, editar nem usar clientes em rotas até voltar a funcionar como empresa ou ser excluída. Apagar um cliente não muda as rotas já enviadas, que seguem o prazo delas. Para a busca achar o cliente por qualquer palavra do nome, pela rua ou pelo final do telefone, o servidor guarda junto as palavras do nome e da rua e os últimos dígitos do telefone, tirados desses mesmos dados e apagados com eles.
O painel da empresa no navegador. O painel em menssagens-luis.web.app fala com o mesmo servidor do aplicativo e segue as mesmas regras desta política. Para provar que o pedido vem do painel de verdade, o navegador passa pelo reCAPTCHA Enterprise do Google, que avalia sinais do navegador e da conexão. Os mapas do painel são desenhados com a biblioteca Leaflet, baixada do cdnjs (Cloudflare), sobre os mapas do OpenStreetMap: para mostrar uma região, o navegador pede as imagens dela aos servidores do OpenStreetMap, que recebem o IP e a área do mapa, como em qualquer site de mapas. A biblioteca do Firebase vem dos servidores do Google. No navegador ficam a sessão de entrada (até você sair; com "Continuar conectado neste computador" desmarcado, só até fechar o navegador), uma chave aleatória que identifica este navegador na lista "Onde a sua conta está aberta" e, por um instante, o motivo de uma saída forçada, para mostrar o aviso. A planilha aberta no painel é lida no próprio navegador: só as paradas que a empresa envia chegam ao servidor.
Com a sua autorização, "Avisar clientes" pode ler a agenda deste aparelho para você escolher a quem avisar. A leitura acontece só quando você escolhe essa fonte e autoriza no Android, e serve para montar a lista na tela: nomes e números ficam na memória enquanto a tela está aberta, não são enviados a servidor nenhum nem gravados pelo aplicativo. Entram na fila apenas os contatos que você marcar. A permissão pode ser revogada no Android a qualquer momento.
Localização e mapas
Com permissão, sua posição ajuda a exibir o mapa, buscar endereços e calcular percursos. Não há solicitação de localização em segundo plano; atualizações dependem do Android e da tela de rotas. Com o turno aberto, um serviço em primeiro plano, com notificação fixa, continua enviando a posição mesmo com o aplicativo fora da tela; isso para no instante em que o serviço é encerrado.
Mapbox recebe consultas de endereço/cidade, coordenadas e, quando usada como referência ou origem, sua posição, além dos dados técnicos da conexão. A busca alternativa usa o Geocoder do Android, cujo provedor pode processar endereços e coordenadas. A planilha inteira não é enviada aos serviços de mapa, mas seus endereços podem integrar consultas; as paradas de uma rota de empresa ou compartilhada sobem ao servidor do Routes MSG conforme descrito acima. Pin, coordenada original e acesso viário podem ser armazenados separadamente.
O ViaCEP recebe o CEP informado para consultar logradouro, bairro e cidade durante a busca de endereços.
O Mapbox GL JS usa armazenamento local para um identificador aleatório incluído em eventos enviados ao Mapbox para calcular estatísticas agregadas de uso.
Serviços remotos e feedback
Firebase Authentication, Cloud Functions e Firestore sustentam acesso, moderação, exclusão de conta e feedback. Esta versão exige conta verificada para usar o aplicativo; versões anteriores ainda podem enviar feedback por uma sessão visitante. O acesso administrativo é reservado ao proprietário.
Analytics, Crashlytics e Performance opcionais estão desativados nesta versão. Solicitações próprias de autenticação, acesso, moderação e feedback continuam separadamente.
Feedback transmite tipo, texto revisado, identificador autenticado, versão do app, estado inicial e horário do servidor. Você pode anexar um print da tela, opcional: a imagem é reduzida no aparelho, redesenhada a partir dos pixels — o que descarta os metadados do arquivo original, inclusive localização — e enviada junto do relato, visível apenas para você e para a administração. O que estiver visível no print é enviado; cubra nome, telefone e endereço de cliente antes de anexar. Firestore permite acesso ao autor autenticado e à administração autorizada. A opção técnica, inicialmente desmarcada, acrescenta fabricante/modelo e versão Android. Rotas, contatos, coordenadas, fotos, códigos e hash Android não são anexados automaticamente; informações digitadas no comentário são enviadas.
Identificador local e impressão digital do último formulário ajudam a reconhecer repetição; o servidor controla o intervalo por sessão. Feedback não envia e-mail automaticamente. Avaliar abre a loja e segue as regras da Google Play.
Planos, assinaturas e cupons
O Routes MSG tem um plano Grátis e dois planos pagos, Básico e Avançado, vendidos pela Google Play. A compra, a cobrança, a renovação, o cancelamento e o reembolso acontecem na sua conta da Google Play, seguindo as regras dela. O Routes MSG não recebe nem guarda número de cartão ou dados de pagamento.
Na compra, o aplicativo envia à Google Play um identificador embaralhado da sua conta: um resumo criptográfico do identificador interno, que permite reconhecer a assinatura como sua sem revelar e-mail ou nome. A loja devolve ao aparelho o comprovante da compra. Esse comprovante fica guardado neste aparelho e é enviado ao servidor do Routes MSG, que pergunta à Google o estado da assinatura: ativa, com cobrança pendente, suspensa por falta de pagamento ou encerrada, e a data do próximo vencimento. O servidor guarda esse estado, a data, um resumo do comprovante e o identificador da sua conta. É com isso que o aplicativo libera os recursos do plano e mostra o aviso de pagamento quando a cobrança falha. A própria Google Play também pode exibir o aviso de pagamento dela por cima do aplicativo.
Cupons de desconto são criados pela administração do Routes MSG. Ao digitar um código, o aplicativo pergunta ao servidor se ele vale; o número de tentativas por hora é limitado para impedir a adivinhação de códigos. Quando a compra é feita com um cupom, ficam gravados no servidor o código, o plano, o período escolhido, a porcentagem de desconto, o e-mail da conta, a data e se a compra já foi confirmada pela Google — um registro por conta e por cupom. Esse registro existe para a administração calcular o que deve ao divulgador dono do cupom. Um cupom pode ter um divulgador identificado por nome e e-mail.
A administração pode liberar um plano de brinde por tempo determinado a uma conta, como prêmio ou pagamento a um divulgador; ficam gravados o plano, a data final e o e-mail da conta. Contas criadas antes do lançamento dos planos receberam um mês do plano Avançado, e fica gravada a data em que esse presente termina. Quem roda por uma empresa autorizada usa os recursos liberados pelo plano da empresa, sem compra na loja.
Os limites de uso de cada plano — paradas, traçados de rota e mensagens personalizadas — são contados neste aparelho e não são enviados ao servidor.
Proteção, retenção e exclusão
Rotas e tokens usam AES-GCM/Android Keystore quando disponível. Rotas possuem alternativa local sem essa criptografia se ela falhar; a lista de contatos salva não possui essa alternativa. O histórico de entregas e o texto do histórico de mensagens também são cifrados com AES-GCM, com uma chave guardada pelo Android Keystore; sem ela, a linha nova não é gravada. Modelos, fotos e preferências usam armazenamento privado, sem promessa de criptografia adicional por arquivo.
Backup automático e HTTP em texto claro ficam bloqueados. O atalho flutuante opcional usa sobreposição e notificação para reabrir o app; é separado do reconhecimento autorizado. Permissões podem ser revogadas no Android. Exportações e cópias compartilhadas permanecem onde você as salvou.
O histórico remove registros com mais de 30 dias ao abrir a tela principal ou o histórico. A tela principal tenta remover fotos com mais de 30 dias. A limpeza depende de abrir as telas, não do instante exato do prazo.
Você pode limpar rotas, histórico e modelos; limpar histórico não apaga fotos, exportações ou registros remotos. Rotas, modelos e contatos salvos não têm prazo automático. Desinstalar remove dados privados conforme o Android, mas não cópias externas. Ao sair da conta, o aplicativo apaga deste aparelho as rotas, os contatos salvos e o "Entregas hoje" daquela conta. O histórico de mensagens, as mensagens personalizadas, as fotos de entrega e a plataforma de entrega escolhida também não passam para outra conta: são apagados deste aparelho, no mais tardar, quando outra conta entra nele.
Eventos de mensagens preparadas expiram em 30 dias; ocorrências, aprovações e auditoria de moderação em 90 dias. Sinais de segurança podem ser renovados por nova atividade da conta. Contas ativas e suspensões permanecem até exclusão ou revisão administrativa. Feedback opcional permanece até revisão e exclusão ou solicitação autenticada. A limpeza é agendada; a remoção pode ocorrer depois do instante do vencimento.
Para excluir a conta, abra Configurações → Minha conta → Excluir minha conta e confirme a senha ou entre novamente com a mesma conta Google, conforme seu método de acesso. A autenticação e os dados remotos comuns associados são removidos. Isso inclui os acessos guardados para "Onde a sua conta está aberta". Numa conta de empresa, inclui também tudo o que é da empresa: o cadastro dela, a equipe (os vínculos se desfazem, e os entregadores perdem os recursos liberados pelo plano da empresa), as zonas, as imagens, o caderno de clientes, as rotas, as ofertas, o progresso das entregas, a conversa, os relatos de problema com as fotos, as posições, as contagens de uso e o registro do aparelho para os avisos. Essa remoção é feita em lotes, e o que sobrar a limpeza agendada termina nos dias seguintes. Evidências necessárias à investigação de abuso podem permanecer por 90 dias após a exclusão, com limpeza agendada. Como a exclusão também sai da conta neste aparelho, as rotas e os contatos salvos nele são apagados, como descrito acima. Desinstalar não solicita exclusão remota.
Também é possível solicitar exclusão de conta ou dados sem o aplicativo: envie e-mail para routesmsg.suporte@gmail.com com o assunto “Routes MSG — exclusão de conta”, usando o e-mail da conta. Identifique a conta ou protocolo de feedback, sem enviar senha, documentos ou dados de clientes. Podemos verificar a titularidade antes de atender. O canal também recebe pedidos de acesso e correção.