There aren’t many things holding me back from using AnyType as my app for everything, but this is definitely one of them. I’m currently using it in Local-Only mode, but I really wish that I’d be able to use it in standard syncing mode. It would simplify a lot of things for my day-to-day usage. It’s a total deal-breaker for me to not have any sort of optional password (other than the six digit PIN that could be easily brute-forced), any session management, any second factor (ideally TOTP), or anything to protect my data than my twelve word seed phrase. I really hope they implement this soon.
I second this request, maybe I do not understand TOTP correctly but why can’t a generic TOTP code generator be randomly made and applied to any server (whether local or cloud) at a user’s opt-in? Seems basic to me. Feel free to correct me if I am wrong about that.
My fear is that I store my phrase in a password manager and I frequently have to re-login for whatever reason (anyone else have the desktop application always sign them out? Is that normal?) so if I were to copy and paste and my device clipboard were compromised against my knowledge I could lose my account and not have any clue.
Also it is not hard to imagine a scenario where a spiteful ex or family member with access to ones computer could get access to the key and spy on the user for potentially the rest of their life without any knowledge of the user. This seems to me the much more likely compromise to happen so long as healthy security habits are practiced.
This does not scream to me “you own your information,” I hope 2fa in some way shape or form is on the radar of the devs, and if this means server side 2fa requiring email linked to your Any.ID I am not against that, but local first 2fa certainly must be possible if it is that important to the vision.
(in the case of local 2fa, my doomsday tech prep “what if?” scenarios would be calmed since that’s the only personal downside I see to server side 2fa, the event of permanent server shutdown or global network loss.)
Glad to see the team finally responded to this thread after last year btw.
Is there an update on this, I’ve read some very strong arguments why this is needed, all over Reddit, but also this forum.
- No way to know if any (new) device has access to your account
- Things are encrypted, but in worst case of a seed breach, there is no way to revoke access (especially because above)
A global account wide pin-code (server-side, not client-side) with auto lock feature, would solve all issues.
What’s the team’s stance on this?
Hmm, 2FA doesn’t require being online and also doesn’t require a centralized authentication method
2FA is inherently decentralized, as any authenticator app or security key can be used; and many 2FA methods work very well offline:
- SMS, email, and app prompt require an internet connection
- one-time-passcode, recovery/backup codes, and hardware tokens/security keys work offline
I also find this feature critical. The security model that relies solely on the key seems weak, especially since it is currently very easy to access and copy the key in the mobile app, which lacks a way to lock the app for added privacy, such as the PIN code feature on the desktop app.
Having no way of adding a second layer of authentication on top of the Key Phrase, along with not even being able to know how many devices have “signed in” to your vault, creates a huge sense of insecurity when using the app.
I really want to use Anytype as my daily driver for organizing everything in my personal life and business. But this is holding me back so far, and it has been for a while. I’m not expecting an implementation like most MFA solutions out there since the architectural approach of Anytype may not make that easy, but at least we need basic privacy measures such as using a fingerprint to unlock the applications on mobile and desktop, or a passphrase or similar. Even if this means that it would need to be set on a per-device basis.
While this is correct, there’s something fundamentally different here. Most crypto wallets won’t display the key phrase at any time. Usually, the user needs to store it safely when they set up the wallet, and the key won’t be shown again after that.
I share many of the same concerns brought up here.
I don’t have the technical knowledge, but implementing 2FA or at least some extra security measures to eliminate or mitigate these concerns would be amazing.
This is the only thing preventing me from adopting Anytype.
Thanks.
I feel like a lot of people here have a misunderstanding of how 2FA (specifically TOTP) actually works…
When you initiate 2FA a private key is generated. This private key is generally sent to you via a QR code (which you then scan with whatever authenticator application you’re using). This private key also is stored where the application you’re using can access it (whether that be in a DB, file system, etc). This private key is then used to generate a 6 digit pin (it takes the current time into account which is why it changes every 30 seconds). When you log into something you send your 6 digit TOTP. The server then takes your private key (that it has stored) and generates a 6 digit code based on the time. If they match, 2FA is authenticated and you’re logged in. Otherwise you’re given an error.
What’s the issue with using this with AnyType?
- AnyType will have to store your private key. This defeats the whole purpose of them being ‘local first.’ This is because when you get a new device and want your AnyType instance on it it’ll have to check the server to see if 1) you have 2FA enabled, and 2) receive and verify your TOTP. Now AnyType is no longer local first as it has to rely on someone else’s server.
- So why not store the private key locally? You can, but this isn’t any more secure. Why? Because your private key will be stored in the same place your 12 word mnemonic phrase is (on Windows this is the Windows Credential Manager). So in this case you’re really just given the illusion of more security. If someone has access to your computer they’re going to have access to both the 12 word mnemonic phrase and the 2FA private key. This is why jannis says, “their nodes do not allow a centralized authentication method, which would be necessary for 2FA.” In order for 2FA to actually be secure someone else needs to store/verify your private key (and thus prevent you from logging in).
Crypto wallets have been using 12 word mnemonic phrases for years. If someone has access to your wallet mnemonic phrase they have access to your wallet (and have proven ownership). Plain and simple. And people use it to store thousands-millions worth of crypto. That’s why you’re highly encouraged to keep your mnemonic phrases secure and not share it with anyone. It’s your own responsibility to keep it secure.
Some crypto wallets require a 6 digit pin before viewing your private key again. Anytype has this feature. You can set a Pin Code that you can use. If a mnemonic phrase is secure enough to store real money, it’s secure enough to store your notes.
These thousands of millions are stored in either multisig wallets or hardware wallets. It’s very dumb to store significant amounts in a hotwallet (AnyType is as safe as a hotwallet is).
The key difference is that it’s fairly easy to spread your coins in multiple types of wallets. You can’t really spread your knowledge in AnyType over multiple seeds without making the app useless. Therefore, this argument is invalid.
My main point is the 2FA doesn’t won’t work for a local app like AnyType. I agree storing millions in a hot wallet is dumb (especially on something like Coinbase – not your keys not your wallet). But that doesn’t change by simply adding 2FA.