Privacy Policy

Effective: September 11, 2026 / Last updated: October 6, 2026

Life Hack Tools ("we") sets out the following privacy policy regarding how user information is handled in Batto (a baseball scorebook app; the "App"). The App requires no account registration and no login: it automatically creates an anonymous identifier for your device when it starts. Your game, team and schedule records are first stored on your device, and are then automatically sent to our servers on Firebase (Google Cloud Firestore) depending on your connection. Separately, we collect crash logs and performance data to detect and fix problems in the App and to improve how it runs. If you send feedback from the "Settings & support" screen, we also receive what you send, together with the app and device information we need to look into it. The App shows no advertising and performs no tracking for advertising purposes.

01Information Stored on Your Device and on Our Servers (Games, Teams, Schedule)

The App automatically creates an anonymous identifier for each device when it starts. There is no login screen. The following information is first stored on your device, and is then automatically sent to our servers on Firebase (Google Cloud Firestore, Tokyo region, project batto-lht), depending on your connection. Data that was already on your device before an update is sent to the server in bulk the first time you open the App after that update.

The following information is never sent to the server and is stored only on your device.

Past games: Up to 100 games are stored on your device. A game already sent to the server can still be read back from the server even after it disappears from the on-device list. Deleting a game from the "Past games" screen also deletes it from the server (a marker showing that it was deleted remains; the marker does not contain the game's content).

When you import the other team's record: If you paste the link to a game the other team shared from Batto, the App reads the information in that share (team names, player names in the batting order, at-bat and fielding records, score, and the game date) and saves it as part of your game record, on this device and on the server (Firebase) as your data. The imported record stays until you tap "Remove" or delete the game, and it is not removed even if the other team stops sharing. The imported record does not appear on pages you share. The other team's data is never changed.

Data on the server is restricted by Firebase security rules so that only the owner of that anonymous identifier can read or write it.

The anonymous identifier is stored on your device (on iOS, it is included in iCloud backups). If it is lost — for example when you change devices — you may no longer be able to access your previous records from the App. If you delete and reinstall the App, you also get a new anonymous identifier, and your earlier records can no longer be reached from that device (the data stays on the server; if you want it deleted, send a deletion request as described in section 10).

02Information Stored on Our Servers (Firebase)

What our Firebase servers store is the game, team and schedule information described in section 01, together with the anonymous identifier. All communication is encrypted (HTTPS / TLS).

Data on the server is tied to your device's anonymous identifier, and only the owner of that identifier can read or write it — this is enforced by Firebase security rules.

03Information Made Public via Shared Links

When you share a game, a public identifier is issued for that game, and the shared link points to the game itself. Every time the link is opened, it shows the current content at that moment. While a game is being recorded, the shared page also refreshes itself automatically. Sharing the same game more than once always produces the same link.

The App does not provide any mechanism to restrict who can view a shared page (such as a password or invitation). Anyone who knows the URL can view the shared content.

A shared page shows both teams' player names. However, your name as the scorer and the schedule's location are never shown on a shared page. Because player names are included, please be careful about who you send the URL to.

A share also includes which team you recorded as your own (batting first or second). This is used to check which side batted first when the other team imports the share into Batto, and it is not personal information. Anyone who receives your share link can import its content into their own game in Batto. An imported copy stays with the person who imported it even if you stop sharing later.

You can stop sharing a game at any time from the "Shared scores" screen in the App. Once you do, that shared page can no longer be viewed (the game record itself is not deleted). Copies of links you shared previously have been moved to Firebase and remain viewable. You can also revoke them from the "Shared scores" screen on the device you shared them from. If you no longer have that device (after changing phones or deleting the App), please contact us through the form below.

04Information Made Public on a Team Page

If you create a "Team page" for your own team from the team screen in the App, a page for that team is created (batto.lh.tools/teams/…). The link (URL) uses a hard-to-guess identifier, and anyone who knows the URL can view the page without logging in. The page is set not to appear in search engines (noindex). The App does not provide any mechanism to restrict who can view it (such as a password or invitation).

A team page shows the following information about that team.

Your name as the scorer, schedule notes, the game's location, at-bat-by-at-bat records, batting orders and uniform numbers are never shown on a team page. Because player names are shown, please be careful about who you send the URL to.

The team page is updated automatically from your device, for example when a game ends or the schedule changes. It is built from the games on your device (up to 100), so older games that are no longer on your device also disappear from the team page. The page content is stored on our Firebase servers, together with the anonymous identifier of the device that created it and an internal identifier of the team, which are used to confirm who owns the page (they are not shown on the page).

You can turn off the team page at any time from the team screen in the App. Once it is off, the link can no longer be viewed (if you are offline, it is turned off once you are back online, and until then the old page may still be visible). If you create it again, it gets a new link. The team page is also deleted when you delete that team, or when we delete your server data at your request (see section 10).

If your anonymous identifier changes — for example because you delete and reinstall the App — you can no longer turn off or update a team page you created before from the App. In that case, please contact us through the form below. If you tell us the page's link, we will delete it.

05Crash Logs and Performance Monitoring

The App collects the following diagnostic information via Sentry in order to detect and fix problems in the App and to improve how it runs (quality improvement / analytics purposes).

We use Sentry with settings that keep personally identifiable information from being sent. We also do not implement any deliberate transmission of the game data or player names you enter. We never sell the diagnostic information we collect to third parties or provide it for advertising purposes.

06Information Sent When You Send Feedback

From the App's "Settings & support" screen, you can send us feedback, bug reports, questions and data deletion requests. The following information is sent only when you tap the send button.

The app and device information is attached automatically so that we can investigate problems. Your game data, team information and shared scores are never attached automatically (unless you write them in your message).

What you send passes through our intake service on Cloudflare (form.lh.tools) and arrives in a private channel in our Slack workspace. On receipt, the time received, the country it was sent from (determined by Cloudflare from the IP address) and a Cloudflare request ID are added.

The sender's IP address is used to limit how many messages can be sent in a short period. It is not included in what reaches Slack, and we do not store it.

We use what you send only to respond to you and to investigate and improve the App, and we keep it for as long as needed to handle your request. We never sell it to third parties or provide it for advertising purposes. For how the contact form on our website handles information, see the Life Hack Tools privacy policy.

07Information We Do Not Collect

The App does not collect any of the following.

The App also shows no advertising and performs no tracking for advertising purposes. We never sell or share user information with third parties.

08Third-Party Services

The App uses the following external services to provide its features. Each service handles data in accordance with its own privacy policy.

As described in section 01, your game, team and schedule records are automatically sent to our Firebase servers.

09Permissions

The App does not require sensitive device permissions such as camera, photo library, location or contacts.

Notifications (optional): when you add a scheduled game, the App may ask for permission to remind you the day before and on the day. Reminders are scheduled on your device only; neither the schedule nor any notification identifier is sent to a server. Every other feature works without this permission, and you can revoke it at any time in your device settings.

10Data Storage & Deletion

11Children's Privacy

The App is intended for people aged 18 and over and is not directed to children. We do not knowingly collect personal information from children.

12Changes to This Policy

We may update this policy as needed. Any changes will be published on this page.

13Contact

For inquiries regarding this policy, to request deletion of a score or team page you have shared, or to request deletion of your data on our servers, please contact us below. For deleting your data on our servers, sending "Request data deletion" from "Settings" → "Support" in the App is the most reliable way, because your device's anonymous identifier is attached automatically.

Contact us via the form
Contact form