The Aragon Network Token has vesting built in that limits the transferability of the token until a specified time.
ANT holders can transfer ANT in the normal way transfer(address to, uint value).
Special whitelisted holders can transfer them by creating a vested token grant grantVestedTokens(address to, uint value, uint64 startDate, uint64 cliffDate, uint64 vestingDate). All dates are expressed using UNIX timestamps in seconds (like the EVM).
The only whitelisted address will initially be Aragon's multisig for avoiding bad uses of this feature. In case a legit usecase of vesting is needed, you can ask Aragon to whitelist your address to create vestings.
Token transfers performed using the grantVestedTokens function result in an immediate balance transfer but limited liquidity until the vesting dates.
Some tips to interact safely with ANT include:
After receiving a transfer, check that the balanceOf(address) is equal to the spendableBalanceOf(address). If equal, this means you can spend all of your tokens right away.
If you received a token grant, check that your lastTokenIsTransferrableDate(address) is a reasonable date. Also don't set a ridiculous vesting date when sending token grants, as the receiving party will not be able to be transfer those tokens.