Summary. ValetFS has no user accounts, no analytics, no advertising and no tracking of any kind. Your secrets are stored in the iOS Keychain, on your own device and — if you switch it on — in your iCloud Keychain, and they are end-to-end encrypted before they ever leave your phone for a paired computer. We — the developer — cannot read them; neither can the relay they pass through, nor Apple.
ValetFS is a vault that lives on your phone. You store secrets (API keys, tokens, credentials) in it, pair it with a ValetFS daemon running on a computer you control, and the daemon exposes those secrets as an in-memory filesystem only while your phone allows it. Closing the app starts a grace timer, after which the daemon unmounts and wipes its memory.
We collect nothing. The developer operates no user database for this app. There is no sign-up, no login, no email collection, no profile, and no behavioural analytics SDK embedded in the application.
Deleting the app removes all of this local data.
ValetFS can keep your vault in your iCloud Keychain instead of only on one phone, so that opening the app on another device signed into the same Apple Account gives you the same vault. The app asks once and does nothing until you answer; you can change the choice at any time in Settings.
Before any secret leaves your phone it is encrypted for the paired daemon only, using X25519
key agreement, HKDF-SHA256 key derivation and ChaCha20-Poly1305 authenticated encryption. The
ciphertext is relayed by a Cloudflare Durable Object at
valetfs-signaling.winm2m.workers.dev, operated by the developer on Cloudflare's
infrastructure.
The relay holds no decryption key. It sees ciphertext, a random session identifier, and connection liveness — never your secrets, file names or contents.
To route a session the relay necessarily processes a randomly generated session identifier, connection and disconnection times, and the network address your device connects from — the ordinary metadata of any internet connection. This is not linked to a name, email or account because none exists. It is discarded when the session ends; choosing “Forget” in the app deletes the session state on the relay immediately.
The app checks for over-the-air updates from Expo's update service
(u.expo.dev, operated by 650 Industries, Inc.). Such a request conveys the standard
information any HTTP request does — network address, platform, and the app and runtime version —
together with a random installation identifier used to serve the correct update. It carries no
vault data. See Expo's privacy policy.
We do not sell, rent or share personal data. We do not serve advertising, we run no third-party advertising or analytics SDKs, and we do not track you across apps or websites.
ValetFS is a developer tool and is not directed to children under 13. We do not knowingly collect information from children.
Because we hold no personal data about you, there is no account to access, correct, export or delete. You retain full control locally: delete individual secrets in the app, use “Forget” to destroy a pairing and its relay state, or delete the app to erase everything it stored.
If this policy changes we will update the date at the top of this page and, where the change is material, note it in the app's release notes.
Youngjune Kwon — yjkwon@winm2m.com
Source code: github.com/WinM2M/valet-fs