Effective Date: March 9, 2026

Last Updated: October 13, 2026

1. Introduction

This Privacy Policy describes how applications and web services developed and published by Aleksander Styrcz (“we,” “our,” or “us”) handle information when you use our products, including:

• mobile and desktop applications available on the Apple App Store (the “Apps”)

• web applications hosted on byaleksander.com (such as Flashcards at byaleksander.com/flashcards)

• this website (byaleksander.com)

This Privacy Policy applies to all applications, web applications, and related services developed and published by Aleksander Styrcz.

We respect your privacy and are committed to protecting it. Our products are designed to operate primarily on your device, and most data remains under your control.

⸻

2. No Account Registration

Our Apps and web applications do not require user accounts or registration.

You can use them without providing personal information such as a name or email address.

⸻

3. User-Provided Content

Our Apps and web applications may allow you to import, create, or export content, including files such as:

• TXT

• CSV

• RTF

• PDF

• ASFC

• APKG

• Image files

• Audio files

By default, files and content are processed locally on your device or in your browser.

Our Apps and web applications do not automatically upload, transmit, or store your files or personal content on servers operated by us.

When exporting files, you choose the destination using the system file interface (for example local storage, iCloud Drive, or other storage providers supported by your device).

The only exception is when you voluntarily choose to submit content for publication in the Flashcards public deck library, as described in Section 9.

Browshell does not use that exception. If something leaves your device while you use Browshell, it goes to a server, share, or device you connect to, or to your own iCloud account if you turn a sync switch on. Section 8 describes both cases. We do not receive those copies.

⸻

4. Device Permissions

Microphone

Our Apps may request permission to access your device microphone in order to record audio when you explicitly use recording features (for example, recording audio for flashcards).

Audio recordings remain stored locally on your device unless you choose to export or share them.

⸻

Camera

Our Apps may request permission to access your device camera when you choose to capture images within the App (for example, scanning a fuel pump display).

Captured images are processed locally on your device. Some Apps may use on-device optical character recognition (OCR) to read text from images you capture. OCR processing happens on your device and is not sent to us.

Captured images remain stored locally on your device unless you choose to export or share them.

⸻

Photo Library

Our Apps may allow you to select images from your photo library using the system photo picker.

Our Apps only access the specific images you explicitly select. Selected images are processed locally on your device.

⸻

Location

Our Apps may request permission to access your location while you use the App.

Location may be used when you explicitly use features that depend on it, such as embedding location information in photos you capture, confirming a place associated with an entry you create, or displaying and searching for nearby places on a map.

Location data is used to provide these features and is stored locally on your device as part of your content or settings. We do not receive or store your location on our own servers.

Some map, search, or geocoding features may rely on services provided by Apple or other system frameworks, which process requests according to their own privacy policies.

⸻

Text-to-Speech

Some Apps may offer text-to-speech features that read card or study content aloud using speech synthesis provided by your device or browser.

Text processed for speech is handled locally on your device or in your browser and is not sent to us.

⸻

Local Network

Browshell may request permission to access your local network. It uses that permission to reach servers, file shares, and Companion devices you connect to on your local network or over Tailscale, and to discover SSH, SFTP, SMB, VNC, and RDP services advertised on that network.

We do not receive a map of your network, the names of devices found there, or the contents of those connections.

⸻

Network Volumes

Browshell may request permission to access network volumes in order to browse SMB network shares that you connect to. It accesses shares you connect to. We do not receive the files on those shares.

⸻

Push Notifications

The Flashcards App may request permission to send push notifications when you submit a deck for publication.

If you grant permission, a device token is sent to our server only as part of that submission. It is used solely to notify you if your deck is approved for the public library. The token is deleted when the submission is approved or rejected.

Push notifications are delivered through Apple Push Notification service (APNs) and are governed by Apple’s privacy policy.

Browshell does not ask you to allow alerts, and it does not send a device token to us. If you turn on iCloud sync (Section 8), Browshell registers with Apple for a silent notification so the app can learn that your iCloud data changed. That notification has no message. Apple delivers it under Apple’s privacy policy.

⸻

5. File Access

Our Apps may use the system document picker interface to allow you to import or export files.

Through this interface, you can select files from locations such as:

• Local device storage

• iCloud Drive

• Third-party storage providers supported by the operating system

Our Apps only access files that you explicitly select.

Browshell may ask you to select an SSH private key file, for example from your .ssh folder. Only the file you select is read. It is used to sign in to the server you connect to. It is not uploaded to us, and it is not included in iCloud sync.

When you download files with Browshell on a Mac, the app may save them to your Downloads folder, or to another folder you choose.

⸻

6. Share Extensions

Our Apps may support operating system share extensions, which allow you to import files or content from other applications.

