Letworks · trust center

Trust & Security Center

What our apps do with your data. All of it.

Every Letworks app is offline-first on purpose. Your books, shows, music and files stay on your device, or on a server you run, unless you turn on something that leaves it. This page is the plain account of what that means for each app, including the parts that aren't flattering.

Effective and last updated: September 29, 2026

No analytics or tracking code No ad code in any app today No account with us No Letworks server

Our approach, in short.

Letworks builds small apps, not a company with a data business to run. Leaflet, Wavelet and Triplet are offline-first. Hamlet runs on hardware you own. There's no Letworks server, so there's nothing on our side collecting your library, your listening or your reading.

Some features do go online, and only when you use them: fetching a feed, looking up a cover, syncing to your own Google Drive or your own server. Each of those is a direct line between your device and that one destination. Every one of them is listed below.

The principles behind this are on the About page, as the lines we won't cross. This page is the detail. If you only read one section, read the one for the app you use.

At a glance

A summary of each app. Full detail is in each app's own section further down.

Leaflet

Ebooks & feeds
  • Books never leave your device
  • No account with us
  • Optional sync to your own Google Drive or Hamlet server
  • No analytics, ad or crash-reporting code
Read Leaflet's policy →

Wavelet

Podcasts & audiobooks
  • Feeds come straight from publishers, with no Wavelet server in between
  • Downloads and positions stay on your device
  • Optional sync to your own Google Drive or Hamlet server
  • No analytics, ad or crash-reporting code
Read Wavelet's policy →

Triplet

Music
  • Music is read where it sits and never uploaded
  • No account with us
  • Optional sync of playlists and play history to a hidden Drive folder
  • No analytics, ad or crash-reporting code
Read Triplet's policy →

Hamlet

Self-hosted server
  • Runs on hardware you control
  • No cloud dependency, no telemetry
  • You are the data controller for your own server
  • Letworks never sees what's on it
Read Hamlet's notice →

What each app collects

A side-by-side view. "Not collected" means Letworks never receives this data at all, not that it's merely hidden from you.

  • Never Letworks never gets it
  • Yours Stays on your device or your server
  • Opt-in Only if you turn it on, to your own account
  • Not yet Not in the app yet, or doesn't apply
Data categoryLeafletWaveletTripletHamlet
Account / profile info Not collected Not collected Not collected On your own server
Library files (books, audio, music) On your device On your device On your device On your own server
Reading / listening position, history On your device On your device On your device On your own server
Analytics / advertising identifiers Not collected Not collected Not collected Not collected
Location, contacts, camera, microphone Not accessed Not accessed Not accessed Not accessed
Google Drive Opt-in · only files you pick Opt-in · only files you pick Opt-in · hidden app folder Doesn't apply
Self-hosted server sync Opt-in Opt-in Not yet This is the server
Ad code (optional unlock) Not in the app yet Not in the app yet Not in the app yet Never

What none of the apps do

