Free receive-SMS numbers are safe for exactly one thing: receiving a code you do not mind other people seeing. Understanding why makes the boundary obvious.
Every message is public
These numbers are shared, and the messages they receive are published for anyone to read — that is the entire mechanism that makes them free. There is no account, no password and no privacy layer. Anyone browsing this site right now can read any message that arrives on any number, including yours.
What that rules out
Never use a public number for anything you would mind losing: banking, your main email, payment services, government portals, work accounts, or anything holding personal data. Someone watching the number can read your code — and with it, take the account. A password reset sent to a public number is a giveaway, not a recovery.
What they are genuinely good for
Throwaway sign-ups, trying a product before committing, testing your own application's SMS flow, and avoiding handing your personal number to a site that will sell it. These are real uses and they are why the numbers exist.
The other direction matters too
Because the number is shared, someone else may already have registered it with the service you want. That is an inconvenience rather than a risk, but it is the main reason a sign-up fails.
If you need privacy AND control
A public number cannot give you both. If you need a number nobody else can read — for an account that matters, or one you will keep — you need a private number of your own rather than a shared one.