I am developing a new application (web + mobile) that sort of builds around anonymity and requires a big audience to be interesting. People will be in direct contact with each other (one on one), but they wouldn't know anything about themselves initially. It might be seen as a sort of a game with outreach to real life and people.

Optimally, I would like to allow just anyone to use the app without any restrictions. Ask them a few basic information like what language they speak and where are they located and then let them roam. On the other hand, I want users of the app to be serious about its purpose and not to abuse it for their agenda/spam to annoy legitimate users. I don't know yet if it's gonna be a real issue or not.

Identity verification

Since the app builds around anonymity I find it sort of weird to ask people to register an account immediately. My goal is to allow them to keep using the same device anonymously. Later when they want to use more devices, they can register to persist the account.

Not to mention that any sort of registration with email or social providers is a hardly viable method of identification. For persistence purposes, it's enough.

Probably the closest to the person's identity today is a mobile phone. I can send one time SMS with code just to verify they own it and keep that phone number in some database and block access if anyone else tries to use the same number on a different device. Burner phones kinda make it difficult, but I like to think that not everyone is living in American spy movies :)

Here comes my first question. Is asking for a phone number considered part of bad user experience? Especially when it's sort of experimental kind of app. Could it drive potentially "good" people away? Of course, an explanation of reasons would be necessary, but that's probably hard to achieve in some unobtrusive way.

Identity by payment

The app generally won't be free. I am not decided on the specific monetization model yet. Ideas are mainly between onetime fee or credit-like based to spend with usage.

Either way, paying for something does feel like it establishes a sort of person's identity. I don't mean credit card number, that's probably too easy to get another one (less easy than email or FB account). I like to think if a user decides to pay, they want to use the app for real. Of course, some people might find the app as a good platform for their kind of agenda and pay too, so it's far from the ultimate solution.

However, the problem of paying before being able to try the service could be motivation to never try it out. That especially applies to onetime payments. It would require a clearly defined money-back guarantee for a limited time. With the credit-like solution, it's probably better if they can get money from the wallet back.

Another problem is that I would require credit card payment and would have to opt-out from modern methods like PayPal, BitCoin, PaySafeCard and similar as they are too easy to duplicate. That alone is a weird aspect considering the focus on the anonymity of the app.

So the next question. Could be asking for payment immediately considered better than asking for a mobile phone number?

Combination of both?

In conclusion, both methods might have an apparent impact on conversions and either is bullet-proof. Would it make any sense to allow the user to pick the preferred method? I mean they will have to pay at some point anyway, but if I can verify them with phone numbers and declare some sort of person's identity, I can then provide some free trial before they have to pay. Could such an approach prove helpful?

  • While this all looks like an invitation for a good deal of spam messages, have you considered sending the user some sort of token which represents their account rather than asking them for one? Perhaps simply hash(salt + payment_wallet_id)
    – ti7
    Mar 26, 2020 at 22:03
  • I am not sure what you mean by payment_wallet_id? How does that solve the core problem to recognize if it's a same person I blocked a week ago for abuse?
    – FredyC
    Mar 27, 2020 at 5:41

1 Answer 1


Those verification methods are common and could be viable, but the underlying app may have conceptual problems.

There's a lot to unpack here, so bear with me.

For starters, it sounds like users would be paying for the ability to let people they don't know send them messages they don't want. You'd basically be inheriting all of the problems of Twitter without the upside of it being free. I'm not sure there's a value proposition large enough to entice people to sign up, but we'll set that aside for now.

Nothing you describe sounds like "anonymity" but rather like every other account-based web service out there. The service provider knows who you are, and other users know you by your avatar/handle if not your real name. Even on the user side of things, true anonymity would only be possible if every user's avatar was identical, but that hinders most forms of social interaction. (The video game Journey is a well done example of this, where all users are basically identical, but communication is extremely limited.) Spam/abuse happens even when users are not anonymous, so it will definitely happen when they are.

If you are sticking with a traditional account-based service, verifying users via phone number or credit card are both common, but acceptance depends on how you frame the service and what your needs are. Verification can serve multiple purposes: humanity, dedication, and uniqueness.


Most verifications are intended to make sure you are a human using the service and not a bot signing up for an infinite number of user accounts. You don't care who they are, as long as they can pass a simple test (like a CAPTCHA). While texting a code to a phone number is reasonable, it is a larger hurdle, which leads to the next point.


Some services need to make sure users aren't just signing up with a throwaway email or phone number (867-5309?). Usually this is because they want to contact those users in the future or ensure a second channel of communication exists to reset passwords. Email or phone verification ensure that the number is one they have access to (even if it can't prove it's theirs), while charging a credit card $1 is less reliable (as thieves gamble the charge won't be noticed on a stolen card).


Since people can have multiple phone numbers, email addresses, credit cards, and even names, as well as sharing all of those things with other people, common verification methods can't help identify who the person creating the account is without extra steps. This can be important if you are making tax software and need to know exactly which John Smith is filing, but this mostly goes against any sort of anonymous use.

If anonymity is truly a cornerstone of your app, you will likely get more users to sign up if you ask for an email address and BitCoin wallet instead of a phone number and credit card. This can verify that they are likely a human and dedicated to using the app, but you won't ever know who they are or if they make 100 accounts. Sending a verification email by itself can increase the odds they are human, while making it easier to register multiple accounts per person.

But you should also examine how you are presenting this app to potential users and if your goals are about preventing/minimizing abuse or ensuring full anonymity. It's hard to answer those questions without more details on what this app is, what it does, and why it should exist.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.