Draft

Privacy notice for reservations, claims and .on names.

DRAFT. Not in force. This text describes how the services are designed to handle data. Parts of them are not built yet, and it will change.

The draft is in English only. It will be translated once the text is cleared.

Draft of 10 October 2026, revised after a clause-by-clause check against what the software does. Square brackets mark something that is not decided yet, not built yet, or that depends on a server that does not exist yet, and when a passage was added or changed. The controller is Elevated Spaces Pte. Ltd. (UEN 202641668K), trading as OpenApps, 60 Paya Lebar Road, #06-28, Paya Lebar Square, Singapore 409051. Privacy contact: privacy@onwallet.si. OpenApps runs every service named here.

This notice covers what the Genesis launch adds. OnWallet ID and the OpenApps account each have a notice of their own for everything else they do [neither has been updated for Genesis yet].

1. The short version

2. When you reserve a name

WhatHow it is keptUntil
Your email addressEncrypted under a key that is not in the database or its backups [where that key is kept is set at the key ceremony, which has not been held]You use your code in OnWallet (deleted in that step), you cancel (the whole reservation is deleted at once), or 30 days after the hold lapses. Encrypted backups keep a deleted address for up to 30 days more; the key is not in them
The links of the reservation's steps: the link to your quote post on X, your X profile as that link names it (x.com/…), and your Telegram username (t.me/…)Encrypted under the same key as your email address. We collect them only to check that your reservation is eligible for an invite key (terms, section 2). Only OpenApps operators see them, when they check the steps by hand. The registrar never opens the links and sends nothing to X. If you press “Verify with Telegram”, we also keep your Telegram user id and username, encrypted in the same way, and for a drawn reservation we ask Telegram whether that account is in our group [Added 30 Oct 2026. Changed 31 Oct 2026.]Deleted with your email address: when you use your code in OnWallet, when you cancel, or 30 days after the hold lapses. Encrypted backups keep them for up to 30 days more; the key is not in them
The result of the check: waiting, eligible or not eligible; the step that was missing; when it was decidedAs they areWith the rest of the reservation's record, as the last rows of this table say
A keyed hash of the addressA one-way fingerprint made with a second secret keyIt is what stops one address reserving twice after the address itself is gone. You cancel: deleted at once. The reservation lapses unused: the whole record, this fingerprint included, is deleted 90 days after the lapse. You use your code in OnWallet: the fingerprint is replaced by random bytes 90 days after the latest of the confirmation, your wave's opening and the end of the hold; the rest of the record stays, because it counts against your wave's places. After that the same mailbox could reserve again. The software does this by itself
A keyed hash of your address's mail domain, only if the domain is not on our list of large public mail providersA one-way fingerprint made with the same secret key. It is how a flood of reservations from one domain is found and removed, and how a limit per mail domain would be counted. There is no such limit by default [off by default since 26 Oct 2026]As long as the keyed hash of the address, and erased with it
A shortened keyed hash of the address, inside a counterA one-way fingerprint. It is how "at most three messages an hour to one address" is counted, and it is counted whoever typed the addressTwo hours at most
The name; hashes of your code, of the second code inside an invite key we emailed you (if we did), and of the links we emailed; when an invite key was handed to our email provider for you, or refused by it; your wave; the versions of the terms and privacy notice you agreed to and when; your language; when the reservation was made and when it was confirmed, to the secondAs they areA cancelled reservation: deleted at once. A request never confirmed: 24 hours. A lapsed one: deleted 90 days after the lapse [default, not confirmed]. A used one: kept without a set end, with no email address and, after the 90 days, no fingerprint: it is the count of your wave's places
Your IP addressInside rate-limit counters at the registrar; and as a keyed hash beside your reservation while it waits for you to confirm, which is how "three unconfirmed reservations from one network at a time" is counted. It is not written to the registrar's own logsThe counters: until their window ends, from 30 minutes to 24 hours. The keyed hash beside a reservation: until it is confirmed, cancelled or lapses, at most 30 minutes and the next clean-up after that. [The web server in front of the registrar keeps its own logs; they are to be set to hold no client address, on a host that does not exist yet.]