This applies to Leaflet, Wavelet and Triplet.

  • No analytics or usage tracking
  • No third-party tracking code
  • No ad code or ad networks, today (see Ads & payments for what's planned)
  • No crash-reporting code that sends data off your device
  • No account system or server run by us
  • No sale or sharing of personal data with anyone

Leaflet privacy policy

Leaflet is an ebook and feed reader. This section explains what Leaflet accesses and what it does with it.

Summary

Everything under What none of the apps do applies. Your library, bookmarks, highlights and feeds are stored on your device unless you turn on one of the optional sync features below.

Files you import

When you add a book (EPUB, MOBI, AZW3, PDF or plain text), Leaflet copies it into its own storage on your device and reads its text, cover and metadata there. Book files are never uploaded by Leaflet itself. The only way a book reaches Google Drive is if you put it there and open it from Leaflet.

Lookups you ask for

If you search for a book's cover or details, Leaflet asks Google Books and Open Library. If you open an author's page, it asks Open Library for a short bio. These requests carry the title or name you're looking up and nothing else. They're sent from your device directly, never through us.

Feeds

If you subscribe to an RSS or Atom feed, Leaflet fetches it directly from the site that publishes it. Alerts for new articles are created on your device. Nothing passes through a Letworks server.

Optional Google Drive

Off by default

If you connect Google Drive, Leaflet asks for the drive.file scope on Android, and will on iOS once that version ships. That means it can only see files and folders you pick through Google's own picker. It can't browse, read or change anything else in your Drive. Leaflet uses that access for two things: opening book files from the folder you chose, and keeping one sync file (leaflet_library_sync.json) there. That file holds your library details, bookmarks, highlights, reading progress and feed list. It never holds book files.

One exception, stated plainly: Leaflet's Linux build, which isn't released yet, currently asks for full Drive access, because Google's picker doesn't work there. That gets fixed or disclosed before a Linux build ships.

Google's handling of your Drive is governed by Google's Privacy Policy. You can revoke Leaflet's access at any time from your Google Account permissions.

Optional self-hosted sync

Off by default

Leaflet can sync the same library details, bookmarks, highlights and progress to a Hamlet server you configure yourself. That data goes only to the address you enter: a server you or someone you trust controls, not one we operate. We have no access to it.

Local storage

Your library, reading progress, bookmarks, highlights and reading stats are stored in the app's private storage on your device. You can export them to a backup file (JSON) at any time. Uninstalling the app removes them.

↑ Pick another app

Wavelet privacy policy

Wavelet is a podcast and audiobook player. This section explains what Wavelet accesses and what it does with it.

Summary

Everything under What none of the apps do applies. Your audiobooks, podcasts, playback progress and bookmarks are stored on your device unless you turn on one of the optional sync features below.

Files you import

When you add audiobooks, Wavelet reads them from wherever you picked them to get chapters, cover art and details. That happens on your device.

Podcast feeds and episodes

When you subscribe to a podcast, Wavelet fetches its RSS feed and episodes directly from the podcast's host, never through a Wavelet server, because there isn't one. The host sees the request the way any website sees a visitor. Alerts for new episodes are created on your device.

Lookups you ask for

Podcast search and the Top Podcasts list come from Apple's public podcast directory. The list is the same for everyone in your country, and your search terms go to Apple, not to us. Looking up an audiobook's cover or details asks Google Books and Open Library. These lookups only happen when you open those screens.

Optional Google Drive

Off by default

If you connect Google Drive, Wavelet asks for the drive.file scope on Android, and will on iOS once that version ships. That means it can only see files and folders you pick through Google's own picker. It can't browse, read or change anything else in your Drive. Wavelet uses that access for two things: playing audiobook files from the folder you chose, and keeping sync files there with your library details, playback positions and bookmarks. The sync files never contain audio.

One exception, stated plainly: Wavelet's Linux build, which isn't released yet, currently asks for full Drive access, because Google's picker doesn't work there. That gets fixed or disclosed before a Linux build ships.

Optional self-hosted sync

Off by default

Wavelet can sync your library and playback progress to a Hamlet server you configure yourself, and stream or download from it. That data goes only to the address you enter: a server you or someone you trust controls, not one we operate. We have no access to it.

Other cloud providers

Dropbox, OneDrive, Nextcloud and Proton Drive appear in the app as "coming soon". They don't work yet, and no data is sent to them.

In the car

With Android Auto, or CarPlay once the iOS version ships, Wavelet shows playback controls and what's playing on your car's screen through the phone's own car framework. Nothing extra leaves your phone for this.

Local storage

Your listening progress, bookmarks, library details and listening stats are stored in the app's private storage on your device. You can export them to a backup file (JSON) at any time. Uninstalling the app removes them.

↑ Pick another app

Triplet privacy policy

Triplet is a music player for files you already own. It's coming very soon to open beta. This section explains what Triplet accesses and what it does with it.

Summary

Everything under What none of the apps do applies. Your music is never uploaded anywhere. Your playlists, favourites and play history stay on your device unless you turn on Google Drive sync.

Your music folders

You choose the folders Triplet can read, through your system's own folder picker. Triplet reads tags, cover art and lyrics from the files where they sit. It never copies your music into the app, and it never sends it anywhere. Triplet makes no network requests to find lyrics, covers or recommendations.

Optional Google Drive

Off by default

If you connect Google Drive, Triplet asks for the drive.appdata scope. That's a hidden folder only Triplet can see. It can't see any of your own files in Drive at all. Triplet keeps your playlists, favourites, play counts and play history there, so they follow you between devices. Your music is never uploaded.

You can revoke Triplet's access at any time from your Google Account permissions.

Other cloud providers

Dropbox, OneDrive and Nextcloud appear in the app as "coming soon". They don't work yet, and no data is sent to them. Triplet doesn't connect to Hamlet yet. When it does, this section will say so.

In the car

With Android Auto, Triplet shows playback controls and what's playing on your car's screen through Android's own car framework. Nothing extra leaves your phone for this.

Local storage

Your library index, playlists, favourites and listening stats are stored in the app's private storage on your device. You can export them to a backup file (JSON) at any time. Uninstalling the app removes them. Your music files stay exactly where they were.

↑ Pick another app

Hamlet privacy & self-hosting notice

Hamlet is a server for books, audiobooks and podcasts that you run yourself, on hardware you control. It's in development.

Read this if you run Hamlet

When you run Hamlet, you are the data controller for whatever your server stores: your media, the accounts you create, and the progress of everyone you give access to. Letworks doesn't operate, access, host or receive anything from your server. This section describes what the Hamlet software does. If you share your server with other people, telling them how you handle their data is up to you.

What the software does

Hamlet keeps your library index, chapters, covers, accounts and playback positions in a database file on the machine you run it on. Passwords are stored hashed, never in plain text. Apps sign in with access tokens that expire. Hamlet has no cloud dependency, no analytics and no telemetry, and it doesn't contact any Letworks server. Nothing leaves the machine unless you set it up to.

Several people, one server

The first account created on a new server is its admin. Each account has its own sign-in, playback positions and progress. The media files are shared between accounts; the per-person state is not.

Source code

Hamlet isn't open source yet. A licence hasn't been chosen for any Letworks app, and we'd rather decide it properly than promise it early. When that changes, this section will say so.

↑ Pick another app

Ads & payments

This is the one place where "no ads" needs an asterisk. Here's the whole thing, before it ships rather than after.

The apps are free during the beta. After launch, as described on the About page, each app unlocks one of two ways: pay a small one-time price, or watch one ad, once. There will never be a subscription.

Today

No Letworks app contains ad code or payment code. Nothing on this page about "no ads" is out of date yet.

When the ad option ships

  • Showing an ad means including an ad provider's code in the app, and that code will see some basic device information to deliver the ad. We'll name the provider here before release, with a link to its privacy policy.
  • Ads will be requested as non-personalised, with no advertising ID and no profile, because we don't build one. The ad plays once, when you choose it, and never again.
  • If you pay instead, the ad code never runs for you.
  • Hamlet will never have ads.

Payments

One-time purchases go through Google Play or Apple's App Store, which handle payment details under their own policies. We never see your card or bank information.

When either of these ships, this section, the comparison table and each app's policy will be updated, with a new date at the top.

Third parties & who else sees data

No Letworks app uses analytics vendors or data brokers. The only outside parties are the ones a feature has to talk to, and only when you use that feature.

PartyInvolved withWhy
Google Play / Apple App Store Leaflet, Wavelet, Triplet Distribution and, after launch, one-time purchases. Handled under Google's and Apple's own privacy policies. We don't choose what they collect.
Google Drive Leaflet, Wavelet, Triplet (optional) Only if you connect Drive and sign in with Google yourself. drive.file for Leaflet and Wavelet, drive.appdata for Triplet.
Feed publishers & their hosts Leaflet, Wavelet Feeds, articles and episodes are fetched directly from the address you subscribed to.
Apple podcast directory Wavelet Podcast search and the Top Podcasts list. Receives your search terms and your country, only when you use search.
Google Books, Open Library Leaflet, Wavelet Cover and detail lookups you start, and author pages in Leaflet. Receives the title or name you're looking up.
A Hamlet server you configure Leaflet, Wavelet (optional) Only if you connect to one. It's run by you or whoever you trust with it, never by us.
An ad provider Leaflet, Wavelet, Triplet (planned) Not in any app today. It will be named here before the optional ad unlock ships. See Ads & payments.
Dropbox, OneDrive, Nextcloud, Proton Drive Shown as "coming soon" Not functional yet. No data is sent to these services today.

Security practices

Having very little to protect is the first line of defence. Here's the rest.

  • Google Drive, Apple, Google Books and Open Library are always reached over HTTPS.
  • Feeds and Hamlet are reached over HTTPS when the other end supports it. Leaflet and Wavelet also allow plain HTTP, because some older feeds still use it and a Hamlet server on your home network often does too. Anything sent over plain HTTP can be read by others on that network, so put Hamlet behind HTTPS if it's reachable from outside your home.
  • Google sign-in tokens are kept in your device's secure storage.
  • Hamlet stores passwords hashed and uses expiring access tokens. Because it's self-hosted, encryption at rest depends on how you've set up your own machine and disk.
  • Leaflet, Wavelet and Triplet have no account with us, so there are no Letworks-held passwords to leak in the first place.
  • Found a security issue? Please report it to support@letworks.dev before disclosing it publicly, and we'll work with you on a fix and a timeline.

Children's privacy

Letworks apps don't knowingly collect personal information from children, and they have no account system or data collection that would do so. They aren't directed at children under 13, or under 16 where a stricter local threshold applies, such as parts of the EU.

If a parent or guardian believes a child's information has reached an optional Google Drive connection or a self-hosted server, contact support@letworks.dev and we'll help however we can. Note that Drive data lives in the user's own Google account, and self-hosted data lives on the operator's own server. Both are outside what we can reach or delete.

Your rights (GDPR & CCPA)

EEA / UK: GDPR

If you're in the EEA or UK, you have the right to access, correct, delete, restrict, object to and port your personal data. Because almost everything on this page lives on your own device, your own Google account or a server you control, most of those rights are already in your hands. Deleting the app removes its local data. Your Google Account controls Drive access. And running your own server gives you direct control of everything on it.

California: CCPA / CPRA

Letworks doesn't sell personal information, doesn't share it for cross-context behavioural advertising, and hasn't done either in the past 12 months. California residents can ask for more detail about the limited data described here by contacting us below.

Exercising a right

Email support@letworks.dev with your request and which app it concerns. We'll respond within 30 days.

Data retention & deletion

  • On-device data (Leaflet, Wavelet, Triplet): kept until you delete it, clear the app's storage or uninstall.
  • Optional Google Drive data: kept in your own Drive until you delete the sync files, or remove the app's access from your Google Account settings. To clear Triplet's hidden app folder, use Drive's settings, under Manage apps.
  • Self-hosted sync and Hamlet data: kept on the server until you delete it there.

One thing to know about sync: if you delete something on one device while sync is on, it can come back from the synced copy the next time sync runs. To delete something everywhere, delete it with sync turned off, then delete the Drive sync file or the record on your Hamlet server too.

Letworks doesn't keep a copy of any of this on its own infrastructure. Beyond emails you send us, there's nothing on our side to keep or delete.

Changes to this policy

This page was last updated on September 29, 2026. If anything material changes, such as a new feature that handles data differently, a new third party, or the ad option shipping, we'll update the relevant section and the date at the top before the change reaches you. It's worth a re-read before you turn on an optional feature like Google Drive or self-hosted sync.

Contact

Questions, a data request or a security report: one inbox handles all of it, and we read every message.

support@letworks.dev

Mention which app your question is about so it gets answered faster.

Email support@letworks.dev