⏱ 13 mins remaining


Learn how the Java SDK works

Key Types


If you’ve ever used our dart library before, you’ll be familiar with AtKey.

Just like how hash maps have a key-value pair, the secondary server holds an AtKey-AtValue pair. To access the AtValue, you must provide an AtKey containing data like the keyName, sharedBy, and/or sharedWith.

There are 4 types of keys in at_java. Each key type represents what kind of data it holds and also exhibits different properties.

  1. PublicKey
  2. SharedKey
  3. SelfKey
  4. PrivateHiddenKey
Key TypeRepresentsEncrypted?Cacheable?
Public KeyPublic data for authorized/unauthorized people to accessNoYes, by everyone
SharedKeyShared data between atSignsYes, only between the two atSignsYes, only between the two atSigns
SelfKeySelf data for the owner of the atSignYes, only decryptable with your keysNo
PrivateHiddenKeyContains secrets, never synced with remote secondaryYesNo