To decide whether two addresses are the same mailbox we ignore capital letters and anything after a + sign, and for Gmail the dots as well. Mail always goes to the address exactly as it was typed.

A reservation can send you seven emails, and no others:

  1. the verification link, which asks you to open it and press Confirm, and which also lets you cancel the request;
  2. a reminder, in place of a new link, if the address already has a reservation;
  3. the confirmation with your code, the date your hold ends if your wave has one, and a link to cancel;
  4. one notice when your wave has a date;
  5. one notice three days before the hold lapses. These two carry no cancel link; they point you to the one in your confirmation email;
  6. only if a check finds your reservation not eligible for an invite key: one notice that says which step was missing;
  7. only if your reservation is drawn, is eligible and is still held: an invite key that already includes your reservation, so that it is the only code you enter in OnWallet.

Anyone can type your address into the form. It then receives a verification message, and nothing is reserved unless the person who opens that message presses Confirm on the page. One address is sent at most three messages an hour this way.

They are sent through an email provider [provider, its country and how long it keeps delivery records: to be named], which sees your address in order to deliver them. An invite key for a drawn reservation is sent the same way, so the provider sees the address and the key, as it sees your code. The registrar passes the key on and does not keep it in any form; what it keeps is a keyed hash of the second reservation code inside it, deleted with your code's when the reservation is used or lapses. [Added 26 Oct 2026; since 30 Oct 2026 the keys are drawn from reservations.]

What this links. When you use your code in OnWallet, the registrar briefly has your email address, the name and your ledger address together; it then deletes the email address. The keyed hash stays beside the name and the address until it is erased as the table above says. It cannot be read back into an address, but someone with the secret key and a guess at your address could test the guess.

The three steps. Your X profile, your quote post and your Telegram username are public on X and Telegram. Kept beside your reservation, they link your email address and the name to those accounts, for as long as they are kept. Our operators open the links by hand to check the steps, and the links are not shown to anyone else. Nothing is sent to X. If you press “Verify with Telegram”, we keep your Telegram user id and username with the links, and for a drawn reservation we ask Telegram whether that account is in our group. [Added 30 Oct 2026. Changed 31 Oct 2026.]

The page also asks your browser to solve a small puzzle before a reservation is accepted, and has a hidden form field that people leave empty. Both are there to slow down scripts. Neither identifies you, and neither is stored.

3. When you look up a name

A name you type is checked against the naming rules in your browser. If the rules allow it, the page asks the registrar whether it is available. The availability check does not say who holds or reserved a name. Once a name is claimed, the lookup service and the ledger tell anyone which address holds it.

The registrar does not store the names people look up. [The web server in front of it is to be set up not to log them either; that is confirmed here once the host exists and has been checked.]

4. When you enter an invite key and claim

What OnWallet ID keeps

WhatWhyUntil
That your OnWallet ID is a Genesis member, of which wave, and when you entered the key, to the second; a fingerprint of the key (never the key)To give you one claim and to keep each wave to its sizeAs long as your OnWallet ID exists
Who gave the invite key you used, and who used the keys you gaveTo investigate abuse of invite keys, and to count the level of the member who gave the key (terms, section 7)12 months after the key was used; after that only how many of your keys were used. Kept even if either OnWallet ID is deleted, with no name, email or address attached. You are shown whether a key was used, never by whom
The ledger account you chose to claim with, a random voucher number, and the network. The address is encrypted under a key kept apart from the database and never in our backupsTo hand the same voucher back to your own browsers, so that a claim can be resumedAt most 90 days from the voucher's first issue, then deleted with its key; at once if you delete your OnWallet ID
In our security records: when a voucher was issued or its account changed, from which browser and IP addressTo investigate a claim made with a stolen sign-inDeleted together with the address: at most 90 days
That your claim was used, and the day it was first issuedSo that one membership gives one claimAs long as your OnWallet ID exists. No address and no voucher number
If a Genesis member invited you: whether your Genesis pass was held at the last check, and nothing more about itTo count your pass toward your inviter's level (terms, section 7)Checked while your claim record is kept, at most 90 days [how long the last answer is kept after that: not set]
If a membership is removed: a scrambled form of the sign-in mailbox, and of the Google account if one was usedSo that a new OnWallet ID made with the same mailbox cannot become a member againWithout limit. It cannot be turned back into an address

