-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsearchindex.js
1 lines (1 loc) · 103 KB
/
searchindex.js
1
Search.setIndex({"docnames": ["JSLibReadme", "README", "appendix-a-crypto", "classes/Channel", "classes/ChannelApi", "classes/ChannelEndpoint", "classes/ChannelSocket", "classes/MessageBus", "classes/SB384", "classes/SBCrypto", "classes/SBFile", "classes/SBMessage", "classes/SBObjectHandle", "classes/SBObjectHandleClass", "classes/Snackabra", "contact", "diag-sample", "discussion", "formal", "future", "glossary", "index", "install", "interfaces/ChannelAdminData", "interfaces/ChannelData", "interfaces/ChannelKeyStrings", "interfaces/ChannelKeys", "interfaces/ChannelMessage", "interfaces/EncryptedContents", "interfaces/EncryptedContentsBin", "interfaces/ImageMetaData", "interfaces/Interfaces.SBObjectHandle", "interfaces/SBChannelHandle", "interfaces/SBObjectHandle", "interfaces/SBObjectMetadata", "interfaces/SBPayload", "interfaces/SBServer", "introduction", "jslib", "license", "modules", "motivation", "overview", "pylib", "references", "server", "system-architecture", "user-guide"], "filenames": ["JSLibReadme.md", "README.md", "appendix-a-crypto.rst", "classes/Channel.md", "classes/ChannelApi.md", "classes/ChannelEndpoint.md", "classes/ChannelSocket.md", "classes/MessageBus.md", "classes/SB384.md", "classes/SBCrypto.md", "classes/SBFile.md", "classes/SBMessage.md", "classes/SBObjectHandle.md", "classes/SBObjectHandleClass.md", "classes/Snackabra.md", "contact.rst", "diag-sample.rst", "discussion.rst", "formal.rst", "future.rst", "glossary.rst", "index.rst", "install.rst", "interfaces/ChannelAdminData.md", "interfaces/ChannelData.md", "interfaces/ChannelKeyStrings.md", "interfaces/ChannelKeys.md", "interfaces/ChannelMessage.md", "interfaces/EncryptedContents.md", "interfaces/EncryptedContentsBin.md", "interfaces/ImageMetaData.md", "interfaces/Interfaces.SBObjectHandle.md", "interfaces/SBChannelHandle.md", "interfaces/SBObjectHandle.md", "interfaces/SBObjectMetadata.md", "interfaces/SBPayload.md", "interfaces/SBServer.md", "introduction.rst", "jslib.rst", "license.rst", "modules.md", "motivation.rst", "overview.rst", "pylib.rst", "references.rst", "server.rst", "system-architecture.rst", "user-guide.rst"], "titles": ["This is a README", "JSLib Reference Manual", "Appendix A: Cryptography", "Class: Channel", "Class: ChannelApi", "Class: ChannelEndpoint", "Class: ChannelSocket", "Class: MessageBus", "Class: SB384", "Class: SBCrypto", "Class: SBFile", "Class: SBMessage", "Class: SBObjectHandle", "Class: SBObjectHandleClass", "Class: Snackabra", "Contact and Feedback", "Sphinx Diagram Examples", "Background and Discussion", "Formal Treatment", "Future Work", "Glossary", "Snackabra", "Installation", "Interface: ChannelAdminData", "Interface: ChannelData", "Interface: ChannelKeyStrings", "Interface: ChannelKeys", "Interface: ChannelMessage", "Interface: EncryptedContents", "Interface: EncryptedContentsBin", "Interface: ImageMetaData", "Interface: SBObjectHandle", "Interface: SBChannelHandle", "Interface: SBObjectHandle", "Interface: SBObjectMetadata", "Interface: SBPayload", "Interface: SBServer", "Introduction", "JSLib User Manual", "LICENSE", "JSLib Reference Manual", "Motivation", "Technical Overview", "Python Library", "References / Further Reading", "Snackabra Server", "System Architecture", "Appendix B: Privacy.App Chat Room User Guide"], "terms": {"In": [0, 3, 4, 5, 6, 17, 18, 19, 20, 22, 37, 38, 41, 42, 45, 46, 47], "md": [0, 19, 22, 38], "format": [0, 9, 12, 13, 17, 19, 22, 37, 40, 45, 47], "where": [0, 17, 18, 19, 20, 35, 38, 40, 41, 42, 45, 46, 47], "doe": [0, 3, 5, 6, 8, 14, 17, 22, 37, 38, 41, 42, 44, 45, 46], "end": [0, 3, 5, 6, 8, 18, 42, 46, 47], "up": [0, 3, 5, 6, 11, 12, 13, 17, 18, 19, 20, 22, 37, 38, 42, 45, 46, 47], "thi": [1, 2, 3, 4, 5, 6, 8, 9, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 27, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47], "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 28, 32, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47], "placehold": 1, "readm": [1, 22, 45], "file": [1, 10, 12, 13, 17, 20, 22, 37, 38, 40, 42, 44, 45, 46, 47], "It": [1, 5, 6, 14, 17, 18, 19, 20, 21, 22, 36, 37, 38, 41, 42, 45, 46, 47], "exist": [1, 3, 4, 5, 6, 9, 17, 18, 19, 21, 42], "satisfi": 1, "document": [1, 17, 18, 19, 20, 22, 37, 38, 42, 45, 46], "gener": [1, 3, 5, 6, 8, 9, 12, 13, 16, 17, 18, 19, 20, 21, 22, 36, 37, 39, 41, 42, 45, 46, 47], "tool": [1, 16, 17, 20, 22, 38], "expect": [1, 14, 18, 46, 47], "locat": [1, 41, 42, 46], "For": [1, 2, 9, 17, 18, 19, 20, 21, 22, 37, 42, 45, 46], "actual": [1, 3, 5, 6, 12, 13, 17, 18, 37, 42], "pleas": [1, 15, 21, 38, 42], "see": [1, 3, 5, 6, 8, 17, 18, 20, 21, 22, 26, 37, 38, 39, 42, 45, 46, 47], "modul": [1, 38], "other": [1, 3, 4, 5, 6, 8, 9, 12, 13, 18, 19, 21, 22, 37, 41, 42, 44, 45, 47], "markdown": 1, "html": [1, 2, 8, 16, 17, 18, 19, 21, 39, 42, 44, 46], "we": [2, 3, 5, 6, 8, 9, 16, 18, 19, 20, 21, 22, 37, 38, 41, 42, 43, 44, 45, 46, 47], "have": [2, 3, 5, 6, 9, 12, 13, 14, 17, 18, 19, 20, 21, 22, 37, 38, 40, 41, 42, 45, 46, 47], "strive": [2, 46], "entir": [2, 17, 19, 41, 42], "design": [2, 8, 12, 13, 19, 21, 22, 37, 38, 40, 41, 42, 46], "reli": [2, 17], "onli": [2, 3, 4, 5, 6, 8, 9, 12, 13, 14, 17, 18, 37, 38, 41, 42, 45, 46, 47], "small": [2, 17, 18, 21, 37, 42], "number": [2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 17, 19, 20, 23, 24, 27, 31, 33, 37, 40, 41, 42, 46, 47], "cryptograph": [2, 17, 41, 47], "primit": [2, 17, 18, 20, 21, 38, 42], "chosen": [2, 19, 42], "being": [2, 9, 17, 18, 19, 20, 21, 38, 41, 42], "modern": [2, 17, 36, 42, 45, 46], "broadli": 2, "us": [2, 3, 4, 5, 6, 8, 9, 14, 16, 17, 18, 19, 20, 21, 22, 37, 38, 39, 40, 42, 45, 46, 47], "good": [2, 17, 37, 38, 41, 42], "support": [2, 16, 17, 22, 38, 40, 42, 45, 46, 47], "javascript": [2, 22, 38, 42, 44, 45, 46], "both": [2, 3, 4, 5, 6, 9, 12, 13, 17, 18, 19, 20, 22, 38, 40, 42, 46, 47], "browser": [2, 17, 19, 21, 22, 37, 41, 42, 45, 46, 47], "node": [2, 22, 38, 45, 46], "python": [2, 22, 42, 46], "rust": 2, "To": [2, 12, 13, 17, 18, 20, 21, 22, 37, 41, 42, 46, 47], "written": [2, 17, 18, 19, 20, 41, 42], "intend": [2, 17, 38], "primer": 2, "ar": [2, 3, 4, 5, 6, 8, 9, 12, 13, 17, 18, 19, 20, 21, 22, 26, 28, 37, 38, 40, 41, 42, 43, 45, 46, 47], "guid": 2, "further": [2, 17, 42, 46], "read": [2, 12, 13, 17, 18, 19, 36, 37, 42, 46, 47], "now": [2, 17, 18, 20, 21, 22, 37, 38, 41, 42, 45, 46, 47], "ve": [2, 17, 37, 42, 46, 47], "includ": [2, 3, 4, 5, 6, 14, 17, 18, 19, 20, 22, 37, 38, 40, 41, 42, 44, 45, 46], "kei": [2, 4, 8, 9, 14, 17, 18, 19, 20, 22, 26, 38, 40, 46, 47], "link": [2, 22, 37, 38, 42, 44, 45, 47], "j": [2, 22, 38, 40, 42, 44, 45, 46], "implement": [2, 6, 17, 18, 19, 20, 21, 22, 38, 41, 42, 46], "public": [2, 3, 5, 6, 8, 9, 17, 19, 20, 21, 22, 37, 38, 39, 42, 45], "pair": [2, 9, 20, 37, 42], "http": [2, 8, 14, 15, 16, 17, 18, 19, 20, 21, 22, 37, 38, 39, 42, 43, 44, 45, 46, 47], "develop": [2, 17, 18, 19, 20, 21, 22, 37, 42, 46], "mozilla": [2, 19, 20, 22, 37, 42, 45, 46], "org": [2, 16, 17, 18, 19, 20, 21, 22, 37, 39, 42, 44, 45, 46], "en": [2, 16, 19, 20, 22, 37, 42, 44, 45, 46], "u": [2, 15, 17, 18, 19, 20, 21, 22, 37, 40, 42, 44, 45, 46, 47], "doc": [2, 17, 19, 20, 22, 37, 38, 42, 44, 45, 46], "web": [2, 3, 5, 6, 17, 19, 20, 21, 37, 38, 41, 42, 44, 45, 46, 47], "api": [2, 4, 14, 19, 20, 22, 37, 38, 41, 42, 44, 45, 46], "subtlecrypto": [2, 19, 22, 42, 45], "derivekei": [2, 26, 37, 42], "io": [2, 8, 37, 42, 44], "latest": [2, 17, 18, 37, 38, 41, 42, 44, 45], "hazmat": [2, 42], "asymmetr": [2, 42], "ec": [2, 26, 27, 37, 42], "datatrack": [2, 19, 42], "ietf": [2, 18, 19, 42], "rfc6090": [2, 19, 42], "github": [2, 15, 17, 18, 19, 21, 22, 37, 38, 42, 43, 44, 45, 46], "com": [2, 15, 16, 17, 18, 19, 20, 21, 22, 37, 38, 42, 43, 44, 45, 46, 47], "applic": [2, 17, 21, 37, 41, 42, 46, 47], "servic": [2, 17, 18, 19, 20, 22, 41, 42, 46, 47], "blob": [2, 6, 9, 19, 20, 36, 38, 42, 45], "main": [2, 3, 5, 6, 14, 17, 20, 37, 38, 42, 45], "compon": [2, 17, 37, 42], "rc_crypto": 2, "src": [2, 22, 42, 45], "agreement": [2, 17], "r": [2, 15, 18, 42, 47], "secg": [2, 20, 42], "curv": [2, 19, 20, 42], "3841": 2, "oaep": [2, 22, 45], "4096": [2, 19, 22, 42, 45], "encrypt": [2, 6, 14, 18, 20, 22, 26, 28, 37, 40, 44, 45, 47], "aead": 2, "rfc3447": 2, "a256gcm": [2, 26, 42], "symmetr": [2, 42], "authent": [2, 14, 17, 20, 22, 37, 42, 45, 47], "gcm": [2, 28], "csrc": [2, 19, 42], "nist": [2, 19, 42], "gov": [2, 19, 42], "detail": [2, 3, 5, 6, 8, 17, 19, 20, 21, 22, 37, 39, 41, 45, 46, 47], "sp": 2, "800": 2, "38d": 2, "final": [2, 18, 19, 22, 42, 45, 46], "jslib": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 45], "refer": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 46], "manual": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 47], "export": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 42, 45, 46, 47], "join": [3, 5, 6, 12, 13, 17, 20, 37, 42, 47], "object": [3, 4, 5, 6, 8, 9, 12, 13, 14, 17, 18, 19, 20, 22, 27, 38, 40, 42, 45, 46], "current": [3, 4, 5, 6, 12, 13, 14, 17, 18, 19, 22, 37, 38, 42, 43, 44, 45, 46], "you": [3, 4, 5, 6, 8, 9, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 37, 38, 39, 40, 41, 42, 44, 45, 47], "must": [3, 9, 17, 20, 38, 41, 42], "an": [3, 4, 5, 6, 8, 9, 12, 13, 14, 16, 17, 18, 19, 20, 22, 32, 35, 37, 38, 40, 41, 42, 45, 46, 47], "ident": [3, 8, 17, 18, 19, 37, 38, 42, 46], "when": [3, 6, 14, 17, 18, 19, 21, 22, 37, 38, 42, 45, 46, 47], "connect": [3, 5, 6, 17, 22, 42, 45, 46], "becaus": [3, 18, 38, 42, 47], "everi": [3, 17, 18, 19, 20, 22, 42, 45, 46, 47], "singl": [3, 6, 17, 19, 20, 21, 22, 40, 41, 42, 46], "messag": [3, 4, 5, 6, 7, 18, 20, 22, 26, 27, 28, 36, 44, 46, 47], "sign": [3, 17, 19, 20, 22, 45, 47], "sender": [3, 42], "todo": [3, 4, 42, 45], "look": [3, 17, 18, 27, 37, 38, 42, 45, 47], "how": [3, 5, 6, 16, 17, 18, 19, 20, 37, 38, 41, 42], "provid": [3, 4, 5, 6, 8, 12, 13, 17, 19, 21, 22, 37, 40, 41, 42, 44, 45, 46], "listen": 3, "mode": [3, 47], "most": [3, 4, 5, 6, 8, 17, 38, 42, 46, 47], "sb": [3, 7, 8, 9, 12, 13, 14, 19, 21, 28], "follow": [3, 4, 5, 6, 8, 17, 18, 19, 22, 42, 45, 46], "templat": [3, 8, 21, 22, 45], "can": [3, 4, 5, 6, 8, 9, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47], "right": [3, 14, 21, 37, 38, 39, 41, 42, 47], "awai": [3, 14, 17, 37, 38, 42, 47], "thei": [3, 6, 9, 17, 18, 19, 20, 21, 26, 37, 41, 42, 46, 47], "decid": [3, 17, 18, 41, 47], "themselv": [3, 17, 42, 46, 47], "re": [3, 4, 5, 6, 8, 17, 18, 22, 37, 38, 42, 45, 46, 47], "sb384": [3, 5, 6, 9, 40], "channelsocket": [3, 4, 5, 14, 38, 40], "channelendpoint": [3, 4, 6, 40], "new": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 36, 37, 38, 42, 45, 46, 47], "name": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 27, 37, 38, 40, 42, 45, 46], "type": [3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 17, 20, 38, 42], "jsonwebkei": [3, 4, 5, 6, 8, 9, 11, 14, 23, 26, 27, 32], "string": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 40, 42, 45, 46], "boolean": [3, 4, 5, 6, 8, 9, 10, 11, 14, 18, 27, 31, 33, 34, 40], "fals": [3, 4, 5, 6, 9, 14, 26, 27], "option": [3, 4, 5, 6, 12, 13, 14, 17, 18, 21, 23, 24, 25, 26, 27, 30, 31, 32, 33, 36, 37, 38, 39, 42, 45], "dictionari": [3, 4, 5, 6, 7, 9, 10, 19, 35, 42], "ani": [3, 4, 5, 6, 7, 8, 9, 12, 13, 15, 17, 18, 19, 20, 21, 22, 36, 37, 38, 39, 40, 42, 45, 46, 47], "promis": [3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 31, 33, 38], "work": [3, 5, 6, 17, 18, 21, 22, 37, 38, 41, 42, 45], "hors": [3, 5, 6], "howev": [3, 5, 6, 17, 19, 38, 42, 47], "abstract": [3, 4, 5, 6, 18, 38, 42], "mean": [3, 5, 6, 7, 9, 20, 21, 37, 38, 40, 41, 42, 47], "need": [3, 4, 5, 6, 8, 12, 13, 17, 18, 19, 20, 21, 22, 37, 38, 42, 45, 46, 47], "concret": [3, 5, 6, 17], "two": [3, 5, 6, 8, 9, 17, 18, 19, 21, 22, 42, 45, 46, 47], "creat": [3, 4, 5, 6, 8, 9, 17, 18, 21, 22, 37, 38, 40, 42, 45, 47], "That": [3, 4, 5, 6, 9, 17, 18, 22, 37, 38, 42, 45], "do": [3, 5, 6, 8, 14, 18, 19, 21, 22, 37, 38, 41, 42, 45, 46, 47], "everyth": [3, 5, 6, 7, 17, 37, 41, 42], "against": [3, 5, 6, 17, 18, 20, 42], "except": [3, 4, 5, 6, 8, 20, 38], "receiv": [3, 5, 6, 17, 18, 42, 47], "synchron": [3, 5, 6, 14, 18, 38, 41, 42], "The": [3, 5, 6, 8, 9, 14, 18, 19, 20, 21, 22, 28, 32, 36, 37, 40, 41, 42, 44, 45, 46, 47], "which": [3, 4, 5, 6, 7, 8, 9, 14, 17, 18, 19, 20, 22, 37, 38, 40, 41, 42, 45, 46, 47], "also": [3, 5, 6, 7, 8, 12, 13, 14, 16, 17, 18, 20, 22, 36, 37, 38, 41, 42, 45, 46, 47], "socket": [3, 4, 5, 6, 14, 37, 38, 42], "so": [3, 5, 6, 8, 14, 17, 18, 19, 21, 22, 37, 38, 40, 42, 45, 46], "unless": [3, 5, 6, 17, 37, 41, 42, 46, 47], "intent": [3, 5, 6, 17, 42], "interact": [3, 5, 6, 8, 14, 37], "fast": [3, 5, 6, 46], "endpoint": [3, 5, 6, 42], "suffici": [3, 5, 6, 19, 22, 42, 45], "fact": [3, 5, 6, 17, 41, 42, 46, 47], "go": [3, 5, 6, 17, 18, 22, 37, 42, 45, 47], "should": [3, 5, 6, 11, 17, 18, 19, 22, 37, 38, 40, 41, 42, 45, 46], "our": [3, 5, 6, 17, 19, 37, 40, 41, 42, 46, 47], "think": [3, 5, 6, 17, 18, 19, 20, 40, 42], "captur": [3, 5, 6, 17, 40], "pretti": [3, 5, 6, 38], "much": [3, 5, 6, 17, 19, 21, 22, 42, 46], "want": [3, 5, 6, 12, 13, 17, 18, 19, 21, 22, 37, 38, 42, 44, 45, 47], "instant": [3, 5, 6, 42, 46], "hook": [3, 5, 6], "exampl": [3, 4, 5, 6, 8, 9, 14, 17, 18, 19, 22, 26, 27, 37, 38, 40, 42, 45, 46, 47], "next": [3, 5, 6, 13, 17, 18, 19, 22, 37, 42, 45, 46], "might": [3, 4, 5, 6, 17, 18, 21, 22, 37, 38, 42, 45], "channelp2p": [3, 5, 6], "would": [3, 5, 6, 15, 17, 18, 19, 21, 38, 42, 46, 47], "set": [3, 4, 5, 6, 12, 13, 17, 19, 20, 22, 37, 38, 40, 42, 45], "webrtc": [3, 5, 6], "data": [3, 5, 6, 9, 18, 19, 20, 37, 40, 42, 46], "mesh": [3, 5, 6], "note": [3, 4, 5, 6, 8, 9, 12, 13, 14, 17, 18, 19, 20, 37, 38, 40, 42, 43, 45, 46, 47], "don": [3, 5, 6, 17, 19, 21, 22, 41, 42, 44, 45, 47], "t": [3, 5, 6, 8, 9, 17, 18, 19, 21, 22, 37, 38, 40, 41, 42, 44, 45, 46, 47], "worri": [3, 5, 6, 17, 18, 21, 42], "about": [3, 5, 6, 9, 18, 21, 37, 38, 41, 42, 44, 45, 47], "what": [3, 5, 6, 18, 19, 21, 22, 37, 38, 41, 42, 46, 47], "call": [3, 4, 5, 6, 14, 17, 18, 22, 37, 38, 40, 42, 45, 46, 47], "involv": [3, 5, 6, 19, 41, 42], "race": [3, 5, 6, 18, 42, 46], "condit": [3, 5, 6, 17, 18], "param": [3, 5, 6], "server": [3, 4, 5, 6, 12, 13, 14, 17, 18, 19, 20, 21, 36, 37, 41, 46, 47], "find": [3, 5, 6, 17, 40, 47], "get": [3, 4, 5, 6, 8, 11, 12, 13, 14, 17, 21, 22, 37, 38, 45, 46, 47], "undefin": [3, 4, 5, 6, 9, 11, 14, 40], "cryptokei": [3, 5, 6, 8, 9, 10, 11, 26], "uniqu": [3, 5, 6, 8, 17, 20, 37, 40, 42, 46, 47], "identifi": [3, 5, 6, 8, 17, 18, 19, 20, 37, 38, 42], "extern": [3, 5, 6, 8, 17, 19, 38], "": [3, 5, 6, 8, 9, 12, 13, 16, 17, 18, 19, 20, 21, 22, 28, 32, 36, 37, 38, 40, 41, 42, 45, 46, 47], "root": [3, 5, 6, 8, 17, 37, 38], "determinist": [3, 5, 6, 8, 9], "user": [3, 5, 6, 8, 17, 18, 19, 20, 22, 37, 41, 45, 46], "etc": [3, 5, 6, 8, 17, 18, 19, 20, 21, 22, 37, 38, 42, 45, 46, 47], "base64": [3, 5, 6, 8, 28, 40, 42], "encod": [3, 5, 6, 8, 9, 12, 13, 17, 40, 42, 44], "sha": [3, 5, 6, 8, 19, 22, 42, 45], "384": [3, 5, 6, 8, 9, 19, 21, 26, 27, 37, 38, 41, 42], "take": [3, 5, 6, 8, 9, 17, 18, 19, 37, 40, 41, 42, 46, 47], "x": [3, 5, 6, 8, 9, 19, 26, 27, 37, 38, 45], "y": [3, 5, 6, 8, 9, 26, 27, 37, 40], "field": [3, 5, 6, 8, 40], "slightli": [3, 5, 6, 8, 17, 18, 21], "restrict": [3, 5, 6, 8, 9, 17, 19, 20, 37], "allow": [3, 5, 6, 8, 17, 18, 20, 22, 37, 38, 40, 41, 42, 44, 45, 46], "A": [3, 5, 6, 8, 17, 18, 19, 20, 21, 22, 37, 39, 40, 41, 42, 44, 46, 47], "za": [3, 5, 6, 8], "z0": [3, 5, 6, 8], "9": [3, 5, 6, 8, 17, 18, 40, 42, 45, 46], "eg": [3, 5, 6, 8, 21, 38, 42, 45], "_": [3, 5, 6, 8, 40, 42, 45, 46], "charact": [3, 5, 6, 8, 9, 12, 13, 19, 20, 37, 40, 42], "make": [3, 4, 5, 6, 8, 17, 18, 19, 22, 38, 40, 41, 42, 45, 46, 47], "more": [3, 5, 6, 8, 16, 17, 18, 19, 20, 21, 22, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47], "practic": [3, 5, 6, 8, 17, 42, 46], "like": [3, 5, 6, 8, 15, 17, 18, 19, 20, 21, 22, 27, 37, 38, 40, 42, 45, 46, 47], "copi": [3, 5, 6, 8, 17, 18, 22, 42, 44, 45, 47], "past": [3, 5, 6, 8, 17, 18, 22, 42, 45, 46], "accomplish": [3, 5, 6, 8, 17, 19, 42], "simpli": [3, 5, 6, 8, 12, 13, 17, 18, 19, 22, 37, 38, 42, 46], "until": [3, 5, 6, 8, 14, 18, 42, 46], "result": [3, 5, 6, 8, 17, 18, 19, 22, 37, 40, 42, 45], "valid": [3, 4, 5, 6, 8, 17, 40, 42], "reduc": [3, 5, 6, 8, 18, 46], "entropi": [3, 5, 6, 8, 42], "id": [3, 5, 6, 8, 9, 14, 18, 19, 20, 22, 37, 42, 45], "neglibl": [3, 5, 6, 8], "amount": [3, 4, 5, 6, 8, 17, 18, 20, 42], "b62": [3, 5, 6, 8], "256": [3, 5, 6, 8, 12, 13, 19, 22, 42, 45], "bit": [3, 5, 6, 8, 12, 13, 17, 19, 37, 38, 42], "entiti": [3, 5, 6, 8, 12, 13, 17, 19], "still": [3, 5, 6, 8, 14, 17, 21, 38, 42], "e": [3, 5, 6, 8, 17, 18, 19, 20, 22, 38, 40, 42, 45], "g": [3, 5, 6, 8, 17, 19, 20, 22, 38, 40, 42, 45], "each": [3, 5, 6, 8, 17, 18, 19, 20, 22, 35, 41, 42, 45], "cours": [3, 5, 6, 8, 17, 18, 20, 42], "underli": [3, 5, 6, 8, 12, 13, 17, 18, 19, 38, 42, 46], "total": [3, 5, 6, 8, 17, 18, 20, 42], "isn": [3, 5, 6, 8, 19], "ever": [3, 5, 6, 8, 17, 37, 42, 46, 47], "compar": [3, 5, 6, 8, 9, 18, 19, 40], "well": [3, 4, 5, 6, 8, 9, 16, 17, 18, 19, 41, 42, 46, 47], "short": [3, 5, 6, 8, 17, 19, 40, 46], "version": [3, 5, 6, 8, 9, 17, 18, 21, 22, 36, 38, 39, 42, 44, 45], "cannot": [3, 5, 6, 8, 17, 18, 38], "case": [3, 4, 5, 6, 7, 8, 12, 13, 14, 17, 18, 19, 20, 38, 42, 46], "sbcrypto": [3, 5, 6, 8, 14, 38], "comparehashwithkei": [3, 5, 6, 8], "comparison": [3, 5, 6, 8, 9], "function": [3, 5, 6, 8, 9, 17, 18, 21, 46], "channelkei": [3, 5, 6, 9, 38, 40], "pubkei": [3, 4, 5, 6], "unknown": [3, 4, 5, 6, 7, 17], "ownerpublickei": [3, 4, 5, 6], "serversecret": [3, 4, 5, 6, 14], "sbchannelhandl": [3, 4, 5, 6, 14, 38, 40], "spin": [3, 4, 5, 6, 45], "off": [3, 4, 5, 6, 17, 20, 38], "one": [3, 4, 5, 6, 9, 14, 16, 17, 18, 19, 22, 36, 37, 38, 40, 41, 42, 45, 46, 47], "combin": [3, 4, 5, 6, 17, 18, 42], "info": [3, 4, 5, 6, 37, 38, 40, 42], "noth": [3, 4, 5, 6, 17, 37, 41], "transfer": [3, 4, 5, 6, 17, 42], "all": [3, 4, 5, 6, 8, 9, 12, 13, 17, 18, 19, 20, 21, 22, 26, 36, 37, 38, 39, 40, 41, 42, 46, 47], "storag": [3, 4, 5, 6, 12, 13, 17, 18, 20, 21, 36, 37, 41], "budget": [3, 4, 5, 6, 17, 18, 20, 42], "just": [3, 4, 5, 6, 14, 17, 20, 22, 37, 38, 41, 42, 45, 47], "target": [3, 4, 5, 6, 17, 38, 42, 46], "move": [3, 4, 5, 6, 17, 38, 46], "those": [3, 4, 5, 6, 17, 18, 37, 38, 42], "first": [3, 4, 5, 6, 12, 13, 17, 18, 19, 20, 21, 22, 37, 38, 42, 47], "special": [3, 4, 5, 6, 7, 18, 42, 47], "fill": [3, 4, 5, 6, 21, 37, 40], "out": [3, 4, 5, 6, 15, 16, 17, 18, 21, 22, 38, 42, 46], "anoth": [3, 4, 5, 6, 17, 18, 19, 42, 47], "wai": [3, 4, 5, 6, 17, 19, 22, 37, 38, 41, 42, 47], "rememb": [3, 4, 5, 6], "abov": [3, 4, 5, 6, 17, 18, 19, 22, 37, 38, 42, 45, 46, 47], "assign": [3, 4, 5, 6, 18, 37, 42], "specifi": [3, 4, 5, 6, 17], "valu": [3, 4, 5, 6, 11, 12, 13, 14, 17, 18, 20, 38, 40, 42, 46], "privat": [3, 4, 5, 6, 9, 10, 19, 20, 21, 22, 32, 37, 38, 42, 45, 47], "empti": [3, 4, 5, 6], "same": [3, 5, 6, 9, 12, 13, 17, 18, 19, 21, 22, 28, 29, 36, 37, 38, 42, 45, 46], "mother": [3, 5, 6], "op": [3, 5, 6, 18], "regardless": [3, 5, 6, 18, 37, 42], "If": [3, 5, 6, 14, 15, 17, 18, 19, 21, 22, 32, 37, 38, 42, 45, 46, 47], "wish": [3, 5, 6, 18, 22, 42], "infin": [3, 5, 6], "omit": [3, 5, 6, 40], "futur": [3, 5, 6, 12, 13, 17, 42, 43, 46], "neg": [3, 5, 6, 17], "leav": [3, 5, 6, 17, 19, 42, 46], "behind": [3, 5, 6, 21, 37], "rest": [3, 5, 6, 17, 20, 41, 42], "targetchannel": [3, 4, 5, 6], "channeladmindata": [3, 4, 5, 6, 40], "wa": [3, 4, 5, 6, 17, 18, 19, 21, 22, 37, 38, 41, 42, 46], "bud": [3, 4, 5, 6], "access": [3, 4, 5, 6, 17, 18, 19, 20, 36, 37, 38, 41, 42, 46, 47], "host": [3, 4, 5, 6, 17, 22, 42, 45, 46], "currentmessageslength": [3, 4, 5, 6], "pagin": [3, 4, 5, 6], "channelmessag": [3, 4, 5, 6, 14, 38, 40], "Will": [3, 4, 5, 6], "recent": [3, 4, 5, 6, 17, 19, 42, 45, 46], "default": [3, 4, 5, 6, 8, 11, 14, 17, 18, 19, 38, 40, 41, 42], "descript": [3, 4, 5, 6, 8, 9, 14, 40], "100": [3, 4, 5, 6, 37, 42], "fetch": [3, 4, 5, 6, 18, 20, 38, 42], "true": [3, 4, 5, 6, 9, 10, 11, 17, 20, 22, 26, 27, 37, 38, 42, 45], "last": [3, 4, 5, 6, 12, 13, 17, 18, 19, 37, 42], "request": [3, 4, 5, 6, 9, 12, 13, 17, 18, 22, 40, 42, 44, 45, 46], "visitor": [3, 5, 6, 37, 42], "ack": [3, 5, 6, 40], "void": [3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 40], "_exportable_pubkei": [3, 4, 5, 6], "success": [3, 4, 5, 6], "sbmessag": [3, 5, 6, 10, 38, 40], "dai": [3, 4, 5, 6, 17, 20], "bytelength": [3, 4, 5, 6], "capac": [3, 4, 5, 6], "updat": [3, 4, 5, 6, 17, 18, 42, 45], "channeldata": [3, 4, 5, 6, 40], "channel": [4, 5, 6, 8, 9, 17, 19, 20, 21, 26, 32, 36, 40], "requir": [4, 13, 17, 18, 19, 22, 37, 41, 42, 45, 46], "initi": [4, 17, 18, 19, 37, 38, 42, 46], "send": [4, 18, 37, 38, 42, 47], "command": [4, 20, 22, 43, 45], "sinc": [4, 17, 18, 19, 37, 38, 41, 42, 46], "from": [4, 9, 12, 13, 14, 17, 18, 19, 20, 21, 22, 27, 37, 38, 40, 41, 42, 44, 45, 46, 47], "owner": [4, 17, 19, 20, 22, 32, 37, 38, 46, 47], "abl": [4, 17, 18, 22, 42, 45], "check": [4, 6, 9, 17, 22, 37, 38, 42, 45], "readi": [4, 14, 26, 37, 40, 42], "otherwis": [4, 17, 18, 37, 42], "befor": [4, 12, 13, 17, 22, 37, 38, 42, 45], "motd": [4, 20, 26, 37, 42], "give": [5, 37, 41, 42, 46, 47], "without": [5, 9, 14, 17, 18, 19, 20, 21, 38, 39, 42, 44, 46], "fulli": [5, 17, 42, 45, 47], "won": [5, 17, 18, 37, 42], "obvious": [5, 17, 18, 42, 46], "add": [5, 9, 17, 22, 37, 38, 45, 46], "non": [5, 17, 20, 38, 42, 46], "_f": 5, "callablefunct": [5, 7], "_m": 5, "_messagetyp": 5, "extend": [6, 38], "instead": [6, 17, 18, 19, 42], "msg": 6, "quick": [6, 47], "your": [6, 17, 21, 22, 37, 38, 39, 40, 41, 42, 45, 47], "handler": [6, 7], "upon": [6, 8, 12, 13, 17, 19, 37, 40, 42], "creation": [6, 8, 12, 13, 18, 36, 41, 42], "later": [6, 17, 21, 22, 37, 39, 42, 45], "m": [6, 14, 18, 38, 40, 46], "websock": 6, "particip": [6, 19, 20, 22, 37, 42, 46, 47], "client": [6, 17, 18, 19, 20, 21, 37, 38, 41, 45, 46], "through": [6, 12, 13, 17, 18, 19, 20, 41, 42, 46], "servlet": 6, "somewher": [6, 21, 22, 45], "veri": [6, 17, 18, 37, 46, 47], "forward": [6, 18, 37, 42], "manag": [6, 17, 20, 22, 37, 45, 46, 47], "resourc": [6, 17, 38, 41, 44], "close": [6, 17, 20, 42, 46], "open": [6, 19, 21, 22, 37, 42, 45, 47], "base": [6, 17, 21, 41, 42, 46], "behavior": [6, 17, 36, 38], "inact": 6, "try": [6, 17, 18, 37, 38, 41, 46], "shouldn": [6, 17], "necessari": [6, 17, 22, 42], "deliv": [6, 17, 42, 46], "usual": 6, "simpl": [6, 7, 9, 16, 17, 18, 19, 20, 22, 37, 38, 42, 45], "decrypt": [6, 9, 12, 13, 14, 20, 22, 26, 27, 42, 45], "them": [6, 8, 9, 12, 13, 17, 20, 22, 37, 42, 44, 45, 46, 47], "handl": [6, 12, 13, 18, 36, 37, 41, 42, 46], "nack": 6, "mechan": [6, 17, 42, 46], "transpar": [6, 17, 46], "Be": [6, 20, 42], "awar": [6, 19], "doesn": [6, 9, 17, 18, 37, 38, 41, 42, 46], "know": [6, 17, 20, 21, 37, 41, 42, 45], "certain": [6, 20, 37, 42], "b": [6, 9, 17, 18, 22, 40, 42], "enabl": [6, 14, 17, 20, 22, 42, 45, 47], "debug": [6, 14], "output": 6, "fn": [6, 20, 42], "f": [6, 40], "resolv": [6, 9, 12, 13, 14, 38], "sent": [6, 18, 26, 38, 42], "error": [6, 38, 40], "fail": [6, 42], "event": [7, 37, 40, 42, 44], "mesag": 7, "arg": [7, 14], "given": [7, 9, 17, 18, 26, 42], "basic": [8, 12, 13, 16, 17, 18, 20, 22, 38, 42], "core": [8, 17, 18, 19, 21, 22, 38, 41, 42, 46], "capabl": [8, 17, 41, 42], "getter": [8, 38], "below": [8, 11, 14, 16, 17, 19, 22, 37, 38, 40, 41, 42, 45, 46, 47], "throw": [8, 38, 40], "correspond": [8, 9, 18, 20, 22, 37, 40, 42, 45, 46], "inform": [8, 17, 19, 20, 22, 37, 41, 42, 46, 47], "pattern": [8, 17], "immedi": [8, 37, 38, 40, 42], "avail": [8, 17, 18, 21, 22, 41, 42, 45], "sai": [8, 20, 22, 37, 42, 47], "4": [8, 17, 18, 37, 40, 42, 45, 46], "snackabra": [8, 15, 17, 18, 20, 22, 37, 39, 40, 42, 43], "dn": [8, 17], "004": 8, "jwk": [8, 9, 22, 32, 42, 45, 47], "mint": [8, 45], "randomli": 8, "word": [8, 19, 42], "contain": [9, 17, 42, 44, 46], "specif": [9, 12, 13, 17, 18, 20, 37, 40, 41, 42, 45, 46], "crypto": [9, 17, 19, 20, 22, 37, 42, 44, 45], "some": [9, 16, 17, 18, 19, 21, 37, 38, 40, 41, 42, 45, 46, 47], "util": [9, 17, 20, 42], "buffer": [9, 40], "standard": [9, 17, 18, 19, 28, 40, 42, 46], "arrai": [9, 40], "assum": [9, 17, 37, 42, 45, 46], "byte": [9, 18, 19, 20, 28, 42, 46], "per": [9, 17, 38, 42, 45], "uint8arrai": [9, 12, 13, 22, 28, 29, 31, 33, 34, 40, 42, 45], "list": [9, 17, 19, 22, 37, 40, 42], "known": [9, 14, 17, 18, 19, 21, 40], "upgrad": [9, 22, 42, 45], "keystr": 9, "channelkeystr": [9, 26, 27, 40], "hash": [9, 18, 19, 20, 22, 42, 45, 46], "compat": [9, 19], "NOT": [9, 17], "se": [9, 38], "AT": 9, "point": [9, 17, 18, 19, 22, 37, 40, 42, 45, 46, 47], "IN": 9, "time": [9, 12, 13, 17, 18, 21, 22, 37, 38, 42, 44, 45, 46], "mai": [9, 12, 13, 17, 19, 26, 42], "chang": [9, 17, 18, 21, 22, 38, 40, 42, 45], "over": [9, 17, 19, 20, 22, 26, 28, 41, 42, 45, 46, 47], "maintain": [9, 17, 18, 37, 41, 42], "abil": [9, 17, 19, 20, 41, 42], "accept": [9, 17, 18, 37, 40, 47], "straight": [9, 37, 42], "b64": [9, 20, 40, 42], "iter": [9, 18, 19, 42], "process": [9, 17, 18, 19, 22, 41, 42, 45], "key1": [9, 42], "key2": [9, 42], "json": [9, 20, 22, 37, 40, 42, 45], "differ": [9, 12, 13, 17, 18, 21, 36, 37, 38, 42, 47], "consid": [9, 17, 18, 19, 38, 41, 42, 44, 46], "equal": [9, 17], "properti": [9, 17, 19, 38, 42], "care": [9, 17, 47], "either": [9, 12, 13, 17, 18, 20, 21, 37, 38, 39, 40, 41, 42, 45, 46], "privatekei": [9, 22, 38, 45], "publickei": [9, 22, 45], "extract": [9, 17, 40, 42], "keyusag": 9, "deriv": [9, 17, 20, 37, 38, 42], "1": [9, 12, 13, 14, 17, 18, 19, 20, 21, 22, 31, 33, 34, 37, 38, 40, 42, 43, 45, 46], "commun": [9, 12, 13, 17, 20, 21, 37, 38, 42, 46, 47], "_iv": 9, "returntyp": 9, "encryptedcont": [9, 27, 29, 38, 40], "nonc": [9, 18, 28, 42], "iv": [9, 18, 20, 42], "raw": [9, 40, 42, 44], "packag": [9, 20, 22, 45], "former": [9, 17], "buffersourc": 9, "null": [9, 40, 42], "arraybuff": [9, 28, 29, 34, 35, 40, 42], "issu": [9, 17, 18, 19, 38, 42, 46], "happen": [9, 19, 37, 42, 47], "normal": [9, 42, 47], "buf": 9, "split": [9, 17], "h1": 9, "signatur": [9, 19], "salt": [9, 18, 20, 28, 42], "h2": 9, "store": [9, 17, 18, 20, 22, 37, 41, 42, 45, 46, 47], "cryptokeypair": 9, "ecdh": [9, 42], "p": [9, 19, 26, 27, 37, 40, 42], "import": [9, 17, 26, 37, 41, 42, 46, 47], "keyformat": 9, "ae": [9, 28, 42], "pbkdf2": [9, 42], "presens": 9, "index": [9, 42], "found": 9, "knownkeysinfo": 9, "sort": [9, 17, 18, 20, 38, 42], "secretkei": 9, "k": [9, 18, 26, 40], "o": [9, 40, 46], "verifykei": 9, "owner_kei": 9, "channel_id": 9, "constant": [9, 46], "bodytyp": 9, "sbmessagecont": [10, 11], "signkei": 10, "bodi": 11, "32kib": 11, "though": [11, 21, 38, 42, 46], "toler": [11, 46], "64kib": 11, "bodyparamet": 11, "sendtojsonwebkei": 11, "shard": [12, 13, 17, 18, 20, 21, 36, 41], "retriev": [12, 13, 18, 42], "array32": [12, 13], "a32": [12, 13], "64": [12, 13, 19, 20, 42, 46], "integ": [12, 13, 18, 40, 42], "23": [12, 13, 42], "four": [12, 13, 42], "16": [12, 13, 17, 19, 20, 28, 42], "concaten": [12, 13, 18, 19, 42], "random": [12, 13, 18, 20, 40, 42], "three": [12, 13, 22, 42, 46], "guarante": [12, 13, 14], "fourth": [12, 13], "size": [12, 13, 18, 20, 42, 46], "convent": [12, 13, 17, 18, 21, 46], "payload": [12, 13, 40], "mime": [12, 13, 17], "ll": [12, 13, 17, 22, 37, 42, 45], "track": [12, 13, 17, 18, 20, 37, 38, 42, 44, 47], "across": [12, 13, 17, 18, 41, 42], "long": [12, 13, 17, 37, 42, 47], "within": [12, 13, 17, 18, 20, 22, 37, 42], "modifi": [12, 13, 17, 21, 39, 42], "direct": [12, 13, 17, 38, 42, 45, 46], "especi": [12, 13, 17], "base62encod": [12, 13, 31, 33, 40], "sbobjecttyp": [12, 13, 31, 33, 34], "keep": [12, 13, 17, 37, 38, 42, 47], "start": [12, 13, 18, 20, 21, 22, 37, 42, 45, 46, 47], "share": [12, 13, 17, 18, 19, 20, 22, 37, 41, 46, 47], "among": [12, 13], "thing": [12, 13, 21, 28, 37, 42, 45, 46], "serv": [12, 13, 17, 18, 19, 20, 22, 42, 46], "write": [12, 13, 17, 18, 22, 38, 45], "goe": [13, 17, 18, 37, 42], "mirror": [13, 17, 36, 37, 42], "sbobjecthandl": [13, 38, 40], "singleton": 14, "instanc": [14, 17, 42, 46], "thread": [14, 17], "safe": [14, 17, 28, 40, 42], "multipl": [14, 17, 18, 20], "match": [14, 18, 19, 32, 42], "show": [14, 19, 37, 42, 45], "miniflar": 14, "local": [14, 17, 18, 19, 20, 37, 38, 45, 46, 47], "dev": [14, 22, 45, 46], "config": [14, 45], "ping": [14, 38, 42], "const": [14, 38, 40], "channel_serv": 14, "127": [14, 45], "0": [14, 21, 22, 38, 39, 40, 42, 43, 45], "4001": 14, "channel_w": 14, "w": [14, 40, 45], "storage_serv": 14, "4000": [14, 45], "sbserver": [14, 38, 40], "log": [14, 17, 37, 38, 45], "storageapi": 14, "onmessag": 14, "channelid": [14, 38], "term": [14, 17, 19, 20, 21, 39, 40, 42, 47], "prefer": [14, 17, 19, 41, 42, 45], "pend": 14, "least": [14, 17, 46], "respond": [14, 17, 18, 37, 42], "trivial": [14, 17, 42], "author": [14, 17, 37, 42], "secret": [14, 19, 20, 22, 37, 42, 45], "contribut": [15, 17, 21], "help": [15, 17, 21, 22, 42, 44], "project": [15, 17, 21, 43], "feel": [15, 17, 18, 21, 41, 47], "free": [15, 17, 21, 22, 39, 41, 42, 45, 47], "reach": [15, 17, 21, 46], "pm": 15, "me": [15, 37], "gmail": 15, "protonmail": [15, 17], "twitter": [15, 21], "www": [15, 17, 18, 19, 21, 39, 44, 46], "reddit": 15, "intern": [16, 18, 28, 38, 42, 46], "figur": [16, 17, 37, 41, 42], "inlin": 16, "test": [16, 17], "again": [16, 18, 22, 42, 45, 47], "And": [16, 17, 18, 21, 22, 37, 42, 45], "here": [16, 17, 18, 19, 20, 22, 37, 38, 41, 42, 45, 46, 47], "blockdiag": 16, "lot": [16, 37, 42], "seqdiag": 16, "sampl": [16, 17, 37, 38, 46], "network": [16, 17, 19, 38, 41, 42, 46], "nwdiag": 16, "As": [16, 17, 20, 21, 37, 46, 47], "packet": 16, "packetdiag": 16, "structur": 16, "tcp": 16, "header": 16, "activ": [16, 17, 42, 46, 47], "actdiag": 16, "ones": [16, 17, 18], "galleri": 16, "march": [17, 42], "2022": [17, 21], "enough": [17, 42], "chat": [17, 20, 21, 22, 37, 42, 46], "photo": [17, 20, 22, 37, 46], "social": [17, 20, 21], "video": [17, 20, 22, 42, 47], "forum": 17, "forth": [17, 42], "multi": [17, 22, 42, 46], "hundr": 17, "billion": [17, 42], "dollar": 17, "busi": [17, 42, 44], "todai": [17, 41, 46], "arguabl": [17, 42], "trillion": 17, "whole": [17, 19, 21], "But": [17, 38, 42, 47], "problem": [17, 18, 19, 40, 41, 42], "discov": [17, 21], "10": [17, 19, 42, 44, 46], "year": [17, 18, 42, 46], "someth": [17, 22, 37, 38, 45, 46, 47], "quit": [17, 18], "disconcert": 17, "area": [17, 19, 46], "softwar": [17, 21, 39], "label": [17, 37], "categori": [17, 37], "influenc": [17, 22], "peopl": [17, 42], "henc": [17, 42, 46], "incredibli": 17, "profit": 17, "suppos": 17, "crowd": 17, "altern": [17, 18, 19], "were": [17, 19, 21, 37, 41, 42], "had": [17, 18, 42], "system": [17, 18, 20, 37, 38, 41, 42, 47], "counter": 17, "evolut": 17, "simplic": 17, "collabor": 17, "cover": [17, 19, 37, 42], "app": [17, 20, 21, 22, 37, 41, 42, 45, 46], "necessarili": [17, 37, 38], "overlap": 17, "group": [17, 19, 22, 37, 46], "famili": [17, 20], "friend": [17, 20], "essenti": [17, 18, 20, 22, 35, 37, 38, 41, 42, 45], "net": [17, 38, 42], "industri": 17, "few": [17, 22, 42, 45], "appli": [17, 19, 21, 42], "mondern": 17, "understand": [17, 19, 42], "sovereignti": [17, 21], "zero": [17, 18, 38, 42], "histor": [17, 42], "been": [17, 18, 19, 37, 41, 42], "difficult": [17, 41], "technic": [17, 18, 21, 46], "sever": [17, 46], "opportun": 17, "let": [17, 22, 37, 42, 45], "introduc": [17, 37, 46], "criteria": [17, 42], "fullfil": [17, 18], "briefli": [17, 37], "order": [17, 18, 19, 22], "simplest": [17, 46, 47], "hardest": 17, "realli": [17, 19], "clear": [17, 18], "prioriti": [17, 22], "argu": 17, "necess": [17, 18], "trade": [17, 18], "begin": [17, 18], "talk": [17, 21, 37], "formul": 17, "systemat": 17, "smart": [17, 38, 46], "precis": [17, 42], "guidelin": 17, "genuin": 17, "align": 17, "natur": [17, 18, 42], "digit": [17, 19, 20, 41], "pick": [17, 18, 22, 37, 45], "paraphras": 17, "manifesto": 17, "frank": 17, "karlitschek": 17, "2": [17, 18, 19, 21, 22, 37, 38, 40, 42, 45, 46], "hugo": 17, "roi": 17, "3": [17, 18, 21, 37, 38, 39, 41, 42, 45, 46], "ultim": [17, 42, 47], "metadata": [17, 42, 46], "whom": 17, "grant": [17, 41], "permiss": [17, 42], "licens": [17, 21, 22], "done": [17, 18, 19, 21, 28, 38, 41, 42, 46], "law": [17, 47], "freedom": 17, "alwai": [17, 18, 20, 32, 37, 38, 40, 42, 47], "experienc": 17, "lock": [17, 18, 19, 42, 47], "revoc": 17, "userdatamanifesto": 17, "power": [17, 20, 41], "express": 17, "jeffrei": 17, "h": [17, 18, 42], "wernick": 17, "basi": [17, 42], "societi": 17, "respect": [17, 42], "individu": [17, 19, 20, 22, 37, 41, 46], "predic": 17, "sovereign": [17, 21], "ourselv": [17, 46], "lose": [17, 20, 37, 47], "ownership": [17, 19, 37, 41, 42], "becom": [17, 18, 38, 42], "enslav": 17, "compris": 17, "attribut": [17, 20, 42], "defin": [17, 21, 37], "who": [17, 18, 19, 20, 42, 47], "sum": 17, "appar": [17, 42], "great": [17, 42], "commerci": [17, 21], "learn": [17, 18, 20, 41, 46], "sometim": [17, 20, 21, 46], "interest": [17, 18, 19], "never": [17, 18, 19, 20, 21, 41, 42], "recognit": 17, "copyright": [17, 21, 39], "sold": 17, "slaveri": 17, "engag": 17, "violat": [17, 42], "dehuman": 17, "outrag": 17, "decept": 17, "sell": 17, "human": [17, 19, 20, 37, 40], "traffick": 17, "contraband": 17, "jeffreyhwernick": 17, "articl": [17, 42], "mission": [17, 21], "statement": 17, "magnusson": [17, 21, 39, 47], "institut": [17, 21, 39, 42, 47], "funder": 17, "along": [17, 18, 42], "line": [17, 20, 22, 37, 40, 43, 45, 47], "lack": 17, "collect": [17, 18, 41, 42], "seek": 17, "address": [17, 18, 19, 20, 38, 42, 46, 47], "afford": 17, "erod": 17, "meaningless": 17, "live": [17, 41, 42], "cage": 17, "built": [17, 41, 45, 46], "everybodi": [17, 19, 37, 42], "corpor": 17, "polit": 17, "organ": [17, 41], "foreign": 17, "govern": 17, "purpos": [17, 18, 20, 21, 38, 39, 43, 46, 47], "gain": [17, 18, 41], "perfect": [17, 42], "even": [17, 18, 21, 37, 38, 39, 41, 42, 43, 46, 47], "alon": [17, 22, 42], "asset": 17, "somebodi": [17, 18, 19, 20, 42, 47], "algorithm": [17, 19, 21, 41, 42], "agenc": 17, "cruelest": 17, "illus": 17, "retain": [17, 20, 42], "pawn": 17, "game": 17, "outcom": 17, "unawar": 17, "powerless": 17, "than": [17, 18, 37, 41, 42], "liberti": 17, "blind": 17, "mice": 17, "maze": 17, "puppet": 17, "invis": 17, "back": [17, 37, 42, 46], "claim": [17, 42], "closer": 17, "inspect": [17, 18, 42], "exhibit": 17, "varieti": 17, "caveat": [17, 38], "footnot": [17, 18, 19, 21, 37, 38, 42, 44, 46], "reserv": [17, 18, 21, 39], "carv": 17, "Of": 17, "mani": [17, 21, 40, 41, 42], "driven": 17, "avenu": 17, "monet": 17, "miss": [17, 42], "complet": [17, 18, 22, 32, 38, 41, 42], "run": [17, 19, 20, 22, 37, 41, 42, 46], "typic": [17, 20, 37, 38, 42, 46], "code": [17, 18, 19, 22, 26, 38, 40, 42, 45, 46], "compet": 17, "part": [17, 19, 20, 21, 22, 37, 38, 42, 46, 47], "v": [17, 18, 46], "side": [17, 20, 42, 46, 47], "distribut": [17, 18, 21, 39, 41], "afero": 17, "style": [17, 18], "explain": [17, 18, 37, 41, 46, 47], "aspect": [17, 42], "kept": [17, 20, 42], "date": 17, "separ": [17, 42, 46], "inpract": 17, "examnpl": 17, "build": [17, 18, 19, 21, 22, 40, 41, 42], "highli": [17, 42], "complex": [17, 22, 42], "easili": [17, 20, 42], "reproduc": 17, "emb": [17, 46], "phone": [17, 19, 37, 42, 47], "home": [17, 37, 46], "paid": [17, 42], "placement": 17, "lead": [17, 19], "verion": 17, "These": [17, 20, 37, 38, 42, 46], "embed": [17, 18, 46], "numer": 17, "consum": [17, 46], "real": [17, 37, 46, 47], "world": 17, "perhap": [17, 38, 42], "unfair": 17, "particular": [17, 20, 21, 36, 38, 39, 42], "team": 17, "pursu": [17, 21], "approach": [17, 19, 37, 40, 41, 42, 46], "suffer": 17, "expens": [17, 42], "engin": [17, 18, 46], "yet": [17, 18, 19, 22, 37, 42, 45], "face": 17, "hard": [17, 41], "viabl": 17, "merit": 17, "elabor": 17, "reader": [17, 46], "familiar": 17, "skip": 17, "ahead": 17, "movement": 17, "comput": [17, 20, 37, 38, 41, 42, 47], "heart": 17, "could": [17, 18, 19, 42], "freeli": 17, "own": [17, 22, 36, 37, 40, 42, 45, 47], "bound": [17, 46], "addit": [17, 19, 22, 38, 42, 46], "trigger": [17, 18], "forc": [17, 19, 38, 40, 42], "thu": [17, 18, 20, 37, 42, 46], "notion": [17, 42, 44], "internet": [17, 21, 46], "person": [17, 20, 21, 37, 41, 42, 45, 47], "wide": [17, 42, 46], "eventu": [17, 22, 42, 46], "smartphon": 17, "came": 17, "compani": [17, 41], "yahoo": 17, "ebai": 17, "googl": [17, 19, 46], "amazon": 17, "vaccum": 17, "improv": [17, 18, 19], "didn": 17, "ran": 17, "offer": [17, 42, 46], "onlin": [17, 20, 38, 46, 47], "crisi": 17, "massiv": 17, "decad": 17, "absorb": 17, "notabl": [17, 20, 42], "gpl": 17, "v3": [17, 19], "ergo": [17, 18, 42], "summar": [17, 20, 41, 42], "state": [17, 19, 37, 38, 46, 47], "beyond": [17, 46], "similar": [17, 19, 37, 45], "reason": [17, 18, 42, 46], "why": [17, 19, 21, 41, 47], "variat": [17, 46], "emphas": 17, "peripher": 17, "suit": [17, 42], "anybodi": [17, 18, 20, 22, 37, 42, 47], "minimum": [17, 19, 22, 38, 45, 46], "aggreg": [17, 18], "remain": [17, 21, 38, 42, 46], "download": [17, 37, 42, 44], "earli": [17, 18, 22], "email": [17, 18, 22, 37, 42, 45, 47], "smtp": 17, "transmiss": 17, "rfc": [17, 19], "5322": 17, "pop3": 17, "imap": 17, "With": [17, 41, 46], "advent": 17, "big": [17, 37], "tradit": [17, 41], "went": [17, 18], "wall": 17, "garden": 17, "rule": 17, "suprem": 17, "fundament": [17, 21, 41, 42], "manner": [17, 18, 19, 20, 42, 46], "central": [17, 41], "strict": [17, 38, 42, 46], "ground": [17, 18], "possibl": [17, 18, 19, 38, 41, 42, 46], "subject": 17, "third": [17, 41], "parti": [17, 18, 19, 41, 42], "employe": 17, "sure": [17, 18, 42, 45, 47], "perspect": [17, 19, 38], "choic": [17, 46], "facilit": [17, 41, 46], "between": [17, 18, 41, 42], "eas": [17, 37], "prepar": [17, 42], "publish": [17, 21, 22, 38, 39, 45], "review": [17, 42], "variou": [17, 18, 20, 21, 37, 38, 42, 46], "kind": [17, 42], "high": [17, 42, 46], "perform": [17, 18, 41, 42, 46], "scalabl": [17, 42, 46], "larg": [17, 18, 42, 47], "block": [17, 18, 21, 22, 38, 42], "leverag": [17, 18, 21], "scratch": [17, 21], "select": [17, 22, 37, 41], "best": [17, 46], "aggress": [17, 38], "minimalist": [17, 46], "littl": [17, 37, 46], "depend": [17, 19, 28, 38], "librari": [17, 18, 19, 21, 22, 38, 40, 42, 46], "custom": [17, 19, 46], "brief": [17, 47], "deduct": 17, "empow": [17, 20, 42, 47], "member": [17, 42, 47], "defend": [17, 20], "protect": [17, 18, 38, 41, 42], "impli": [17, 21, 39, 40, 42], "signific": [17, 19], "sustain": 17, "period": [17, 18], "effort": [17, 43], "equival": [17, 20, 42], "technologi": [17, 21, 46], "strang": 17, "gotcha": 17, "arriv": 17, "relat": [17, 18, 42], "illeg": [17, 42, 47], "liber": 17, "democrat": 17, "clearli": [17, 42], "unambigu": 17, "5": [17, 18, 19, 22, 37, 38, 40, 42, 45, 46], "jurisdict": [17, 47], "scope": [17, 18, 46], "summari": [17, 42, 46], "walk": [17, 46], "exact": [17, 18, 19, 42, 46], "consequ": 17, "attempt": [17, 18, 46], "global": [17, 18, 19, 20, 22, 37, 38, 40, 42, 45, 46], "constrain": [17, 20], "lowest": 17, "common": [17, 38, 42], "denomin": 17, "6": [17, 18, 37, 40, 42, 45, 46], "7": [17, 18, 37, 40, 42, 46], "8": [17, 18, 19, 37, 40, 42, 45, 46], "unit": [17, 47], "resid": [17, 21, 47], "convers": [17, 18, 20, 42, 47], "occur": [17, 18, 20, 42, 47], "room": [17, 20, 38, 45, 46], "respons": [17, 20, 37, 38, 42, 47], "unavoid": [17, 42], "ha": [17, 18, 19, 20, 21, 37, 38, 41, 42, 46, 47], "content": [17, 18, 20, 42, 47], "down": [17, 19, 38, 42, 46, 47], "post": [17, 42, 43, 44], "remov": [17, 42], "fit": [17, 19, 21, 39, 42, 46], "elsewher": [17, 18, 37, 46, 47], "screenshot": [17, 37], "stori": 17, "geniun": 17, "truli": [17, 42], "tightli": 17, "integr": [17, 21, 41, 42], "hardwar": [17, 42, 46], "oper": [17, 18, 20, 22, 38, 42, 46], "There": [17, 18, 19, 37, 40, 41, 42, 47], "outsid": [17, 18, 41, 42], "realm": 17, "dream": 17, "night": 17, "promptli": 17, "forget": [17, 22, 45], "wake": 17, "n": [17, 19, 22, 37, 40, 45], "count": [17, 19, 42], "yourself": [17, 18, 20, 22, 37, 42, 47], "effect": [17, 18, 21, 41, 42], "manufactur": 17, "likelihood": 17, "camp": 17, "11": [17, 20, 42, 44, 46], "minim": [17, 18, 42], "creep": 17, "baselin": [17, 42, 46], "offlin": [17, 20, 41, 42, 46], "cli": [17, 20, 22, 42, 43, 45, 46], "sso": [17, 19, 20, 22, 42, 46], "12": [17, 19, 42, 46], "backend": [17, 20, 22, 42, 46], "cloudflar": [17, 20, 22, 38, 41, 42], "frontend": 17, "ui": [17, 22, 46], "page": [17, 22, 37, 38, 41, 42, 45, 46], "failur": 17, "compromis": [17, 18, 42], "penetr": 17, "limit": [17, 42, 46], "elimin": [17, 19], "featur": [17, 18, 19, 22, 37, 38, 41, 42, 46, 47], "after": [17, 27, 37, 42, 46], "nor": [17, 37, 42], "put": [17, 22, 42, 45, 47], "hidden": [17, 37], "establish": 17, "micro": [17, 20, 42, 46], "feder": [17, 20, 42, 46], "heard": [17, 38], "onc": [17, 19, 22, 37, 41, 42, 47], "rotat": [17, 19, 42], "taken": [17, 19, 42], "local_storag": [17, 42, 46], "keyfil": 17, "upload": [17, 18, 20, 41, 42], "admin": [17, 22, 37, 47], "orthogon": 17, "element": [17, 22, 40, 42], "left": [17, 21, 37, 42], "origin": [17, 18, 20, 38, 42, 44], "migrat": [17, 21, 22, 37, 42, 45], "desir": [17, 42], "e2": 17, "anyth": [17, 18, 20, 37, 41, 42], "transmit": [17, 42], "nobodi": [17, 42, 47], "reminisc": 17, "liter": 17, "purist": 17, "sens": [17, 42, 46], "prove": [17, 37, 42], "tamper": [17, 19, 42], "iphon": 17, "malici": [17, 19, 42], "intercept": 17, "absent": 17, "consensu": 17, "terminologi": 17, "distinguish": [17, 18], "neither": [17, 37, 42], "latter": [17, 19], "believ": [17, 18, 42], "earnest": 17, "better": [17, 45], "gloss": 17, "regard": [17, 20], "seriou": 17, "bone": 17, "telegram": 17, "length": [17, 41, 42, 46], "13": [17, 42], "nomin": 17, "appropri": [17, 41, 47], "product": [17, 38, 46], "aim": [17, 46], "mass": 17, "market": 17, "forthcom": 17, "appl": [17, 22, 44], "imesseng": 17, "protocol": [17, 19, 21, 36, 37, 42, 44, 46], "2013": [17, 18, 44], "quickli": 17, "14": [17, 42, 45], "giant": 17, "spokesperson": 17, "helpfulli": 17, "research": [17, 18], "theoret": 17, "vulner": [17, 41, 46], "imessag": [17, 44], "exploit": 17, "plan": [17, 19, 22, 42, 45], "english": 17, "ye": 17, "almost": [17, 42], "weak": 17, "websit": 17, "combo": 17, "temporarili": 17, "inadvert": [17, 21], "bug": [17, 42], "legitim": 17, "assembl": [17, 21, 40, 42], "whatev": [17, 18, 20, 42], "platform": [17, 21, 41, 46], "posit": [17, 18], "matter": [17, 18, 37, 38, 41, 42], "proper": 17, "broader": 17, "easi": [17, 21, 46], "experi": [17, 42, 46], "prompt": [17, 22, 42, 45], "solut": [17, 19, 46], "tri": [17, 21, 42], "verifi": [17, 37, 42, 47], "concern": [17, 18, 19, 42, 47], "tricki": 17, "environ": [17, 22, 42, 45], "suscept": 17, "inject": 17, "15": [17, 42, 45], "efficaci": 17, "verif": [17, 18, 19, 20, 41, 42], "prior": [17, 38], "ecosystem": 17, "emphat": 17, "credenti": 17, "17": 17, "sm": [17, 18], "notif": [17, 22], "lifecycl": [17, 41], "answer": [17, 19], "easier": [17, 19, 37], "acquir": 17, "rather": 17, "factor": [17, 42], "18": [17, 42], "partial": [17, 18, 42], "recap": 17, "item": [17, 18, 44, 46], "persist": [17, 42], "uri": [17, 42], "perman": 17, "full": [17, 18, 20, 22, 37, 42, 45, 46], "directori": [17, 19, 42, 45], "contact": [17, 37, 47], "devic": [17, 20, 37, 41, 42, 46, 47], "bring": 17, "disconnect": [17, 19], "static": [17, 19, 21, 22, 38, 46], "extent": [17, 42, 46], "enforc": [17, 29, 42, 47], "court": 17, "discours": 17, "strike": 17, "incurs": 17, "tech": 17, "tell": [17, 46], "measur": 17, "place": [17, 41, 42], "daili": 17, "startup": [17, 46], "unprotect": 17, "19": [17, 42], "eu": 17, "polici": [17, 18, 20, 38, 41, 42], "assur": [17, 42], "unenforc": 17, "subpoena": 17, "less": [17, 42], "react": [17, 21, 22, 46], "afterthought": 17, "determin": [17, 18, 41, 42, 46], "maxim": 17, "challeng": [17, 19, 42], "explicitli": [17, 38, 41, 42], "balanc": [17, 18, 42], "implicit": 17, "innov": 17, "combat": 17, "usag": [17, 18, 19, 38, 40, 42], "bad": 17, "dark": 17, "corner": 17, "relev": [17, 18, 19, 20, 26, 42], "scale": [17, 46], "overal": [17, 42], "approv": [17, 18, 20, 42, 47], "imag": [17, 19, 20, 22, 46], "assist": 17, "wiretap": 17, "directli": [17, 19, 37, 42], "while": [17, 37, 41, 42], "form": [17, 18, 20, 21, 26, 42, 46], "surveil": 17, "procedur": 17, "stop": 17, "detect": [17, 42], "properli": 17, "infrastructur": [17, 19, 21, 41, 42, 46], "cloud": [17, 41, 42, 46, 47], "exchang": [17, 18, 38, 42, 46], "administr": [17, 20, 22, 42, 45, 46], "20": [17, 42, 46], "question": [17, 18, 37], "voluntarili": 17, "accord": [17, 18], "maximum": [17, 42], "agre": [17, 42], "horribl": 17, "shut": 17, "21": [17, 42], "associ": [17, 20], "membership": [17, 20, 42, 47], "suspend": 17, "tap": [17, 42], "ad": [17, 18, 19, 40, 41, 42, 46], "situat": [17, 38], "serious": 17, "deliber": [17, 42], "physic": [17, 42], "simpler": [17, 42], "cheaper": 17, "magnitud": 17, "virtual": [17, 46], "furthermor": [17, 18, 46], "resili": 17, "defens": 17, "interfer": [17, 19], "amongst": [17, 37, 42], "fragment": 17, "rel": [17, 22, 37, 46], "reconnect": 17, "popul": [17, 42], "ongo": 17, "chunk": [17, 19, 42], "untangl": [17, 18, 37, 42], "authorship": 17, "inher": [17, 47], "disassoci": 17, "old": [17, 18, 42, 46], "come": [17, 22, 38, 41, 42, 46], "imperson": [17, 19, 42], "22": [17, 42], "analogi": 17, "meet": [17, 42], "recruit": 17, "insert": 17, "execut": [17, 19, 46], "simultan": 17, "search": [17, 37, 42, 46], "warrant": 17, "afterward": 17, "laptop": 17, "notepad": 17, "whether": [17, 19, 21, 37, 42], "broad": 17, "fish": 17, "expedit": 17, "domain": [17, 20, 22, 42, 45], "marvel": 17, "togeth": [17, 22, 38, 42, 47], "conversation": 17, "knowledg": [17, 42], "spi": 17, "de": [17, 22, 42], "2012": 17, "hroi": 17, "userdatamanifesto2dot0": 17, "emphasi": 17, "imposs": [17, 42], "definit": [17, 41], "err": 17, "norm": 17, "els": [17, 18, 19, 22, 37, 38, 42, 45, 47], "drive": 17, "robot": 17, "By": [17, 46], "transact": [17, 20, 42, 46], "repres": [17, 37], "behalf": 17, "viz": 17, "turn": [17, 21, 38, 42], "fight": 17, "contrast": [17, 41, 42, 46], "mobil": [17, 20, 22, 37, 46], "advertis": 17, "ti": 17, "foss": 17, "longer": [17, 41], "extrem": 17, "continu": [17, 18, 41, 47], "visit": [17, 37, 42], "cpu": 17, "mention": [17, 42], "datacent": [17, 21], "probabl": [17, 18, 42, 43, 46, 47], "recommend": 17, "azur": 17, "faq": 17, "q": 17, "39encrypt": 17, "39": [17, 42], "blog": [17, 19, 42, 44, 46], "quarkslab": [17, 44], "interfac": [17, 20, 22, 37, 38, 46], "analysi": [17, 18, 44], "wherea": [17, 18, 21], "trail": 17, "intermediari": [17, 26], "fleet": 17, "itself": [17, 19, 37, 38, 42, 47], "architectur": [17, 21, 41], "juli": 17, "2014": [17, 42], "meta": [17, 19, 37], "constitut": 17, "grow": 17, "graph": 17, "made": [17, 18, 37, 46], "understood": 17, "somehow": 17, "ask": [17, 18, 21, 37, 42, 45], "Or": [17, 42], "commit": 17, "contrari": 17, "popular": 17, "opinion": [17, 19, 41], "stock": 17, "invest": 17, "monei": 17, "investor": 17, "regul": 17, "board": 17, "composit": [17, 19], "reset": [17, 18], "recov": 17, "arrang": 17, "databas": [17, 37, 42, 46], "themself": 17, "histori": [17, 37], "safeguard": 17, "co": [17, 21], "opt": [17, 45], "ok": 17, "disavow": 17, "choos": [17, 46], "report": [17, 42], "guest": [17, 37, 38, 47], "kick": 17, "hous": 17, "section": [18, 19, 20, 21, 22, 37, 38, 42, 45, 46], "realiti": 18, "readili": 18, "input": [18, 40], "discuss": [18, 19, 20, 21, 42, 46], "progress": [18, 19, 21, 38], "deeper": 18, "academ": 18, "appreci": 18, "critiqu": 18, "pointer": 18, "tent": [18, 19], "step": [18, 19, 37, 42], "firstli": 18, "confid": [18, 42], "aris": 18, "space": [18, 42], "break": [18, 42], "worrisom": 18, "attract": 18, "second": [18, 21, 42], "priorit": [18, 41], "credibl": 18, "myriad": 18, "text": [18, 37, 42], "seen": [18, 19, 37, 42], "view": [18, 19, 29, 37], "fabric": 18, "arbitrari": [18, 40, 42], "mathcal": 18, "alic": 18, "bob": 18, "mathfrak": 18, "_1": 18, "_2": 18, "decomposit": 18, "return": [18, 37, 38, 42], "mantain": 18, "map": [18, 40, 46], "longmapsto": 18, "langl": 18, "rangl": 18, "half": [18, 19, 20, 37, 38, 42], "plaintext": 18, "enrypt": 18, "paramet": 18, "alreadi": [18, 38, 42], "fly": 18, "save": [18, 37, 42], "dedupl": [18, 20], "cryptotext": 18, "c": [18, 21, 38, 39, 40, 42], "mathscr": 18, "construct": [18, 20, 21, 42], "At": [18, 22, 37, 42], "manifest": [18, 20, 42], "confirm": [18, 19, 22, 42, 45], "correct": [18, 20, 40, 42, 46], "d": [18, 19, 26, 37], "explicit": 18, "relationship": 18, "charl": 18, "independ": [18, 37, 42], "plai": [18, 38], "adversari": 18, "abort": 18, "act": [18, 36, 42], "portabl": 18, "flash": 18, "usb": [18, 42, 47], "calcul": 18, "motion": 18, "did": [18, 19, 21], "gave": 18, "slight": [18, 42], "tweak": 18, "plu": [18, 38], "exposit": 18, "present": [18, 19, 20, 37, 42, 46], "presupos": 18, "oprf": [18, 42], "complement": 18, "flow": 18, "d_1": 18, "mapsto": 18, "account": [18, 22, 42, 45, 46], "b_g": 18, "b_": 18, "spent": [18, 42], "far": [18, 37, 38], "b_r": 18, "spend": [18, 20, 42], "tid": [18, 20, 42], "token": [18, 20, 22, 42, 45], "d_2": 18, "indic": [18, 37, 42], "cryptocurr": [18, 42], "magic": [18, 21, 37, 42], "ledger_kei": [18, 20, 22, 42, 45], "garbag": [18, 42, 46], "overview": [18, 21, 22, 37, 44], "nomenclatur": 18, "secur": [18, 19, 20, 21, 22, 37, 38, 41, 44, 45, 47], "mihir": 18, "bellar": 18, "sriram": 18, "keelveedhi": 18, "thoma": 18, "ristenpart": 18, "eurocrypt": 18, "vert": 18, "cost": [18, 41, 42], "boundari": [18, 42], "treat": [18, 42], "smaller": 18, "replic": [18, 42], "wherev": 18, "larger": [18, 42], "convert": [18, 40], "insid": [18, 37, 38, 41, 42, 46], "entri": [18, 35, 42, 46], "atom": [18, 42], "alloc": [18, 20, 42], "unalloc": 18, "overhead": 18, "carri": 18, "discard": [18, 42], "soon": [18, 22, 42], "revis": [18, 19], "unaffect": 18, "detriment": 18, "privaci": [18, 19, 20, 21, 37, 41, 42, 44], "configur": [18, 45], "week": [18, 42], "distinct": [18, 20], "weekli": 18, "xor": 18, "oprf_1": 18, "draft": [18, 19, 44], "irtf": 18, "cfrg": 18, "voprf": 18, "09": 18, "avoid": [18, 42], "major": [18, 19, 42, 46], "advantag": [18, 41, 42, 46], "outweigh": 18, "decis": [18, 46], "cach": [18, 36, 44], "similarli": [18, 42, 47], "abus": 18, "ddo": [18, 42], "scenario": [18, 42], "pad": [18, 40, 42], "predict": 18, "topic": 19, "ecdsa": [19, 42], "ellipt": 19, "vendor": [19, 41], "recal": 19, "principl": [19, 21, 37, 42], "typescript": [19, 21, 43, 45], "One": [19, 37], "candid": 19, "replac": 19, "ed25519": 19, "onion": 19, "ipf": [19, 42], "curve448": 19, "announc": 19, "fip": 19, "186": 19, "seem": [19, 41, 42], "backward": 19, "assumpt": [19, 46], "rfc7748": 19, "chromestatu": 19, "4913922408710144": 19, "1fdtuy3hvaxehi": 19, "esfbi7nxh8zpw4mpskm8u1fmdqjlu": 19, "editor": 19, "rfc8032": 19, "safecurv": 19, "cr": 19, "yp": 19, "20110926": 19, "pdf": [19, 42, 44], "libp2p": 19, "spec": 19, "master": 19, "peer": 19, "Not": [19, 41, 46], "torproject": 19, "brute": [19, 42], "discoveri": 19, "consider": [19, 46], "v2": 19, "56": 19, "thought": [19, 41], "exactli": [19, 42], "unclear": 19, "control": [19, 22, 41, 42, 45, 46, 47], "loos": [19, 42, 46], "under": [19, 21, 22, 37, 39, 42, 47], "idea": [19, 38, 41, 42], "Then": [19, 42, 45], "concept": [19, 38, 41, 42, 46], "overrid": 19, "action": [19, 37], "subset": [19, 46], "rais": 19, "ascertain": 19, "manipul": [19, 42], "setup": [19, 38, 42, 45], "pairwis": 19, "said": 19, "icon": [19, 42], "appear": [19, 42], "press": [19, 42], "produc": 19, "roomid": [19, 37, 42], "alphanumer": 19, "fold": 19, "drop": [19, 42, 47], "120": 19, "translat": [19, 38, 40, 46], "passphras": 19, "column": 19, "displai": [19, 42], "promin": 19, "obei": 19, "transit": [19, 41], "superior": 19, "qr": [19, 42], "fanci": 19, "mind": [19, 21, 44], "risk": 19, "automat": [19, 20, 38, 42], "socialist": 19, "millionair": 19, "propos": 19, "boudt": 19, "schoenmakerr": 19, "traor": 19, "win": 19, "tue": 19, "nl": 19, "berri": 19, "paper": [19, 42, 44], "dam": 19, "wasn": 19, "fairi": 20, "tale": 20, "myth": 20, "demon": 20, "ledger_namespac": [20, 22, 42, 45], "pai": [20, 22, 42, 45], "anywher": [20, 40, 41, 42], "worker": [20, 22, 42, 45, 46], "synonym": 20, "newer": 20, "administ": 20, "durabl": [20, 22, 42, 45, 46], "kv_global": [20, 42, 46], "kv_local": [20, 42, 46], "ledger": [20, 22], "batch": [20, 46], "window": [20, 22, 37, 45], "localstorag": [20, 37, 42], "convinc": 20, "site": [20, 21, 37, 42], "On": [20, 22, 42, 45], "pii": [20, 42], "indtifi": 20, "preview": [20, 42], "rsa": [20, 22, 42, 45], "secp3841": [20, 42], "gen_p384_pair": [20, 42], "queu": [20, 42], "admiss": 20, "context": [20, 38, 42, 46], "48": [20, 42], "card": [20, 42], "stead": 20, "thumbnail": [20, 42], "leakag": [20, 42], "stack": 21, "revisit": 21, "redefin": 21, "embark": 21, "media": [21, 42], "2020": 21, "ideal": 21, "unattain": 21, "ly": 21, "around": [21, 37, 42], "gap": [21, 42, 44, 46], "piec": [21, 37, 42], "realiz": 21, "convention": 21, "layer": [21, 36, 41, 42], "edg": [21, 41, 46], "backbon": 21, "compos": 21, "low": [21, 22], "level": [21, 41, 42, 45], "encapsul": [21, 38], "standalon": 21, "motiv": 21, "jump": 21, "introduct": [21, 42], "dig": [21, 45], "sourc": [21, 22, 38, 42], "begun": 21, "2021": 21, "releas": [21, 22, 38, 45], "februari": [21, 38], "2018": [21, 42, 44], "patient": 21, "pronounc": 21, "snack": 21, "abracadabra": 21, "accent": 21, "bear": [21, 42], "languag": [21, 42, 46], "ceas": 21, "canari": 21, "psm": 21, "petersmagnusson": 21, "dm": [21, 38, 42], "constraint": [21, 38, 42], "impact": 21, "repli": [21, 37, 42, 47], "iff": 21, "2016": [21, 39, 44], "2023": [21, 38, 39, 45], "regist": [21, 37, 39], "trademark": [21, 39], "program": [21, 39], "redistribut": [21, 39], "gnu": [21, 39], "affero": [21, 39], "foundat": [21, 39], "hope": [21, 39, 43, 47], "warranti": [21, 39], "merchant": [21, 39], "FOR": [21, 39], "agpl": [21, 39], "outset": 22, "cobbl": 22, "load": [22, 37, 38, 40, 41, 42, 46], "asid": 22, "stream": [22, 42], "its": [22, 42, 46], "proud": 22, "land": [22, 45, 46], "dashboard": [22, 45], "stand": [22, 42], "nativ": [22, 37, 41, 46], "descend": 22, "willing": 22, "npm": [22, 38, 45], "swift": [22, 42], "pip": [22, 43], "pylib": [22, 43], "curent": 22, "roomserv": 22, "oppos": [22, 46], "focu": 22, "facto": [22, 42], "webclient": [22, 42], "cf": [22, 42, 45], "_almost_": [22, 45], "month": [22, 45], "push": [22, 38, 42], "path": [22, 42, 45], "subdomain": [22, 45], "proce": 22, "nameserv": [22, 45], "dash": [22, 45], "signup": [22, 45], "rout": [22, 45], "click": [22, 42, 45], "button": [22, 37, 45], "propag": [22, 45], "wrangler": [22, 45], "yarn": [22, 45], "pure": [22, 38, 42, 45], "instruct": [22, 45], "login": [22, 45], "toml": [22, 45], "cp": [22, 45], "wranger": 22, "kv": [22, 42, 45, 46], "namespac": [22, 45], "messages_namespac": [22, 45], "keys_namespac": [22, 45], "deploi": [22, 45], "tini": [22, 45, 46], "auth": [22, 45], "server_secret": [22, 45], "enter": [22, 37, 40, 42, 45], "consol": [22, 38, 45], "generatekei": [22, 45], "rsa_key_pair_gener": [22, 45], "keypair": [22, 42, 45], "await": [22, 38, 45], "subtl": [22, 42, 45], "moduluslength": [22, 45], "publicexpon": [22, 45], "my_private_kei": [22, 45], "exportkei": [22, 45], "my_public_kei": [22, 45], "stringifi": [22, 32, 42, 45], "alg": [22, 26, 45], "aqab": [22, 45], "ext": [22, 26, 27, 37, 45], "key_op": [22, 26, 27, 37, 45], "kty": [22, 26, 27, 37, 45], "momu": [22, 45], "quot": [22, 45], "affili": [22, 45], "fan": [22, 45], "git": [22, 38, 43, 45], "rst": 22, "svg": 22, "mj": 22, "storageserv": [22, 42], "decod": [26, 40], "channelkeysmessag": 26, "crv": [26, 27, 37], "9s17b4i0cuf_w9xn_uaq2dfepor6s3smfma95kjln8akbuwehpacumemwnulrrkn": 26, "6datcymbtso5ufkvlhxrsvjtmkabgltyg1brejtpwragtmn6k25gr7akklz9klbr": 26, "lx0ejcbnuyefhdobwazqgy9uo7ppxvisepetvbzkalijysh9ly2avgnacreo6qxd": 26, "zehpgpsl4jge_q": 26, "k6ekuzi2bqoybnapt1mozcfqjnxeepbx8emkhrioiwl6p8ba": 26, "f0sqttlxdhuvvmggqlzmoehpd": 26, "sjlfyhfod": 26, "cqejeou": 26, "oct": 26, "kcjhdz34xgvfss9": 26, "su09hfzxzhngcvndgj5a8gtsfjujqaq": 26, "1n2acvchprhknk8b": 26, "rdsyble0dd1hvp2oe2minyyi87cyg7fs3tcquievkfpinoactfxi6ip8oeyt": 26, "dge": 26, "qw9vp72uf9rguu117g7aftkcmncjbt5sciairwbxfqet6fycq20fwsp7r911j2_t": 26, "roomlock": 26, "incom": 27, "hello": [27, 38], "test04d": 27, "u7zam": 27, "1fnlzjmuayokwwvxtbgqmeimouzp1djgx4ecg": 27, "edqhd4aun7dgsudmqxtvzuw": 27, "q2n7l77hbw81kvwj9qtzu7ab": 27, "sfhubqogg2pkihj": 27, "oqp27bxl4rucahpwuefhzdyeuhto8_8oytsakjdk1g_nqoa0fr5sy_8vittws9wt": 27, "testbot": [27, 38], "3o0aykthtwwyux3awdmdu4ktr49uynyaa937cfktcqw": 27, "4lmewpsh6tcrhhyqlivd4ce87si1ajiaezhjb5sdd7m": 27, "channelmessagetyp": 27, "wrap": 28, "url": [28, 37, 40, 47], "wire": [28, 40, 42, 44, 46], "binari": [29, 40, 45, 46], "descriptor": 32, "delet": 36, "websocket": [36, 42, 46], "proxi": 36, "fastest": 36, "center": [37, 42], "hkukhy6wm": [37, 47], "zxmiyhct1v4nbk": [37, 47], "o1pv4gykbnl7u8kaygoe1yi150ptdnvumkbofol": [37, 47], "welcom": 37, "alia": 37, "box": [37, 42], "decent": 37, "demonstr": [37, 42], "purpl": [37, 42], "border": [37, 42], "glimps": 37, "top": [37, 42], "invit": [37, 47], "green": [37, 42, 47], "incognitor": 37, "No": [37, 38], "regular": [37, 40], "yellow": [37, 42], "bubbl": 37, "whisper": [37, 38, 47], "shown": [37, 41, 42], "password": [37, 38, 42, 47], "none": 37, "tab": [37, 42, 47], "expand": 37, "scene": 37, "roomdata": 37, "roommetadata": 37, "identi": 37, "haven": 37, "admit": 37, "shortli": 37, "sj2_c2fkhlbp57x5mljq6pn_zerq0zzb8y4fvixg_ffqsvqrlr958mmbcnwpzcn": 37, "ql6o3o_8ic5fe7rnzowtztym6lm4olyr3mgjh_guicza1i": 37, "pphinxzfjxmnlqqqi": 37, "ymkc8rqt6vmwymno70wiaji8bpzirgoneiuezshj6mjuruynzlg0drjbhy9tpgen": 37, "usernam": [37, 38, 47], "lastseenmessag": 37, "010111111001111001100100100000000100010000": 37, "onjicyxa5g68wlcvxbpi_gdxv2yn26z": 37, "jju9bg7egbz4g5uckoejmqsfvi8m1qya": 37, "ndca_mjyucfgghmwle2yptedv7pbdcy2gw_ahb8zhv1_lfe9smvou5wootqowikr": 37, "unnam": 37, "t8tsnkkhqcx68kxdryjt58w_dw_laxjgr8i1ranxiv0m_qulx1sxdfbxr7wjlvsu": 37, "lqd3521v2k4xawo2ub0qmqr2uqzjcoar0uyy8ysuvyghc_qumpfleab3i1t1dwrc": 37, "mmixqmasdgkmdqnxxzhbalz95jirbrzk": 37, "am_wewfjnk1umarw": 37, "efd5tiv1yr6or9": 37, "pqdpj8nahdenjbmfuuudwc57gr3uiljzhmp": 37, "4a64l7rtbaimehjluyhuvjioklj8": 37, "uo_6ynk55fecnidedrs5iddyadc2nrp9wfk3te_ddoghrcljwa7aciri28zzgbq_": 37, "7odkqjhzgwgszyiufawl33hvqeem": 37, "d0aoztlwjrc5wwklsmdya3z2w68c_6": 37, "sju": 37, "lastmessagetim": 37, "010111110001001100010000011111000101101101": 37, "unread": 37, "hit": 37, "solid": 37, "arrowhead": 37, "init": 37, "arrow": 37, "dot": 37, "roughli": 37, "weblient": 37, "logic": [37, 38], "fire": [37, 42, 45], "digest": 37, "rock": 37, "roll": [37, 47], "catch": 37, "previou": [37, 42], "notat": [37, 42], "explan": [37, 46], "o1pv4gykbn": 37, "sj2_c2fkhlbp57x5mljq6pn": 37, "ql6o3o_8ic5fe7rnzowtzti": 37, "ymkc8rqt6vmwymno70wiaji": 37, "0101111110011110": 37, "jju9b": 37, "t8tsnkkhqcx68kxdryjt58w_dw_laxjgr8i1r": 37, "am_w": 37, "uo_6ynk55fecnidedrs5iddyadc2nrp9wfk3t": 37, "ql6o3o_8ic5fe7rnz0wtztym6lm4olyr3mgjh": 37, "o1pv4gykbnl7": 37, "0101111100010011": 37, "tend": 37, "recogn": 37, "speak": [37, 42], "visibl": 37, "stamp": [37, 44], "represent": [37, 40], "prefix": [37, 42, 46], "comprehens": 37, "compil": [37, 46], "reiter": 37, "accru": [37, 42], "strong": [37, 46], "cryptographi": [37, 42, 44], "throughout": [37, 41], "correctli": [37, 42], "gist": [37, 44], "biggest": 37, "secreci": 37, "pillar": 37, "clean": [37, 38], "escap": 37, "pars": [37, 40, 42], "hopefulli": 37, "spoof": 37, "anywai": 37, "es2022": 38, "alpha": 38, "upcom": 38, "sensit": [38, 41], "emptor": 38, "signal": [38, 42, 44], "npmj": 38, "sphinx": 38, "jsdoc": 38, "typedoc": 38, "nice": 38, "capab": 38, "dom": 38, "asynchron": [38, 42, 46], "warn": 38, "tsc": [38, 45], "typecast": 38, "dry": 38, "oop": 38, "repositori": [38, 43], "refactor": 38, "384co": 38, "orchestr": 38, "sb_config": 38, "got": 38, "aka": [38, 42], "sbobjecthandleclass": 38, "sbobjectmetadata": [38, 40], "sbfile": 38, "sbpayload": [38, 40], "ensur": [38, 41], "messagebu": [38, 40], "arraybuffer32tobase62": 38, "arraybuffertobase64": 38, "assemblepayload": 38, "base62toarraybuffer32": 38, "base62tobase64": 38, "base64toarraybuff": 38, "base64tobase62": 38, "decodeb64url": 38, "encodeb64url": 38, "encryptedcontentsmakebinari": 38, "extractpayload": 38, "getrandomvalu": 38, "jsonparsewrapp": 38, "partit": 38, "simplerand256": 38, "simplerandomstr": 38, "encryptedcontentsbin": [38, 40], "comparebuff": 38, "closest": [38, 42], "_ownerkei": [38, 42], "weaker": [38, 42], "unfortun": 38, "lost": 38, "obj": 38, "someclass": 38, "method": [38, 42], "somemethod": 38, "readyflag": 38, "model": [38, 41, 42, 46], "wait": [38, 42, 45], "constructor": 38, "decor": 38, "succinct": 38, "statu": [38, 47], "xmlhttprequest": 38, "noisi": 38, "chrome": [38, 42, 46], "insist": 38, "complain": 38, "red": [38, 42], "font": 38, "err_connection_refus": 38, "navig": 38, "chose": 38, "proactiv": 38, "print": [38, 42], "ignor": 38, "ip": 38, "too": 38, "upset": 38, "deno": 38, "workerd": 38, "presum": [38, 42], "incompat": 38, "imagemetadata": [40, 42], "\u01ad": 40, "invalid": 40, "typeof": 40, "variant": 40, "instanti": 40, "gui": 40, "25": [40, 42], "pre": [40, 42, 45], "02": 40, "arraybuffer32": 40, "base62": 40, "btoa": 40, "ascii": 40, "bodyinit": 40, "str": 40, "atob": 40, "friendli": [40, 46], "disambigu": 40, "base32mi": 40, "base32": 40, "0123456789abcdefyhejklmnhpfrrtuw": 40, "transform": [40, 42], "ooqd": 40, "liij": 40, "zz": 40, "ss": 40, "gq": 40, "kxx": 40, "uvv": 40, "0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz": 40, "n0": 40, "57uuk": 40, "248c0ef6": 40, "11klm": 40, "0p0": 40, "uky2": 40, "loc": 40, "wrapper": 40, "255": 40, "decentr": 41, "succinctli": 41, "IT": 41, "anyon": [41, 42], "castl": 41, "moat": 41, "obtain": 41, "everyon": [41, 42], "attack": [41, 42], "rein": 41, "exacerb": 41, "often": 41, "spread": 41, "prevent": 41, "breach": 41, "studi": 41, "averag": 41, "million": [41, 42], "surpris": 41, "eager": 41, "adopt": 41, "whichev": 41, "flip": 41, "saa": 41, "pwa": 41, "desktop": 41, "conveni": 41, "redund": 41, "previous": [41, 42], "advanc": [41, 47], "increas": 41, "revok": [41, 42], "confidenti": 41, "imagin": 41, "antithet": 41, "pry": 41, "ey": 41, "insecur": [41, 47], "unencrypt": [41, 42], "besid": 41, "conflict": 41, "encompass": 41, "autonomi": 41, "imbal": 41, "fairli": [42, 46], "dialog": 42, "backup": 42, "_encryptionkei": 42, "_signkei": 42, "_guestkei": 42, "_authorizationkei": 42, "cooki": 42, "roomkei": 42, "affect": 42, "token_": 42, "epoch": 42, "samesit": 42, "max": [42, 46], "ag": 42, "86400": 42, "ownerkei": 42, "sendmessag": 42, "ifram": 42, "overwrit": 42, "kit": 42, "recoveri": 42, "inde": 42, "whenev": 42, "reload": 42, "background": [42, 46], "profil": 42, "circl": 42, "preclud": 42, "corrupt": 42, "outlin": [42, 46], "hmac": 42, "locked_kei": 42, "wherein": 42, "_lockedkei": 42, "expos": 42, "stronger": [42, 46], "regener": 42, "timestamp": 42, "refresh": 42, "broadcast": 42, "room_ownerkei": 42, "hereaft": 42, "scaleabl": 42, "reliabl": [42, 46], "econom": 42, "attach": 42, "pictur": [42, 47], "camera": 42, "jpg": 42, "20kb": 42, "dataurl": 42, "instantli": 42, "enclos": 42, "4mb": 42, "16mb": 42, "unalt": 42, "bigger": 42, "front": 42, "consist": [42, 46], "Their": [42, 46], "512": 42, "halv": 42, "version_id": 42, "queri": [42, 46], "compress": 42, "nearest": 42, "expon": 42, "possibli": 42, "128kb": 42, "six": 42, "increment": 42, "128": 42, "128bit": 42, "0x80": 42, "truncat": 42, "32": 42, "000": 42, "earlier": 42, "cleartext": 42, "round": 42, "token_id": 42, "hasn": 42, "exce": 42, "recovery_namespac": [42, 45], "d3": 42, "hashed_room_id": 42, "encrypted_token_id": 42, "hashed_token_id": 42, "image_id": 42, "honest": 42, "suspect": 42, "comment": 42, "duplic": 42, "obscur": 42, "complic": 42, "bucket": 42, "chain": 42, "fake": 42, "difficulti": 42, "immateri": 42, "collis": 42, "dishonest": 42, "dishonesti": 42, "stai": 42, "road": 42, "misus": 42, "yield": 42, "notic": 42, "emptiv": 42, "scan": 42, "strongli": 42, "formal": [42, 44], "treatment": 42, "whomev": 42, "trace": 42, "inquir": 42, "heavili": 42, "parameter": 42, "solv": 42, "describ": 42, "unpack": 42, "diagram": 42, "tb": 42, "gb": 42, "wise": 42, "anonym": 42, "hang": 42, "gether": 42, "datastor": 42, "d1": 42, "d2": 42, "cash": 42, "class": 42, "self": [42, 46], "bundl": 42, "_r": 42, "_h": 42, "stow": 42, "handlestoredata": 42, "24": 42, "altogeth": 42, "exceed": 42, "obfusc": 42, "correl": 42, "corespond": 42, "fashion": 42, "orient": [42, 46], "whatsapp": [42, 44], "threema": 42, "eprint": [42, 44], "iacr": [42, 44], "2017": [42, 44], "713": 42, "cryptographyengin": 42, "01": 42, "moxie0": 42, "reconstruct": 42, "db": 42, "bestow": 42, "monopoli": 42, "unashamedli": 42, "hand": 42, "pop": 42, "vpn": 42, "tor": 42, "took": 42, "groupid": 42, "31": 42, "java": 42, "super": 42, "caus": 42, "33": 42, "expans": 42, "therefor": [42, 47], "datasize1": 42, "datasize2": 42, "revers": 42, "arraybuffer1": 42, "arraybuffer2": 42, "pickler": 42, "merg": 42, "therebi": 42, "greater": 42, "rejoin": 42, "curl": [42, 45], "wscat": 42, "script": [42, 45], "remedi": 42, "observ": 42, "26": 42, "27": 42, "28": 42, "29": 42, "raih2xfy6d8akvilkiedlibspt0qnmu2mutxyijqonsu": 42, "sgytlc0freui0ohx1q8": 42, "various": 42, "token_urlsaf": 42, "reflect": 42, "30": 42, "stage": 42, "mi": 42, "yubico": 42, "pin": 42, "presenc": 42, "transport": 42, "collid": 42, "generate_private_kei": 42, "secp384r1": [42, 47], "36": 42, "nss": 42, "firefox": 42, "521": 42, "34": 42, "35": 42, "37": 42, "gen_aes_key_jwk": 42, "_room": 42, "newli": 42, "38": 42, "accur": 42, "_particip": 42, "flag": 42, "sender_pubkei": 42, "image_sign": 42, "imagemetadata_sign": 42, "recipi": 42, "publicli": 42, "cdn": 42, "phototest": 42, "canva": 42, "restrictphoto": 42, "helper": 42, "datafunct": 42, "mb": 42, "bo": 42, "conventi": 42, "emul": 42, "extens": 42, "onto": 42, "s3": 42, "reveal": 42, "kb": 42, "1024": 42, "2048": 42, "leak": 42, "estim": 42, "95": 42, "deem": 42, "512kb": 42, "unmodifi": [42, 46], "\u00bc": 42, "rare": 42, "textsecur": [42, 44], "white": [42, 44], "2019": 42, "1416": 42, "wrote": 42, "global_object": 42, "bson": 42, "bsonspec": 42, "protobuf": 42, "heavi": [42, 46], "weight": [42, 46], "strictli": 42, "quadrillion": 42, "max_safe_integ": 42, "doubl": [42, 44], "float": 42, "tonyarcieri": 42, "wrong": 42, "webcrypto": [42, 44], "critic": 42, "classic": 42, "harm": [42, 44], "disk": 42, "outstand": 42, "queue": 42, "resolut": 42, "dealloc": 42, "recoverd": 42, "air": [42, 46], "keyspac": 42, "154": [42, 46], "wikipedia": 42, "wiki": [42, 44], "uniform_resource_identifi": 42, "rfc4648": 42, "bot": 42, "guess": 42, "univers": 42, "85": 42, "parallel": 42, "0000000000000000000000000000000000000000001": 42, "chanc": 42, "assert": [42, 46], "chromium": 42, "478225": 42, "bugzilla": 42, "show_bug": 42, "cgi": 42, "1128792": 42, "ispab": 42, "2006": 42, "e_bark": 42, "march2006": 42, "highlight": 42, "jwcrypto": 42, "readthedoc": 42, "primari": 42, "instal": 43, "abandonen": 43, "focus": 43, "resuscit": 43, "1013": 44, "ratchet": 44, "proof": [44, 46], "modular": 44, "1037": 44, "whitepap": 44, "ironi": 44, "tracker": 44, "januari": 44, "ca": 44, "ios_security_guid": 44, "17_imessag": 44, "slide": 44, "imessage_privaci": 44, "archiv": 44, "20150107094950": 44, "whispersystem": 44, "w3c": 44, "offici": 44, "w3": 44, "tr": 44, "webcryptoapi": 44, "982": 44, "20160305004230": 44, "nccgroup": 44, "trust": [44, 46], "newsroom": 44, "2011": 44, "august": 44, "alea": 44, "prng": 44, "20111105142920": 44, "baago": 44, "randommus": 44, "hi": [44, 47], "githubusercont": 44, "kirbysayshi": 44, "1342599": 44, "664e15c7d7b8f28b398fa8ba6134c4378d83147f": 44, "sdk": 45, "clone": 45, "repo": 45, "highest": 45, "v15": 45, "higher": [45, 46], "mint_kei": 45, "nota": 45, "bene": 45, "env": 45, "localhost": 45, "react_app_channel_serv": 45, "react_app_shard_serv": 45, "react_app_channel_server_w": 45, "fledg": 45, "mac": 45, "m1": 45, "partiallli": 45, "paus": 45, "moment": 45, "deep": 45, "cloudlfar": 45, "problemat": 45, "sqlite": 45, "xcode": 45, "capnp": 45, "cd": 45, "bazel": 45, "brew": 45, "homebrew": 45, "cellar": 45, "libexec": 45, "bin": 45, "flo": 45, "darwin": 45, "arm64": 45, "chmod": 45, "clang": 45, "thin": 45, "lto": 45, "your_user_id": 45, "stuff": 45, "pull": 45, "am": 45, "termin": 45, "watch": [45, 46], "images_namespac": 45, "6wemtspoblahblahu3rmdugsc": 45, "feed": 46, "blanket": 46, "cite": 46, "happi": 46, "debat": 46, "cursori": 46, "spa": 46, "light": 46, "152": 46, "153": 46, "flavor": 46, "paa": 46, "brought": 46, "155": 46, "confus": 46, "benefit": 46, "mixtur": 46, "idp": 46, "156": 46, "157": 46, "memori": 46, "coher": 46, "largest": 46, "158": 46, "32kb": 46, "toward": 46, "159": 46, "arbitrarili": 46, "160": 46, "unreli": 46, "primarili": 46, "smallest": 46, "dynam": 46, "interpret": 46, "v8": 46, "machin": 46, "isol": 46, "heap": 46, "collector": 46, "footprint": 46, "x86": 46, "runtim": 46, "kenton": 46, "varda": 46, "infoq": 46, "depth": 46, "builtin": 46, "youtub": 46, "lqe4u8s8iik": 46, "161": 46, "habit": 46, "beta": 46, "serverless": 46, "michat": 46, "preced": 46, "docker": 46, "station": 46, "router": 46, "textbook": 46, "pioneer": 46, "lightweight": 46, "dramat": 46, "akin": 46, "tabl": 46, "flat": 46, "scheme": 46, "80": 46, "20mb": 46, "fix": 46, "ons": 46, "webextens": 46, "surprisingli": 46, "anticip": 46, "excel": 46, "demo": 46, "tour": 47, "nonsens": 47, "300": 47, "clipboard": 47, "surround": 47, "mike": 47, "incognito": 47, "introductori": 47, "yubikei": 47, "disabl": 47, "readabl": 47, "menu": 47, "edit": 47, "legal": 47, "oversight": 47}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"thi": 0, "i": 0, "readm": 0, "jslib": [1, 38, 40], "refer": [1, 40, 44], "manual": [1, 38, 40], "appendix": [2, 47], "A": 2, "cryptographi": [2, 41], "ecdh": 2, "rsa": 2, "ae": 2, "class": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 38, 40], "channel": [3, 10, 11, 14, 38], "hierarchi": [3, 5, 6, 8, 10], "tabl": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 40], "content": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 40], "constructor": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "properti": [3, 5, 6, 7, 8, 10, 11, 12, 13, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36], "accessor": [3, 4, 5, 6, 8, 11, 12, 13, 14], "method": [3, 4, 5, 6, 7, 9, 10, 11, 14], "paramet": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 40], "overrid": [3, 5, 6, 10], "admin": [3, 5, 6, 42], "admindata": [3, 5, 6], "channelreadi": [3, 5, 6], "lock": [3, 4, 5, 6], "motd": [3, 5, 6, 27], "owner": [3, 5, 6, 42], "readi": [3, 5, 6, 8, 10, 11, 27, 38], "inherit": [3, 5, 6, 10], "from": [3, 5, 6, 10], "sb384readi": [3, 5, 6, 8], "usernam": [3, 5, 6], "verifiedguest": [3, 5, 6], "_id": [3, 5, 6, 8, 27], "return": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 40], "api": [3, 5, 6], "channelid": [3, 4, 5, 6, 24, 27, 32], "channelsignkei": [3, 5, 6], "exportable_privatekei": [3, 5, 6, 8], "exportable_pubkei": [3, 5, 6, 8], "hash": [3, 5, 6, 8], "kei": [3, 5, 6, 12, 13, 27, 31, 32, 33, 34, 37, 41, 42, 45], "ownerchannelid": [3, 5, 6, 8], "privatekei": [3, 5, 6, 8, 26], "readyflag": [3, 5, 6, 8], "sbserver": [3, 5, 6, 36], "acceptvisitor": [3, 4, 5, 6], "author": [3, 4, 5, 6], "budd": [3, 4, 5, 6], "downloaddata": [3, 4, 5, 6], "getadmindata": [3, 4, 5, 6], "getcapac": [3, 4, 5, 6], "getjoinrequest": [3, 4, 5, 6], "getlastmessagetim": [3, 4, 5, 6], "getmoth": [3, 4, 5, 6], "getoldmessag": [3, 4, 5, 6], "getstoragelimit": [3, 4, 5, 6], "islock": [3, 4, 5, 6], "ownerkeyrot": [3, 4, 5, 6], "postpubkei": [3, 4, 5, 6], "send": [3, 5, 6, 10, 11], "setmotd": [3, 4, 5, 6], "storagerequest": [3, 4, 5, 6], "updatecapac": [3, 4, 5, 6], "uploadchannel": [3, 4, 5, 6], "channelapi": 4, "channelendpoint": 5, "onmessag": [5, 6], "channelsocket": 6, "channelsocketreadi": 6, "enabletrac": 6, "exportable_owner_pubkei": 6, "statu": 6, "messagebu": 7, "bu": 7, "publish": 7, "subscrib": 7, "unsubscrib": 7, "sb384": [8, 38], "sbcrypto": [9, 40], "ab2str": 9, "addknownkei": 9, "channelkeystringstocryptokei": 9, "comparehashwithkei": 9, "comparekei": 9, "derivekei": 9, "encrypt": [9, 17, 27, 42], "exportkei": 9, "extractpubkei": 9, "generateidkei": 9, "generatekei": 9, "importkei": 9, "lookupkei": 9, "lookupkeyglob": 9, "sb384hash": [9, 40], "sign": [9, 27, 42], "str2ab": 9, "unwrap": 9, "verifi": [9, 19], "verifychannelid": 9, "wrap": 9, "sbfile": 10, "max_sb_body_s": [10, 11], "sb_message_symbol": [10, 11], "data": [10, 17, 41], "imag": [10, 27, 42], "imagemetadata": [10, 27, 30], "image_sign": [10, 27], "asimag": 10, "sbmessag": 11, "encryptionkei": [11, 24, 25, 26], "sendtopubkei": 11, "sbobjecthandl": [12, 31, 33], "implement": 12, "actuals": [12, 13, 31, 33], "dateandtim": [12, 13, 31, 33], "filenam": [12, 13, 31, 33], "filetyp": [12, 13, 31, 33], "iv": [12, 13, 28, 29, 31, 33, 34], "lastmodifi": [12, 13, 31, 33], "salt": [12, 13, 31, 33, 34], "saveds": [12, 13, 31, 33], "shardserv": [12, 13, 31, 33], "version": [12, 13, 14, 31, 33, 34, 40], "id": [12, 13, 27, 31, 33, 34], "id32": [12, 13, 31, 33], "key32": [12, 13, 31, 33], "type": [12, 13, 27, 31, 33, 34, 37, 40], "verif": [12, 13, 31, 33], "sbobjecthandleclass": 13, "snackabra": [14, 21, 38, 45], "crypto": [14, 38], "storag": [14, 22, 38, 42, 46], "connect": [14, 37, 38], "creat": 14, "contact": 15, "feedback": 15, "sphinx": 16, "diagram": [16, 37], "exampl": 16, "block": 16, "seq": 16, "nw": 16, "sequenc": [16, 37], "chatgpt": 16, "graphviz": 16, "digraph": 16, "process": 16, "graph": 16, "background": 17, "discuss": 17, "motiv": [17, 41], "right": 17, "open": [17, 41], "sourc": [17, 41], "interoper": 17, "under": 17, "particip": 17, "control": [17, 27], "vendor": 17, "independ": 17, "privat": 17, "secur": [17, 42], "compat": 17, "legal": 17, "oversight": 17, "design": [17, 18], "principl": 17, "constraint": 17, "account": 17, "decis": 17, "topic": 17, "delet": 17, "record": 17, "autodestruct": 17, "messag": [17, 37, 38, 42], "model": 17, "The": [17, 38], "thing": [17, 38], "about": 17, "trust": [17, 41], "what": 17, "do": 17, "we": 17, "other": [17, 38], "mean": 17, "end": 17, "insid": 17, "privaci": [17, 47], "formal": 18, "treatment": 18, "photo": [18, 42], "file": 18, "blob": 18, "futur": [18, 19], "direct": 18, "ledger": [18, 42, 45], "room": [18, 19, 22, 37, 42, 47], "chat": [18, 47], "group": [18, 42], "work": 19, "curve25519": 19, "support": 19, "integr": 19, "glossari": 20, "instal": [22, 38, 45], "server": [22, 32, 38, 42, 45], "setup": 22, "person": 22, "directori": 22, "web": 22, "client": [22, 42], "io": 22, "interfac": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40], "channeladmindata": 23, "capac": 23, "join_request": 23, "room_id": 23, "channeldata": 24, "server_secret": 24, "motherchannel": 24, "ownerkei": [24, 25, 26], "roomid": 24, "signkei": [24, 25, 26], "size": 24, "channelkeystr": 25, "error": 25, "guestkei": [25, 26], "lockedkei": [25, 26], "channelkei": 26, "ownerpubkeyx": 26, "publicsignkei": 26, "channelmessag": 27, "encrypted_cont": 27, "imagemetadata_sign": 27, "replyto": 27, "roomlock": 27, "sendto": 27, "sender_pubkei": 27, "sender_usernam": 27, "system": [27, 46], "text": 27, "timestamp": 27, "timestampprefix": 27, "user": [27, 38, 42, 47], "declar": [27, 40], "verificationtoken": 27, "whisper": [27, 42], "encryptedcont": 28, "encryptedcontentsbin": 29, "imageid": 30, "imagekei": 30, "previewid": 30, "previewkei": 30, "previewnonc": 30, "previewsalt": 30, "sb_object_handle_symbol": [31, 33, 34], "sbchannelhandl": 32, "sbobjectmetadata": 34, "paddedbuff": 34, "sbpayload": 35, "index": 35, "channel_serv": 36, "channel_w": 36, "shard_serv": 36, "storage_serv": 36, "introduct": 37, "basic": 37, "develop": [38, 45], "sb": [38, 40], "util": 38, "helper": 38, "wire": 38, "format": [38, 42], "specif": 38, "test": 38, "relat": 38, "dn": 38, "004": 38, "pattern": 38, "005": 38, "browser": 38, "006": 38, "localhost": 38, "cor": 38, "fun": 38, "licens": 39, "namespac": 40, "alias": 40, "variabl": 40, "function": 40, "channelmessagetyp": 40, "sbchannelid": 40, "sbobjecttyp": 40, "sbuserid": 40, "arraybuffer32tobase62": 40, "arraybuffertobase64": 40, "assemblepayload": 40, "base62toarraybuffer32": 40, "base62tobase64": 40, "base64toarraybuff": 40, "base64tobase62": 40, "cleanbase32mi": 40, "comparebuff": 40, "decodeb64url": 40, "encodeb64url": 40, "encryptedcontentsmakebinari": 40, "extractpayload": 40, "getrandomvalu": 40, "isbase62encod": 40, "jsonparsewrapp": 40, "partit": 40, "simplerand256": 40, "simplerandomstr": 40, "zero": 41, "local": [41, 42], "first": 41, "softwar": 41, "manag": [41, 42], "sovereignti": 41, "public": 41, "ident": 41, "technic": 42, "overview": 42, "dai": 42, "restrict": 42, "accept": 42, "guest": 42, "share": 42, "17": 42, "dedup": 42, "revoc": 42, "binari": 42, "serial": 42, "static": 42, "ui": 42, "command": 42, "line": 42, "tool": 42, "detail": 42, "structur": 42, "python": 43, "librari": 43, "further": 44, "read": 44, "webclient": 45, "miniflar": 45, "deno": 45, "workerd": 45, "build": 45, "run": 45, "compil": 45, "cloudflar": [45, 46], "architectur": 46, "comput": 46, "b": 47, "app": 47, "guid": 47}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"This is a README": [[0, "this-is-a-readme"]], "JSLib Reference Manual": [[1, "jslib-reference-manual"], [40, "jslib-reference-manual"]], "Appendix A: Cryptography": [[2, "appendix-a-cryptography"]], "ECDH": [[2, "ecdh"]], "RSA": [[2, "rsa"]], "AES": [[2, "aes"]], "Table of contents": [[4, "table-of-contents"], [10, "table-of-contents"], [13, "table-of-contents"], [33, "table-of-contents"], [3, "table-of-contents"], [5, "table-of-contents"], [6, "table-of-contents"], [7, "table-of-contents"], [8, "table-of-contents"], [9, "table-of-contents"], [11, "table-of-contents"], [12, "table-of-contents"], [14, "table-of-contents"], [23, "table-of-contents"], [24, "table-of-contents"], [25, "table-of-contents"], [26, "table-of-contents"], [27, "table-of-contents"], [28, "table-of-contents"], [29, "table-of-contents"], [30, "table-of-contents"], [31, "table-of-contents"], [32, "table-of-contents"], [34, "table-of-contents"], [36, "table-of-contents"], [40, "table-of-contents"]], "Constructors": [[4, "constructors"], [4, "id1"], [10, "constructors"], [10, "id1"], [13, "constructors"], [13, "id1"], [3, "constructors"], [3, "id1"], [5, "constructors"], [5, "id1"], [6, "constructors"], [6, "id1"], [7, "constructors"], [7, "id1"], [8, "constructors"], [8, "id1"], [9, "constructors"], [9, "id1"], [11, "constructors"], [11, "id1"], [12, "constructors"], [12, "id1"], [14, "constructors"], [14, "id1"]], "Accessors": [[4, "accessors"], [4, "id2"], [13, "accessors"], [13, "id3"], [3, "accessors"], [3, "id4"], [5, "accessors"], [5, "id12"], [6, "accessors"], [6, "id12"], [8, "accessors"], [8, "id3"], [11, "accessors"], [11, "id3"], [12, "accessors"], [12, "id12"], [14, "accessors"], [14, "id2"]], "Methods": [[4, "methods"], [4, "id3"], [10, "methods"], [10, "id7"], [3, "methods"], [3, "id23"], [5, "methods"], [5, "id38"], [6, "methods"], [6, "id45"], [7, "methods"], [7, "id3"], [9, "methods"], [9, "id2"], [11, "methods"], [11, "id5"], [14, "methods"], [14, "id6"]], "constructor": [[4, "constructor"], [10, "constructor"], [13, "constructor"], [3, "constructor"], [5, "constructor"], [6, "constructor"], [7, "constructor"], [8, "constructor"], [9, "constructor"], [11, "constructor"], [12, "constructor"], [14, "constructor"]], "Parameters": [[4, "parameters"], [4, "id4"], [4, "id6"], [4, "id9"], [4, "id17"], [4, "id23"], [4, "id25"], [4, "id27"], [4, "id29"], [4, "id31"], [10, "parameters"], [10, "id8"], [13, "parameters"], [13, "id4"], [13, "id7"], [13, "id10"], [13, "id13"], [13, "id17"], [3, "parameters"], [3, "id24"], [3, "id26"], [3, "id29"], [3, "id37"], [3, "id43"], [3, "id45"], [3, "id47"], [3, "id49"], [3, "id51"], [3, "id53"], [5, "parameters"], [5, "id28"], [5, "id39"], [5, "id42"], [5, "id47"], [5, "id62"], [5, "id73"], [5, "id76"], [5, "id79"], [5, "id82"], [5, "id85"], [5, "id88"], [6, "parameters"], [6, "id20"], [6, "id32"], [6, "id34"], [6, "id46"], [6, "id49"], [6, "id54"], [6, "id69"], [6, "id80"], [6, "id83"], [6, "id86"], [6, "id89"], [6, "id92"], [6, "id95"], [7, "parameters"], [7, "id4"], [7, "id6"], [8, "parameters"], [9, "parameters"], [9, "id3"], [9, "id5"], [9, "id7"], [9, "id9"], [9, "id11"], [9, "id13"], [9, "id15"], [9, "id17"], [9, "id19"], [9, "id21"], [9, "id24"], [9, "id26"], [9, "id28"], [9, "id30"], [9, "id32"], [9, "id34"], [9, "id36"], [9, "id38"], [9, "id40"], [9, "id42"], [9, "id44"], [9, "id46"], [11, "parameters"], [12, "parameters"], [12, "id14"], [12, "id19"], [12, "id24"], [12, "id29"], [12, "id37"], [14, "parameters"], [14, "id7"], [14, "id9"], [40, "parameters"], [40, "id4"], [40, "id6"], [40, "id8"], [40, "id10"], [40, "id12"], [40, "id14"], [40, "id16"], [40, "id18"], [40, "id20"], [40, "id22"], [40, "id24"], [40, "id26"], [40, "id28"], [40, "id30"], [40, "id32"], [40, "id34"], [40, "id37"]], "Returns": [[4, "returns"], [4, "id5"], [4, "id7"], [4, "id8"], [4, "id10"], [4, "id11"], [4, "id12"], [4, "id13"], [4, "id14"], [4, "id15"], [4, "id16"], [4, "id18"], [4, "id19"], [4, "id20"], [4, "id21"], [4, "id22"], [4, "id24"], [4, "id26"], [4, "id28"], [4, "id30"], [4, "id32"], [10, "returns"], [10, "id9"], [13, "returns"], [13, "id5"], [13, "id6"], [13, "id8"], [13, "id9"], [13, "id11"], [13, "id12"], [13, "id14"], [13, "id15"], [13, "id16"], [13, "id18"], [3, "returns"], [3, "id6"], [3, "id7"], [3, "id8"], [3, "id9"], [3, "id11"], [3, "id13"], [3, "id15"], [3, "id16"], [3, "id18"], [3, "id20"], [3, "id22"], [3, "id25"], [3, "id27"], [3, "id28"], [3, "id30"], [3, "id31"], [3, "id32"], [3, "id33"], [3, "id34"], [3, "id35"], [3, "id36"], [3, "id38"], [3, "id39"], [3, "id40"], [3, "id41"], [3, "id42"], [3, "id44"], [3, "id46"], [3, "id48"], [3, "id50"], [3, "id52"], [3, "id54"], [5, "returns"], [5, "id14"], [5, "id16"], [5, "id18"], [5, "id20"], [5, "id22"], [5, "id24"], [5, "id26"], [5, "id29"], [5, "id30"], [5, "id32"], [5, "id34"], [5, "id36"], [5, "id40"], [5, "id43"], [5, "id45"], [5, "id48"], [5, "id50"], [5, "id52"], [5, "id54"], [5, "id56"], [5, "id58"], [5, "id60"], [5, "id63"], [5, "id65"], [5, "id67"], [5, "id69"], [5, "id71"], [5, "id74"], [5, "id77"], [5, "id80"], [5, "id83"], [5, "id86"], [5, "id89"], [6, "returns"], [6, "id14"], [6, "id16"], [6, "id18"], [6, "id21"], [6, "id22"], [6, "id23"], [6, "id25"], [6, "id27"], [6, "id29"], [6, "id31"], [6, "id33"], [6, "id35"], [6, "id36"], [6, "id38"], [6, "id40"], [6, "id42"], [6, "id44"], [6, "id47"], [6, "id50"], [6, "id52"], [6, "id55"], [6, "id57"], [6, "id59"], [6, "id61"], [6, "id63"], [6, "id65"], [6, "id67"], [6, "id70"], [6, "id72"], [6, "id74"], [6, "id76"], [6, "id78"], [6, "id81"], [6, "id84"], [6, "id87"], [6, "id90"], [6, "id93"], [6, "id96"], [7, "returns"], [7, "id5"], [7, "id7"], [8, "returns"], [8, "id4"], [8, "id5"], [8, "id6"], [8, "id7"], [8, "id8"], [8, "id9"], [9, "returns"], [9, "id4"], [9, "id6"], [9, "id8"], [9, "id10"], [9, "id12"], [9, "id14"], [9, "id16"], [9, "id18"], [9, "id20"], [9, "id22"], [9, "id23"], [9, "id25"], [9, "id27"], [9, "id29"], [9, "id31"], [9, "id33"], [9, "id35"], [9, "id37"], [9, "id39"], [9, "id41"], [9, "id43"], [9, "id45"], [9, "id47"], [11, "returns"], [11, "id4"], [11, "id6"], [12, "returns"], [12, "id15"], [12, "id17"], [12, "id20"], [12, "id22"], [12, "id25"], [12, "id27"], [12, "id30"], [12, "id33"], [12, "id35"], [12, "id38"], [14, "returns"], [14, "id3"], [14, "id4"], [14, "id5"], [14, "id8"], [14, "id10"], [40, "returns"], [40, "id5"], [40, "id7"], [40, "id9"], [40, "id11"], [40, "id13"], [40, "id15"], [40, "id17"], [40, "id19"], [40, "id21"], [40, "id23"], [40, "id25"], [40, "id27"], [40, "id29"], [40, "id31"], [40, "id33"], [40, "id35"], [40, "id36"], [40, "id38"]], "channelId": [[4, "channelid"], [3, "channelid"], [5, "channelid"], [6, "channelid"], [24, "channelid"], [32, "channelid"]], "acceptVisitor": [[4, "acceptvisitor"], [3, "acceptvisitor"], [5, "acceptvisitor"], [6, "acceptvisitor"]], "authorize": [[4, "authorize"], [3, "authorize"], [5, "authorize"], [6, "authorize"]], "budd": [[4, "budd"], [3, "budd"], [5, "budd"], [6, "budd"]], "downloadData": [[4, "downloaddata"], [3, "downloaddata"], [5, "downloaddata"], [6, "downloaddata"]], "getAdminData": [[4, "getadmindata"], [3, "getadmindata"], [5, "getadmindata"], [6, "getadmindata"]], "getCapacity": [[4, "getcapacity"], [3, "getcapacity"], [5, "getcapacity"], [6, "getcapacity"]], "getJoinRequests": [[4, "getjoinrequests"], [3, "getjoinrequests"], [5, "getjoinrequests"], [6, "getjoinrequests"]], "getLastMessageTimes": [[4, "getlastmessagetimes"], [3, "getlastmessagetimes"], [5, "getlastmessagetimes"], [6, "getlastmessagetimes"]], "getMother": [[4, "getmother"], [3, "getmother"], [5, "getmother"], [6, "getmother"]], "getOldMessages": [[4, "getoldmessages"], [3, "getoldmessages"], [5, "getoldmessages"], [6, "getoldmessages"]], "getStorageLimit": [[4, "getstoragelimit"], [3, "getstoragelimit"], [5, "getstoragelimit"], [6, "getstoragelimit"]], "isLocked": [[4, "islocked"], [3, "islocked"], [5, "islocked"], [6, "islocked"]], "lock": [[4, "lock"], [3, "lock"], [5, "lock"], [6, "lock"]], "ownerKeyRotation": [[4, "ownerkeyrotation"], [3, "ownerkeyrotation"], [5, "ownerkeyrotation"], [6, "ownerkeyrotation"]], "postPubKey": [[4, "postpubkey"], [3, "postpubkey"], [5, "postpubkey"], [6, "postpubkey"]], "setMOTD": [[4, "setmotd"], [3, "setmotd"], [5, "setmotd"], [6, "setmotd"]], "storageRequest": [[4, "storagerequest"], [3, "storagerequest"], [5, "storagerequest"], [6, "storagerequest"]], "updateCapacity": [[4, "updatecapacity"], [3, "updatecapacity"], [5, "updatecapacity"], [6, "updatecapacity"]], "uploadChannel": [[4, "uploadchannel"], [3, "uploadchannel"], [5, "uploadchannel"], [6, "uploadchannel"]], "Class: ChannelApi": [[4, "class-channelapi"]], "Hierarchy": [[10, "hierarchy"], [3, "hierarchy"], [5, "hierarchy"], [6, "hierarchy"], [8, "hierarchy"]], "Properties": [[10, "properties"], [10, "id2"], [13, "properties"], [13, "id2"], [33, "properties"], [33, "id1"], [3, "properties"], [3, "id2"], [5, "properties"], [5, "id2"], [6, "properties"], [6, "id2"], [7, "properties"], [7, "id2"], [8, "properties"], [8, "id2"], [11, "properties"], [11, "id2"], [12, "properties"], [12, "id2"], [23, "properties"], [23, "id1"], [24, "properties"], [24, "id1"], [25, "properties"], [25, "id1"], [26, "properties"], [26, "id1"], [27, "properties"], [27, "id1"], [28, "properties"], [28, "id1"], [29, "properties"], [29, "id1"], [30, "properties"], [30, "id1"], [31, "properties"], [31, "id1"], [32, "properties"], [32, "id1"], [34, "properties"], [34, "id1"], [36, "properties"], [36, "id1"]], "Overrides": [[10, "overrides"], [3, "overrides"], [3, "id21"], [5, "overrides"], [5, "id78"], [6, "overrides"], [6, "id8"], [6, "id85"]], "ready": [[10, "ready"], [3, "ready"], [5, "ready"], [6, "ready"], [8, "ready"], [11, "ready"], [27, "ready"]], "Inherited from": [[10, "inherited-from"], [10, "id3"], [10, "id4"], [10, "id5"], [10, "id6"], [10, "id10"], [3, "inherited-from"], [3, "id3"], [3, "id5"], [3, "id10"], [3, "id12"], [3, "id14"], [3, "id17"], [3, "id19"], [5, "inherited-from"], [5, "id3"], [5, "id4"], [5, "id5"], [5, "id6"], [5, "id7"], [5, "id8"], [5, "id9"], [5, "id10"], [5, "id11"], [5, "id13"], [5, "id15"], [5, "id17"], [5, "id19"], [5, "id21"], [5, "id23"], [5, "id25"], [5, "id27"], [5, "id31"], [5, "id33"], [5, "id35"], [5, "id37"], [5, "id41"], [5, "id44"], [5, "id46"], [5, "id49"], [5, "id51"], [5, "id53"], [5, "id55"], [5, "id57"], [5, "id59"], [5, "id61"], [5, "id64"], [5, "id66"], [5, "id68"], [5, "id70"], [5, "id72"], [5, "id75"], [5, "id81"], [5, "id84"], [5, "id87"], [5, "id90"], [6, "inherited-from"], [6, "id3"], [6, "id4"], [6, "id5"], [6, "id6"], [6, "id7"], [6, "id9"], [6, "id10"], [6, "id11"], [6, "id13"], [6, "id15"], [6, "id17"], [6, "id19"], [6, "id24"], [6, "id26"], [6, "id28"], [6, "id30"], [6, "id37"], [6, "id39"], [6, "id41"], [6, "id43"], [6, "id48"], [6, "id51"], [6, "id53"], [6, "id56"], [6, "id58"], [6, "id60"], [6, "id62"], [6, "id64"], [6, "id66"], [6, "id68"], [6, "id71"], [6, "id73"], [6, "id75"], [6, "id77"], [6, "id79"], [6, "id82"], [6, "id88"], [6, "id91"], [6, "id94"], [6, "id97"]], "send": [[10, "send"], [3, "send"], [5, "send"], [6, "send"], [11, "send"]], "Class: SBFile": [[10, "class-sbfile"]], "MAX_SB_BODY_SIZE": [[10, "max-sb-body-size"], [11, "max-sb-body-size"]], "[SB_MESSAGE_SYMBOL]": [[10, "sb-message-symbol"], [11, "sb-message-symbol"]], "channel": [[10, "channel"], [11, "channel"], [14, "channel"]], "contents": [[10, "contents"], [11, "contents"], [27, "contents"]], "data": [[10, "data"]], "image": [[10, "image"], [27, "image"]], "imageMetaData": [[10, "imagemetadata"], [27, "imagemetadata"]], "image_sign": [[10, "image-sign"], [27, "image-sign"]], "#asImage": [[10, "asimage"]], "actualSize": [[13, "actualsize"], [33, "actualsize"], [12, "actualsize"], [31, "actualsize"]], "dateAndTime": [[13, "dateandtime"], [33, "dateandtime"], [12, "dateandtime"], [31, "dateandtime"]], "fileName": [[13, "filename"], [33, "filename"], [12, "filename"], [31, "filename"]], "fileType": [[13, "filetype"], [33, "filetype"], [12, "filetype"], [31, "filetype"]], "iv": [[13, "iv"], [33, "iv"], [12, "iv"], [28, "iv"], [29, "iv"], [31, "iv"], [34, "iv"]], "lastModified": [[13, "lastmodified"], [33, "lastmodified"], [12, "lastmodified"], [31, "lastmodified"]], "salt": [[13, "salt"], [33, "salt"], [12, "salt"], [31, "salt"], [34, "salt"]], "savedSize": [[13, "savedsize"], [33, "savedsize"], [12, "savedsize"], [31, "savedsize"]], "shardServer": [[13, "shardserver"], [33, "shardserver"], [12, "shardserver"], [31, "shardserver"]], "version": [[13, "version"], [33, "version"], [12, "version"], [14, "version"], [31, "version"], [34, "version"], [40, "version"]], "id": [[13, "id"], [33, "id"], [12, "id"], [27, "id2"], [31, "id"], [34, "id"]], "id32": [[13, "id32"], [33, "id32"], [12, "id32"], [31, "id32"]], "key": [[13, "key"], [33, "key"], [12, "key"], [31, "key"], [32, "key"], [34, "key"]], "key32": [[13, "key32"], [33, "key32"], [12, "key32"], [31, "key32"]], "type": [[13, "type"], [33, "type"], [12, "type"], [27, "type"], [31, "type"], [34, "type"]], "verification": [[13, "verification"], [33, "verification"], [12, "verification"], [31, "verification"]], "Class: SBObjectHandleClass": [[13, "class-sbobjecthandleclass"]], "Contact and Feedback": [[15, "contact-and-feedback"]], "Sphinx Diagram Examples": [[16, "sphinx-diagram-examples"]], "Block/Seq/NW Diagrams": [[16, "block-seq-nw-diagrams"]], "Sequence Diagrams": [[16, "sequence-diagrams"], [37, "sequence-diagrams"]], "Block Diagrams": [[16, "block-diagrams"]], "ChatGPT": [[16, "chatgpt"]], "Graphviz": [[16, "graphviz"]], "Digraph": [[16, "digraph"]], "Process Graph": [[16, "process-graph"]], "Background and Discussion": [[17, "background-and-discussion"]], "Motivation": [[17, "motivation"], [41, "motivation"]], "Data Rights": [[17, "data-rights"]], "Open Source": [[17, "open-source"], [41, "open-source"]], "Interoperable": [[17, "interoperable"]], "Under participant control": [[17, "under-participant-control"]], "Vendor-independent": [[17, "vendor-independent"]], "Private": [[17, "private"]], "Secure": [[17, "secure"]], "Compatible with legal oversight": [[17, "compatible-with-legal-oversight"]], "Design Principles and Constraints": [[17, "design-principles-and-constraints"]], "Principles and Constraints": [[17, "principles-and-constraints"]], "Accountability": [[17, "accountability"]], "Design Decisions": [[17, "design-decisions"]], "Discussion Topics": [[17, "discussion-topics"]], "Deleting / Recording / \u201cAutodestruct\u201d Message Models": [[17, "deleting-recording-autodestruct-message-models"]], "The thing about \u201cTrust\u201d": [[17, "the-thing-about-trust"]], "What do we (and others) mean by End-to-End Encryption?": [[17, "what-do-we-and-others-mean-by-end-to-end-encryption"]], "The \u201cInsider\u201d Privacy Model": [[17, "the-insider-privacy-model"]], "Formal Treatment": [[18, "formal-treatment"]], "Photos and Files (Blobs)": [[18, "photos-and-files-blobs"]], "Future Design Directions": [[18, "future-design-directions"]], "Ledger": [[18, "ledger"]], "Rooms, Chats, Groups": [[18, "rooms-chats-groups"]], "Future Work": [[19, "future-work"]], "Curve25519 Support": [[19, "curve25519-support"]], "Verifying Room Integrity": [[19, "verifying-room-integrity"]], "Glossary": [[20, "glossary"]], "Installation": [[22, "installation"]], "Room Server": [[22, "room-server"]], "Setup (Personal Room Server)": [[22, "setup-personal-room-server"]], "Directory": [[22, "directory"]], "Storage Server": [[22, "storage-server"]], "Web Client": [[22, "web-client"]], "iOS Client": [[22, "ios-client"]], "Interface: SBObjectHandle": [[33, "interface-sbobjecthandle"], [31, "interface-sbobjecthandle"]], "[SB_OBJECT_HANDLE_SYMBOL]": [[33, "sb-object-handle-symbol"], [31, "sb-object-handle-symbol"], [34, "sb-object-handle-symbol"]], "Introduction": [[37, "introduction"]], "Message Types": [[37, "message-types"]], "Room Keys": [[37, "room-keys"]], "Basic Connection": [[37, "basic-connection"]], "JSLib User Manual": [[38, "jslib-user-manual"]], "Installation / Development": [[38, "installation-development"]], "SB384": [[38, "sb384"]], "Snackabra (Server) Class": [[38, "snackabra-server-class"]], "SB Message Class": [[38, "sb-message-class"]], "Channels": [[38, "channels"]], "Storage": [[38, "storage"], [46, "storage"]], "Utilities and Helpers": [[38, "utilities-and-helpers"]], "Crypto Class": [[38, "crypto-class"]], "Crypto Helpers": [[38, "crypto-helpers"]], "SB \u201cWire\u201d Format Helpers": [[38, "sb-wire-format-helpers"]], "SB-specific Helpers": [[38, "sb-specific-helpers"]], "Testing Related": [[38, "testing-related"]], "DN 004: The \u201cReady\u201d Pattern": [[38, "dn-004-the-ready-pattern"]], "DN 005: Browser connectivity": [[38, "dn-005-browser-connectivity"]], "DN 006: Localhost, CORS, and other fun things": [[38, "dn-006-localhost-cors-and-other-fun-things"]], "LICENSE": [[39, "license"]], "Zero Trust": [[41, "zero-trust"]], "Local-first software": [[41, "local-first-software"]], "Key Management": [[41, "key-management"]], "Data Sovereignty": [[41, "data-sovereignty"]], "Public Key Cryptography as Identity": [[41, "public-key-cryptography-as-identity"]], "Technical Overview": [[42, "technical-overview"]], "Rooms": [[42, "rooms"]], "Owner and Admin": [[42, "owner-and-admin"]], "Message of the Day": [[42, "message-of-the-day"]], "Whisper:": [[42, "whisper"]], "Signing:": [[42, "signing"]], "Restricting a room": [[42, "restricting-a-room"]], "Accepting a guest": [[42, "accepting-a-guest"]], "Owner Key Management": [[42, "owner-key-management"]], "Image (Photo) Sharing 17": [[42, "image-photo-sharing"]], "Image Dedup + Encryption + Storage:": [[42, "image-dedup-encryption-storage"]], "Storage Ledger Server": [[42, "storage-ledger-server"]], "Storage Revocation": [[42, "storage-revocation"]], "Group Security": [[42, "group-security"]], "Binary Serialized Format": [[42, "binary-serialized-format"]], "Static Room UI (\u201cLocal Client\u201d)": [[42, "static-room-ui-local-client"]], "Command Line Tools": [[42, "command-line-tools"]], "Rooms: Technical Details": [[42, "rooms-technical-details"]], "Room and User Keys": [[42, "room-and-user-keys"]], "Message Structure": [[42, "message-structure"]], "Python Library": [[43, "python-library"]], "References / Further Reading": [[44, "references-further-reading"]], "Snackabra Server": [[45, "snackabra-server"]], "Server Development": [[45, "server-development"]], "Ledger Key": [[45, "ledger-key"]], "Webclient": [[45, "webclient"]], "Install (miniflare)": [[45, "install-miniflare"]], "Install (deno)": [[45, "install-deno"]], "Install (workerd)": [[45, "install-workerd"]], "Build and Run (workerd)": [[45, "build-and-run-workerd"]], "Compile (workerd)": [[45, "compile-workerd"]], "Install (Cloudflare)": [[45, "install-cloudflare"]], "System Architecture": [[46, "system-architecture"]], "Computing": [[46, "computing"]], "Cloudflare": [[46, "cloudflare"]], "Appendix B: Privacy.App Chat Room User Guide": [[47, "appendix-b-privacy-app-chat-room-user-guide"]], "Class: Channel": [[3, "class-channel"]], "admin": [[3, "admin"], [5, "admin"], [6, "admin"]], "adminData": [[3, "admindata"], [5, "admindata"], [6, "admindata"]], "channelReady": [[3, "channelready"], [5, "channelready"], [6, "channelready"]], "locked": [[3, "locked"], [5, "locked"], [6, "locked"]], "motd": [[3, "motd"], [5, "motd"], [6, "motd"], [27, "motd"]], "owner": [[3, "owner"], [5, "owner"], [6, "owner"]], "sb384Ready": [[3, "sb384ready"], [5, "sb384ready"], [6, "sb384ready"], [8, "sb384ready"]], "userName": [[3, "username"], [5, "username"], [6, "username"]], "verifiedGuest": [[3, "verifiedguest"], [5, "verifiedguest"], [6, "verifiedguest"]], "_id": [[3, "id"], [5, "id"], [6, "id"], [8, "id"], [27, "id"]], "api": [[3, "api"], [5, "api"], [6, "api"]], "channelSignKey": [[3, "channelsignkey"], [5, "channelsignkey"], [6, "channelsignkey"]], "exportable_privateKey": [[3, "exportable-privatekey"], [5, "exportable-privatekey"], [6, "exportable-privatekey"], [8, "exportable-privatekey"]], "exportable_pubKey": [[3, "exportable-pubkey"], [5, "exportable-pubkey"], [6, "exportable-pubkey"], [8, "exportable-pubkey"]], "hash": [[3, "hash"], [5, "hash"], [6, "hash"], [8, "hash"]], "keys": [[3, "keys"], [5, "keys"], [6, "keys"], [27, "keys"]], "ownerChannelId": [[3, "ownerchannelid"], [5, "ownerchannelid"], [6, "ownerchannelid"], [8, "ownerchannelid"]], "privateKey": [[3, "privatekey"], [5, "privatekey"], [6, "privatekey"], [8, "privatekey"], [26, "privatekey"]], "readyFlag": [[3, "readyflag"], [5, "readyflag"], [6, "readyflag"], [8, "readyflag"]], "sbServer": [[3, "sbserver"], [5, "sbserver"], [6, "sbserver"]], "Class: ChannelEndpoint": [[5, "class-channelendpoint"]], "onMessage": [[5, "onmessage"], [6, "onmessage"]], "Class: ChannelSocket": [[6, "class-channelsocket"]], "channelSocketReady": [[6, "channelsocketready"]], "enableTrace": [[6, "enabletrace"]], "exportable_owner_pubKey": [[6, "exportable-owner-pubkey"]], "status": [[6, "status"]], "Class: MessageBus": [[7, "class-messagebus"]], "bus": [[7, "bus"]], "publish": [[7, "publish"]], "subscribe": [[7, "subscribe"]], "unsubscribe": [[7, "unsubscribe"]], "Class: SB384": [[8, "class-sb384"]], "Class: SBCrypto": [[9, "class-sbcrypto"]], "ab2str": [[9, "ab2str"]], "addKnownKey": [[9, "addknownkey"]], "channelKeyStringsToCryptoKeys": [[9, "channelkeystringstocryptokeys"]], "compareHashWithKey": [[9, "comparehashwithkey"]], "compareKeys": [[9, "comparekeys"]], "deriveKey": [[9, "derivekey"]], "encrypt": [[9, "encrypt"]], "exportKey": [[9, "exportkey"]], "extractPubKey": [[9, "extractpubkey"]], "generateIdKey": [[9, "generateidkey"]], "generateKeys": [[9, "generatekeys"]], "importKey": [[9, "importkey"]], "lookupKey": [[9, "lookupkey"]], "lookupKeyGlobal": [[9, "lookupkeyglobal"]], "sb384Hash": [[9, "sb384hash"]], "sign": [[9, "sign"], [27, "sign"]], "str2ab": [[9, "str2ab"]], "unwrap": [[9, "unwrap"]], "verify": [[9, "verify"]], "verifyChannelId": [[9, "verifychannelid"]], "wrap": [[9, "wrap"]], "Class: SBMessage": [[11, "class-sbmessage"]], "encryptionKey": [[11, "encryptionkey"], [24, "encryptionkey"], [25, "encryptionkey"], [26, "encryptionkey"]], "sendToPubKey": [[11, "sendtopubkey"]], "Class: SBObjectHandle": [[12, "class-sbobjecthandle"]], "Implements": [[12, "implements"]], "Implemented by": [[12, "implemented-by"]], "Implementation of": [[12, "implementation-of"], [12, "id3"], [12, "id4"], [12, "id5"], [12, "id6"], [12, "id7"], [12, "id8"], [12, "id9"], [12, "id10"], [12, "id11"], [12, "id13"], [12, "id16"], [12, "id18"], [12, "id21"], [12, "id23"], [12, "id26"], [12, "id28"], [12, "id31"], [12, "id34"], [12, "id36"], [12, "id39"]], "Class: Snackabra": [[14, "class-snackabra"]], "crypto": [[14, "crypto"]], "storage": [[14, "storage"]], "connect": [[14, "connect"]], "create": [[14, "create"]], "Snackabra": [[21, "snackabra"]], "Interface: ChannelAdminData": [[23, "interface-channeladmindata"]], "capacity": [[23, "capacity"]], "join_requests": [[23, "join-requests"]], "room_id": [[23, "room-id"]], "Interface: ChannelData": [[24, "interface-channeldata"]], "SERVER_SECRET": [[24, "server-secret"]], "motherChannel": [[24, "motherchannel"]], "ownerKey": [[24, "ownerkey"], [25, "ownerkey"], [26, "ownerkey"]], "roomId": [[24, "roomid"]], "signKey": [[24, "signkey"], [25, "signkey"], [26, "signkey"]], "size": [[24, "size"]], "Interface: ChannelKeyStrings": [[25, "interface-channelkeystrings"]], "error": [[25, "error"]], "guestKey": [[25, "guestkey"], [26, "guestkey"]], "lockedKey": [[25, "lockedkey"], [26, "lockedkey"]], "Interface: ChannelKeys": [[26, "interface-channelkeys"]], "ownerPubKeyX": [[26, "ownerpubkeyx"]], "publicSignKey": [[26, "publicsignkey"]], "Interface: ChannelMessage": [[27, "interface-channelmessage"]], "channelID": [[27, "channelid"]], "control": [[27, "control"]], "encrypted": [[27, "encrypted"]], "encrypted_contents": [[27, "encrypted-contents"]], "imageMetadata_sign": [[27, "imagemetadata-sign"]], "replyTo": [[27, "replyto"]], "roomLocked": [[27, "roomlocked"]], "sendTo": [[27, "sendto"]], "sender_pubKey": [[27, "sender-pubkey"]], "sender_username": [[27, "sender-username"]], "system": [[27, "system"]], "text": [[27, "text"]], "timestamp": [[27, "timestamp"]], "timestampPrefix": [[27, "timestampprefix"]], "user": [[27, "user"]], "Type declaration": [[27, "type-declaration"], [40, "type-declaration"]], "verificationToken": [[27, "verificationtoken"]], "whisper": [[27, "whisper"]], "whispered": [[27, "whispered"]], "Interface: EncryptedContents": [[28, "interface-encryptedcontents"]], "content": [[28, "content"], [29, "content"]], "Interface: EncryptedContentsBin": [[29, "interface-encryptedcontentsbin"]], "Interface: ImageMetaData": [[30, "interface-imagemetadata"]], "imageId": [[30, "imageid"]], "imageKey": [[30, "imagekey"]], "previewId": [[30, "previewid"]], "previewKey": [[30, "previewkey"]], "previewNonce": [[30, "previewnonce"]], "previewSalt": [[30, "previewsalt"]], "Interface: SBChannelHandle": [[32, "interface-sbchannelhandle"]], "server": [[32, "server"]], "Interface: SBObjectMetadata": [[34, "interface-sbobjectmetadata"]], "paddedBuffer": [[34, "paddedbuffer"]], "Interface: SBPayload": [[35, "interface-sbpayload"]], "Indexable": [[35, "indexable"]], "Interface: SBServer": [[36, "interface-sbserver"]], "channel_server": [[36, "channel-server"]], "channel_ws": [[36, "channel-ws"]], "shard_server": [[36, "shard-server"]], "storage_server": [[36, "storage-server"]], "Namespaces": [[40, "namespaces"]], "Classes": [[40, "classes"]], "Interfaces": [[40, "interfaces"]], "Type Aliases": [[40, "type-aliases"], [40, "id1"]], "Variables": [[40, "variables"], [40, "id2"]], "Functions": [[40, "functions"], [40, "id3"]], "ChannelMessageTypes": [[40, "channelmessagetypes"]], "SB384Hash": [[40, "sb384hash"]], "SBChannelId": [[40, "sbchannelid"]], "SBObjectType": [[40, "sbobjecttype"]], "SBUserId": [[40, "sbuserid"]], "SB": [[40, "sb"]], "sbCrypto": [[40, "sbcrypto"]], "arrayBuffer32ToBase62": [[40, "arraybuffer32tobase62"]], "arrayBufferToBase64": [[40, "arraybuffertobase64"]], "assemblePayload": [[40, "assemblepayload"]], "base62ToArrayBuffer32": [[40, "base62toarraybuffer32"]], "base62ToBase64": [[40, "base62tobase64"]], "base64ToArrayBuffer": [[40, "base64toarraybuffer"]], "base64ToBase62": [[40, "base64tobase62"]], "cleanBase32mi": [[40, "cleanbase32mi"]], "compareBuffers": [[40, "comparebuffers"]], "decodeB64Url": [[40, "decodeb64url"]], "encodeB64Url": [[40, "encodeb64url"]], "encryptedContentsMakeBinary": [[40, "encryptedcontentsmakebinary"]], "extractPayload": [[40, "extractpayload"]], "getRandomValues": [[40, "getrandomvalues"]], "isBase62Encoded": [[40, "isbase62encoded"]], "jsonParseWrapper": [[40, "jsonparsewrapper"]], "partition": [[40, "partition"]], "simpleRand256": [[40, "simplerand256"]], "simpleRandomString": [[40, "simplerandomstring"]]}, "indexentries": {}})