Content shared through this feature is processed locally on your device and is not transmitted to us.

Browshell’s share extension can import a Companion file (YAML or .browpanion). The file stays on your device. API keys and similar secrets in that file are kept in the Keychain. A copy you export does not include those secrets.

⸻

7. App and Browser Settings

Our Apps and web applications may store certain preferences and settings locally (for example interface preferences or feature settings) in order to improve your experience.

On mobile and desktop Apps, these settings remain stored on your device and are not transmitted to us. Browshell can also copy selected categories into your iCloud account, and only after you turn that category’s switch on for that device (see Section 8). Until you do, that data stays on the device. Home screen widgets show connection names already saved on the device. Those names are not sent to us.

On web applications such as Flashcards, decks, media, and settings are stored in your browser using technologies such as IndexedDB and local storage. This data remains in your browser and is not transmitted to us unless you choose to submit a deck for publication (see Section 9).

⸻

8. Remote Connections (Browshell)

Browshell is a remote file, terminal, and server client for Mac, iPad, and iPhone. It connects directly to hosts and services you configure. It does not require an account with us, and it does not send analytics to us.

Connections

You can connect with SSH, SFTP, FTP, FTPS, WebDAV, SMB, and S3 (including S3-compatible storage such as MinIO). You can also open a remote desktop with VNC, RDP, or macOS Screen Sharing, and you can call Companion HTTP or HTTPS addresses you configure, including devices on your local network or Tailscale.

When you use Browshell:

• Connection details (such as host, port, username, protocol, and an S3 bucket or region) may be saved locally on your device

• Passwords, remote-desktop passwords, S3 secret keys, and Companion API tokens may be stored in your device Keychain if you choose to save them

• You may use the system Passwords or iCloud Keychain picker to autofill credentials you select. Apple’s privacy policy applies to that picker

• An SSH private key is read only from a file you select. It is not uploaded to us

• SSH host fingerprints you accept (trust on first use) are stored in the Keychain on your device

• Terminal sessions, file transfers, remote-desktop screens and keyboard or pointer input, and server commands travel between your device and the host you connected to

Server commands can include live readings (such as CPU, memory, disk, temperature, and network use), system and network changes, Wi-Fi details you enter, drive formatting, and Docker actions on that host. Those commands and their results are not sent to us.

FTP, and HTTP to an address you configure, are not encrypted. SSH, SFTP, FTPS, and HTTPS are encrypted between your device and that host. On a private network (a local address, a .local name, or Tailscale), Browshell may accept a self-signed certificate so you can reach a device that does not have a public certificate. A public host is expected to present a certificate your device trusts. You decide whether to continue, and you should confirm an SSH fingerprint when Browshell asks.

Version Assistant

If you turn Version Assistant on, Browshell keeps earlier copies of supported files on the same server you are connected to, in a hidden folder under that account’s home directory (~/.browshell_versions), for a period you set. Those copies are file contents. They are not sent to us. They remain until you delete them in the app, delete them on the server, or they age out of the period you chose. Anyone who can read that account on that server can read those copies.

Companions

A Companion is a control layout you create or import. Buttons and other controls send requests only to the addresses written in that Companion (for example a device on your LAN or Tailscale). Secrets in the Companion are stored in the Keychain and are left out of a file you export. We do not receive Companion requests or secrets.

Optional iCloud sync

In Settings, Sync has a separate switch for each category. Each switch applies only to that device. Every switch starts off. Turning one on stores that category in your iCloud account (CloudKit) so your other devices can use it. Apple’s privacy policy applies. We cannot read your iCloud data, and we do not receive a copy.

If you turn a switch on, that category can include:

• Saved connections: host, port, username, protocol, S3 bucket and region, display name, and launch mode. Passwords and key files stay on the device

• Known hosts: SSH fingerprints you have already accepted. Not your private keys

• Appearance: colors and similar interface settings

• Companions: the layout and whether it is enabled. Secrets stay in the Keychain on the device

• Cached thumbnails: image previews of remote files, so another device does not have to create them again

• Transfer manager: transfer names, source and destination labels, queue order, progress, and this device’s name

Turning a switch off stops exchanging that category. The iCloud copy stays until you choose Remove from iCloud. Removing it deletes that category from iCloud. Other devices that still have the switch on lose it the next time they sync.

The silent notification described in Section 4 is used only so a device can notice that this iCloud data changed. It is not a message from us, and we do not receive the device token.

Docker Hub and speed tests

If you search or open the container image library, Browshell contacts Docker Hub (hub.docker.com) from your device. Docker receives your IP address and the search or image name. Docker’s privacy policy applies. We do not receive that request. When you create a container, the download is performed by your server, not by us.

