[{"data":1,"prerenderedAt":408},["ShallowReactive",2],{"navigation":3,"\u002Fplatforms\u002Foverview":116,"\u002Fplatforms\u002Foverview-surround":403},[4,27,61,82,112],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"Development","\u002Fgetting-started\u002Fdevelopment","1.getting-started\u002F4.development",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Guides","i-lucide-book-open","\u002Fguides","2.guides",[33,37,41,45,49,53,57],{"title":34,"path":35,"stem":36},"Sessions and store","\u002Fguides\u002Fsessions","2.guides\u002F1.sessions",{"title":38,"path":39,"stem":40},"Vault and procedures","\u002Fguides\u002Fvault","2.guides\u002F2.vault",{"title":42,"path":43,"stem":44},"Password accounts","\u002Fguides\u002Fpasswords","2.guides\u002F3.passwords",{"title":46,"path":47,"stem":48},"Rust backend","\u002Fguides\u002Frust","2.guides\u002F4.rust",{"title":50,"path":51,"stem":52},"Security notes","\u002Fguides\u002Fsecurity","2.guides\u002F5.security",{"title":54,"path":55,"stem":56},"Permissions","\u002Fguides\u002Fpermissions","2.guides\u002F6.permissions",{"title":58,"path":59,"stem":60},"Coming from Stronghold","\u002Fguides\u002Fstronghold","2.guides\u002F7.stronghold",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":26},"API reference","i-lucide-file-code","\u002Freference","3.reference",[67,71,75,79],{"title":68,"path":69,"stem":70},"JavaScript API","\u002Freference\u002Fjavascript-api","3.reference\u002F1.javascript-api",{"title":72,"path":73,"stem":74},"Types","\u002Freference\u002Ftypes","3.reference\u002F2.types",{"title":76,"path":77,"stem":78},"Tauri commands","\u002Freference\u002Fcommands","3.reference\u002F3.commands",{"title":54,"path":80,"stem":81},"\u002Freference\u002Fpermissions","3.reference\u002F4.permissions",{"title":83,"icon":84,"path":85,"stem":86,"children":87,"page":26},"Platforms","i-lucide-monitor-smartphone","\u002Fplatforms","4.platforms",[88,92,96,100,104,108],{"title":89,"path":90,"stem":91},"Overview","\u002Fplatforms\u002Foverview","4.platforms\u002F1.overview",{"title":93,"path":94,"stem":95},"macOS","\u002Fplatforms\u002Fmacos","4.platforms\u002F2.macos",{"title":97,"path":98,"stem":99},"Windows","\u002Fplatforms\u002Fwindows","4.platforms\u002F3.windows",{"title":101,"path":102,"stem":103},"Linux","\u002Fplatforms\u002Flinux","4.platforms\u002F4.linux",{"title":105,"path":106,"stem":107},"Android","\u002Fplatforms\u002Fandroid","4.platforms\u002F5.android",{"title":109,"path":110,"stem":111},"iOS","\u002Fplatforms\u002Fios","4.platforms\u002F6.ios",{"title":113,"path":114,"stem":115},"Changelog","\u002Fchangelog","9.changelog",{"id":117,"title":89,"body":118,"description":396,"extension":397,"generated":26,"links":398,"meta":399,"navigation":400,"path":90,"seo":401,"stem":91,"__hash__":402},"docs\u002F4.platforms\u002F1.overview.md",{"type":119,"value":120,"toc":389},"minimark",[121,136,239,242,247,276,280,380],[122,123,124,125,135],"p",{},"The plugin uses the native store of each platform through the official\n",[126,127,131],"a",{"href":128,"rel":129},"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fkeyring-core",[130],"nofollow",[132,133,134],"code",{},"keyring-core"," backend crates. There is no in-memory or file\nfallback: if the store is missing, calls fail.",[137,138,139,155],"table",{},[140,141,142],"thead",{},[143,144,145,149,152],"tr",{},[146,147,148],"th",{},"Platform",[146,150,151],{},"Store",[146,153,154],{},"Crate",[156,157,158,178,192,209,223],"tbody",{},[143,159,160,165,168],{},[161,162,163],"td",{},[126,164,93],{"href":94},[161,166,167],{},"Login Keychain",[161,169,170,173,174,177],{},[132,171,172],{},"apple-native-keyring-store"," (",[132,175,176],{},"keychain",")",[143,179,180,184,187],{},[161,181,182],{},[126,183,97],{"href":98},[161,185,186],{},"Credential Manager",[161,188,189],{},[132,190,191],{},"windows-native-keyring-store",[143,193,194,198,201],{},[161,195,196],{},[126,197,101],{"href":102},[161,199,200],{},"Secret Service over D-Bus (GNOME Keyring, KWallet, KeePassXC, …)",[161,202,203,173,206,177],{},[132,204,205],{},"dbus-secret-service-keyring-store",[132,207,208],{},"crypto-rust",[143,210,211,215,218],{},[161,212,213],{},[126,214,105],{"href":106},[161,216,217],{},"Android Keystore + SharedPreferences",[161,219,220],{},[132,221,222],{},"android-native-keyring-store",[143,224,225,229,232],{},[161,226,227],{},[126,228,109],{"href":110},[161,230,231],{},"Data-protection Keychain",[161,233,234,173,236,177],{},[132,235,172],{},[132,237,238],{},"protected",[122,240,241],{},"The store starts on the first call. If it fails to start (e.g. no D-Bus session yet), the error is\nnot cached: the next call after a 2-second pause tries again.",[243,244,246],"h2",{"id":245},"entries","Entries",[122,248,249,250,254,255,258,259,262,263,266,267,270,271,275],{},"Every entry has a ",[251,252,253],"strong",{},"service"," (your app identifier or the name set with ",[132,256,257],{},"Builder::service",") and an\n",[251,260,261],{},"account",": the name you pass to the ",[126,264,265],{"href":43},"password commands",", or a hashed ",[132,268,269],{},"kp:v1:…","\nname for ",[126,272,274],{"href":273},"\u002Fguides\u002Fsessions#how-names-become-entries","session records",". Byte values are stored as\nBase64 text.",[243,277,279],{"id":278},"differences","Differences",[137,281,282,298],{},[140,283,284],{},[143,285,286,288,290,292,294,296],{},[146,287],{},[146,289,93],{},[146,291,97],{},[146,293,101],{},[146,295,105],{},[146,297,109],{},[156,299,300,319,341,358],{},[143,301,302,305,308,313,315,317],{},[161,303,304],{},"Size limit",[161,306,307],{},"—",[161,309,310,311],{},"2560 bytes per secret, see ",[126,312,97],{"href":98},[161,314,307],{},[161,316,307],{},[161,318,307],{},[143,320,321,324,327,330,333,335],{},[161,322,323],{},"Can prompt the user",[161,325,326],{},"yes (access)",[161,328,329],{},"no",[161,331,332],{},"yes (unlock)",[161,334,329],{},[161,336,337,338],{},"with ",[132,339,340],{},"RequireUserPresence",[143,342,343,346,348,350,353,355],{},[161,344,345],{},"Needs extra setup",[161,347,329],{},[161,349,329],{},[161,351,352],{},"a running Secret Service",[161,354,329],{},[161,356,357],{},"a signed app",[143,359,360,363,365,367,370,372],{},[161,361,362],{},"Locked device",[161,364,307],{},[161,366,307],{},[161,368,369],{},"locked collection prompts",[161,371,307],{},[161,373,374,377,378],{},[132,375,376],{},"KeychainLocked",", see ",[126,379,109],{"href":110},[122,381,382,383,388],{},"Test on every platform you ship: the ",[126,384,387],{"href":385,"rel":386},"https:\u002F\u002Fgithub.com\u002Fs00d\u002Ftauri-plugin-keyring-store\u002Ftree\u002Fmain\u002Fexamples\u002Ftauri-app",[130],"example app","\nruns on all of them.",{"title":390,"searchDepth":391,"depth":392,"links":393},"",2,3,[394,395],{"id":245,"depth":391,"text":246},{"id":278,"depth":391,"text":279},"Which OS credential store each platform uses, and the limits that differ between them.","md",null,{},true,{"title":89,"description":396},"2X2zmNp1TwmKpV43iQ2qYSbMGURZ7jPp6I8LtNLsl6U",[404,406],{"title":54,"path":80,"stem":81,"description":405,"children":-1},"Every permission identifier of the plugin, generated from permissions\u002F.",{"title":93,"path":94,"stem":95,"description":407,"children":-1},"Login Keychain storage, prompts, and how entries look in Keychain Access.",1794215488498]