Wanted to write a full, updated answer after doing a somewhat "deep dive" into this... not discounting @cesarm's answer at all!
First of all, there was in fact an error in the docs. Note the PR recently merged here: https://github.com/stellar/docs/commit/8d06491910ceb8c6a9734a99ab2ea87bca635412
This change should show up on the website docs soon (...
From a discussion I just had on slack, prompted by your question, it seems the scenario you mention is the sole reason.
To make guarantees that authorization cannot be revoked - @mikefair
That seems a sufficient reason, even without any other use-case.
It's possible, but you'll need one more Stellar account for this. Account QCHU (original account) will be unable to pay tx fees until you change the low threshold back to 0.
Create one more Stellar account (let's call it "auxiliary" account) with minimum balance 1.1 XLM.
Using Stellar Laboratory prepare a transaction
Use auxiliary account public key as a ...
You can't. That's the purpose of AUTHORIZATION IMMUTABLE: to allow asset holders to have trust that the asset will not be revoked, or the account deleted in the future. From the docs:
Ensuring asset holders they won’t be revoked: the above functionalities are great for asset issuers who wish to control who can and cannot hold/transact their asset. However, ...
You should be able to use the Horizon /accounts endpoint to return all the accounts with trustlines to an asset:
You can then iterate over that list to find accounts that haven't yet been authorized. (see https://github.com/stellar/go/issues/1938)
As I understand it, the main use case is to support KYC (know your customer) and anti-money laundering. An issuer can confirm identity in order to satisfy relevant laws in their jurisdiction, and then proceed to grant authorization through an allow trust operation.
You could also use this mechanism to limit a set of tokens to some pool of people for other ...
From the technical point of view, after the first COOLTOKEN ICO wave you can issue another token, say, COOLTOKEN2, sell it and then exchange COOLTOKEN2 for COOLTOKEN at 1:1 rate.
But turning off trustlines authorization after the tokensale defeats the whole idea of KYC. You will definitely have troubles with regulators after such move. If you don't care ...
Looks complicated... Maybe you could have a look at this first, before scrolling down.
How do I use the flag: authorization revocable
2 operations are related to your questions: [Set Options] & [Allow Trust]. Both operations can only be done by the asset issuer.
And 3 info essential to your questions: (I'll skip explanations here)