If you run a speed test, the test runs on the server you are connected to. That server contacts Cloudflare (speed.cloudflare.com). Cloudflare’s privacy policy applies to that request. We do not receive the result.

Trial and lifetime unlock

Browshell includes a seven-day trial of the full app. The trial starts the first time you use it. After it ends, file browsing stays available. Terminal, remote desktop, Server Management, editing files, more than one connection at a time, Companions, and the other tools beyond browsing require a one-time lifetime unlock.

The unlock is an In-App Purchase sold and billed by Apple through the App Store. We do not receive your payment card number, Apple ID password, or billing address. Apple tells the app, through StoreKit on your device, whether that Apple ID has the lifetime unlock. We do not run a license server, and we do not receive a copy of the receipt on our servers.

Restore Purchases asks Apple whether this Apple ID already owns the unlock. The price shown in the app is the price Apple returns for your App Store country.

The trial start date is stored on your device. When iCloud is available, the same date is also stored in your iCloud Key-Value storage, so deleting and reinstalling the app, or opening it on another device with the same iCloud account, does not start a new trial. We do not receive that date. Refunds and payment disputes are handled by Apple under the App Store terms.

What we do not receive

Browshell does not send your credentials, private keys, terminal output, remote-desktop contents, remote files, Version Assistant copies, Companion secrets, or server data to servers operated by us.

We are not a party to your connection with a server, share, bucket, Companion device, Apple account, Docker Hub, or Cloudflare. We do not log those connections. We cannot recover a password, a key file, a remote file, or a purchase for you. You are responsible for having permission to access any host you connect to, for confirming that you trust it, and for the data you place on it.

⸻

9. Flashcards Public Deck Library

Flashcards (App and web application) includes an optional public deck library hosted on byaleksander.com. Using the library is voluntary.

Browsing and downloading

You may browse and download publicly available decks from our server. Downloading a deck copies it to your device or browser; it does not modify decks you already have locally.

We maintain aggregate download counts per published deck. These counts are not linked to individual users.

Submitting a deck for publication

If you choose to submit a deck for publication, you upload a copy of the deck file (.asfc) along with metadata such as:

• Deck name and public description

• Language (and optional second language)

• Optional author name for public attribution

• Optional private note to the reviewer

• Source (web or iOS)

• Timestamp of your acceptance of the publication terms

• Optional push notification device token (iOS only; see Section 4)

Study statistics are removed from the uploaded copy. Submitting for publication does not change the deck or progress on your device.

When you submit, we also collect limited technical information for review and abuse prevention:

• IP address

• Browser or App version and operating system (from User-Agent)

• Approximate country and city (from server headers or an IP geolocation lookup)

Review and publication

Submissions are reviewed before publication. We may approve or reject any submission for any reason.

• If approved, the deck is published in the public library and may be downloaded by anyone. If you provided a push notification token, we send a one-time approval notification via Apple Push Notification service.

• If rejected, the submission and associated data (including any push notification token) are deleted. No notification is sent.

By submitting, you agree to the Flashcards publication terms available at byaleksander.com/Flashcards/api/PUBLICATION_TERMS.md.

⸻

10. Internet and Third-Party Services

Some of our products connect to the internet for limited functionality.

For example, a product may:

• fetch publicly available reference data (such as currency exchange rates) needed for a feature you have enabled

• use Apple system services (such as map search or geocoding) to help identify places or locations you interact with

• open another app or website when you explicitly choose to do so (for example Apple Maps or Google Maps for navigation)

• browse or download from the Flashcards public deck library, or submit a deck when you choose to do so (see Section 9)

• in Browshell, contact Docker Hub, or have your server contact Cloudflare, when you use the features in Section 8

• in Browshell, use Apple services you turn on or that the purchase flow requires: iCloud, Keychain, the Passwords picker, StoreKit, and silent push (see Section 8)

The examples above, other than Browshell iCloud sync and a Flashcards deck you choose to publish, do not include your imported files, recordings, photos, terminal sessions, or remote files. iCloud sync is limited to the categories in Section 8, and only after you turn a switch on. Publishing a deck is described in Section 9.

We may use third-party services for specific purposes, such as IP geolocation lookups during website analytics or deck submission processing. Any third-party service you open through an explicit action, or whose service we use for a specific function, is governed by that service’s own privacy policy.

⸻

11. Feedback Emails

Our Apps may include a feature that allows you to contact us via email for feedback or support.

When you use this feature, your device’s default email client will open so that you can send a message voluntarily.

We only receive the information that you choose to include in that email.

⸻

12. Data Collection

We do not:

• Automatically collect personal data through our Apps during normal local use

• Track users across apps or websites

• Use advertising identifiers

• Sell personal data

• Build user behavior profiles

Information we receive is limited to:

• What you voluntarily send to us (for example through email or contact forms)

• What you voluntarily submit when publishing a Flashcards deck (see Section 9)

• Basic technical data collected when you visit our website (see Section 17)

We do not receive Browshell credentials, terminal sessions, remote-desktop contents, remote files, server statistics, Companion secrets, or the contents of your iCloud sync. Apple, Docker, Cloudflare, and the hosts you connect to may process data as described in Section 8, under their own policies. Opening byaleksander.com from the app is a normal visit to this website and is covered by Section 17.

⸻

13. Data Storage

By default, user content created, imported, or recorded within our Apps and web applications remains stored locally on your device or in your browser unless you choose to export it to another location (such as iCloud Drive or another storage provider).

We do not maintain servers that store your local files or personal content, except when you voluntarily submit a deck for publication in the Flashcards public library (see Section 9). Approved decks are stored on our server and made publicly available.

Browshell data that you sync is stored in your iCloud account, not on our servers. Version Assistant copies are stored on the server you connected to, not on our servers. The lifetime unlock is recorded by Apple for your Apple ID. We do not keep a copy of it.

⸻

14. Data Retention

• Local data (on your device or in your browser) remains until you delete it or uninstall the App or clear your browser storage.

• Flashcards submissions that are rejected are deleted promptly. Approved decks remain published until removed by us. Submission metadata and push notification tokens are deleted when a submission is approved or rejected.

• Website analytics and contact form data are retained only as long as needed for the purposes described in this policy, after which they are deleted or anonymized.

• Browshell on your device remains until you delete it or uninstall the app. Keychain items remain until you delete the saved connection or the Keychain item, or you remove the app, subject to your device’s Keychain settings.

• Browshell iCloud data remains in your iCloud until you choose Remove from iCloud for that category, or you delete it with your Apple ID. We cannot delete it for you.

• Version Assistant copies remain on your server until you delete them, or they age out of the period you configured.

• The trial start date remains on your device and, when iCloud is available, in your iCloud Key-Value storage. Reinstalling does not clear the iCloud copy, so the seven-day trial does not start over.

⸻

15. Data Security

Because our products primarily store data locally on your device or in your browser, protection of that data depends on your device and browser security settings.

We recommend using device passcodes and keeping your operating system and browser up to date.

Server-side data (such as published decks and submission records) is protected using reasonable technical and organizational measures appropriate to the nature of the data.

We do not control the security of a server you connect to, a network you join, a Companion device you configure, your iCloud account, or Apple, Docker, or Cloudflare. A device passcode, and an up-to-date system, are what protect data stored in the Keychain and on the device. Before you send credentials, files, or commands to a host, confirm that you trust it, including when Browshell asks you to check an SSH fingerprint or to continue with a certificate on a private network.

⸻

16. Children’s Privacy

Our products can be used by people of all ages, including children.

Our products do not require account creation and do not knowingly collect personal information from users during normal local use, including from children.

Any information we receive is limited to what a user voluntarily sends to us (such as through email communication) or voluntarily submits (such as a deck for publication).

Published decks in the Flashcards public library may contain user-submitted educational content visible to anyone. We review submissions before publication but do not guarantee the suitability of published content for any particular age group.

⸻

17. Website Usage Data

When you visit our website (byaleksander.com), including web applications such as Flashcards, basic technical information may be processed to ensure the proper operation and security of the website.

This may include:

• IP address

• Requested pages and URLs

• Referrer

• Date and time of requests

• Browser, operating system, and device type

• Screen dimensions and time zone

• Approximate country and city (derived from IP address)

• An anonymous session identifier stored in your browser’s session storage (not a cookie)

This data is processed solely for:

• Maintaining website functionality

• Security and abuse prevention

• Basic, privacy-friendly, self-hosted analytics

We do not:

• Use advertising cookies or third-party analytics platforms

• Track users across other websites

• Sell or share analytics data with third parties for marketing purposes

IP geolocation may involve sending your IP address to a geolocation service provider solely to determine approximate location. We do not receive any other data from that provider about you.

⸻

18. Contact Forms and Communication

When you contact us through forms on our website, we may collect the information you provide, such as:

• Name

• Email address

• Message content

Additionally, certain technical data (such as IP address and request metadata) may be processed for security and abuse prevention purposes.

This information is used solely to:

• Respond to your inquiry

• Provide support

• Prevent spam or misuse

We do not use this data for marketing purposes or share it with third parties.

⸻

19. Changes to This Privacy Policy

We may update this Privacy Policy from time to time.

If changes are made, the updated version will be posted on this page with a revised “Last Updated” date.

⸻

20. Contact

If you have any questions regarding this Privacy Policy, you may contact:

Aleksander Styrcz

Email: hello@byaleksander.com