OnWallet ID also emails you when you become a member, when a voucher is first issued, and when its account is changed. None of those messages names a key or an address.

What the registrar receives

After the 90 days: what we can and cannot still work out

We delete the record that says "this OnWallet ID claimed with this address", and we keep no address at OnWallet ID. That does not make the claim untraceable to us. Someone holding all our systems, or one of them and the public ledger, could still work out, with good odds, which OnWallet ID claimed with which account. These are the traces that remain:

  1. The day and the wave. A voucher carries its wave and a day, and we keep the day your claim was used. In a small wave, a quiet day can point to one member.
  2. The sign-in log. You sign in just before a voucher is issued. As for every sign-in, OnWallet ID keeps when and from which device and IP address, to the second, and that log is never deleted. The registrar's records and the ledger's own times are usually within a minute of it.
  3. The public ledger by itself, during the 90 days: the security records above and the time of the mint link a member to an address with nothing else needed.
  4. The emails about your voucher, at our email provider and in your own mailbox, each with a time.
  5. Server and host logs, whose retention is not set yet.
  6. The time you entered your invite key, kept with the membership.
  7. A reservation, if you made one: the keyed hash of your email address sits beside the name and the address.
  8. If a membership is removed, a record of that for up to 30 days.

And your name and your account are public for good.

If you claim a .on name without an invite key

Any OnWallet ID can claim one .on name with no invite key, once this is open. You are not a Genesis member by doing so, and no OpenApps product is told anything new about you: no Genesis claim is added to your sign-in. What OnWallet ID keeps is the same kind of record it keeps for members:

The registrar keeps what it keeps for any claim (section 9): your address, the name, and the voucher number. What can still be worked out after the 90 days is the list above, word for word; and your name and your account are public for good (section 6).

In your browser

While a claim is under way, OnWallet keeps the account you are claiming with, the voucher, the name and what the claim is for in the browser profile. It is not encrypted there, so anyone who can open that profile can read it. It is removed when the claim completes or is abandoned, after 90 days, and when the wallet is removed. After a claim that included a Genesis pass, OnWallet keeps the claim's number at the registrar, so that it can ask what became of the pass later. After a claim of a name on its own, it keeps nothing.

OnWallet notices

The wallet fetches one public file, notices.json, from onwallet.si (from testnet.onwallet.si in the Testnet test build) every few hours, and when you open it if it has not checked for 30 minutes, to show announcements signed by OnWallet. That request carries nothing beyond what any HTTPS request carries: our server sees your IP address and your browser's ordinary headers, as for any page. The wallet sends no cookie, no account, no ledger address and no identifier of the wallet or the browser. On the Testnet server the log line of the request keeps the hour, the method, the kind of request and its status, and not the IP address [Mainnet: the same, once the file is served there]. The notices received are kept in your browser. To turn this off, open Settings, then Notices, and switch off "Show OnWallet notices": the wallet then does not fetch the file at all. [Added 28 Oct 2026. The store build has no notices until a Mainnet notices key exists.]

5. Perks, and your OpenApps account

6. What is public, for good

The XRP Ledger is a public record. Once you claim, anyone can see, permanently:

Nobody can delete or change the ledger's history, us included. We can end a name or a pass under the policy, and we update a pass's number and level. The history of each stays.

The picture and description of a Genesis pass are files on our server. If you look at a pass in another app, that app fetches them from us. [That server is to be set up not to log those requests; confirmed here once it exists.] OnWallet itself never fetches them.

7. The name lookup service

A lookup tells the service's operator an IP address and the name or address asked about. The service itself stores neither, sets no cookies and has no analytics. [Its web server's logs: as section 3.] Anyone can run their own copy, or read names straight from the ledger.

8. About this website

9. Your choices, and what we keep anyway

10. Still to be written

This list is part of the draft and is removed before the notice is published.