[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"navigation":3,"url-settings":86,"blog-\u002Fblog\u002Fhow-developers-are-using-offline-ai-tools-for-air-gapped-security":663,"blog-author-\u002Fblog\u002Fhow-developers-are-using-offline-ai-tools-for-air-gapped-security":1076,"i-material-symbols:arrow-back-rounded":1091},{"id":4,"extension":5,"footer":6,"header":73,"meta":83,"stem":84,"__hash__":85},"navigation\u002Fdata\u002Fshared\u002Fnavigation.yml","yml",{"brand":7,"columns":13,"legal":63},{"name":8,"tagline":9,"downloadCta":10},"Pieces","The memory layer for modern work.",{"label":11,"href":12},"All downloads","\u002Fdownloads",[14,26,39,51],{"title":15,"links":16},"Product",[17,20,23],{"label":18,"href":19},"Pieces Desktop","\u002F",{"label":21,"href":22},"Pieces Enterprise","\u002Fenterprise",{"label":24,"href":25},"Pieces MCP","\u002Fmcp",{"title":27,"links":28},"Resources",[29,33,36],{"label":30,"href":31,"external":32},"Documentation","url:docs.home",true,{"label":34,"href":35},"Blog","\u002Fblog",{"label":37,"href":38,"external":32},"GitHub","url:github.org",{"title":40,"links":41},"Community",[42,45,48],{"label":43,"href":44,"external":32},"Discord","url:social.discord",{"label":46,"href":47,"external":32},"X \u002F Twitter","url:social.x",{"label":49,"href":50,"external":32},"LinkedIn","url:social.linkedin",{"title":52,"links":53},"Company",[54,57,60],{"label":55,"href":56},"About","\u002Fabout",{"label":58,"href":59},"Updates","\u002Fupdates",{"label":61,"href":62},"Contact","\u002Fcontact",[64,67,70],{"label":65,"href":66},"Privacy Policy","\u002Flegal\u002Fprivacy",{"label":68,"href":69},"Refund Policy","\u002Flegal\u002Frefund",{"label":71,"href":72},"Terms of Service","\u002Flegal\u002Fterms",{"links":74,"signIn":75,"contact":78,"cta":80},[],{"label":76,"href":77},"Sign in","url:portal.home",{"label":79,"href":62},"Get in touch",{"label":81,"href":82},"Download","url:routes.downloads",{},"data\u002Fshared\u002Fnavigation","VdirGIa8cUm6xLprbBeTKcw914JfyJjWfF-9hSVOX5Y",{"id":87,"extension":5,"links":88,"meta":660,"stem":661,"__hash__":662},"urlSettings\u002Fdata\u002Fshared\u002Furls.yml",[89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,295,299,303,306,310,314,318,322,326,330,334,338,342,346,350,354,358,362,366,370,374,378,382,386,390,394,398,402,406,410,414,418,422,426,430,434,438,442,446,450,453,457,461,465,469,473,477,480,483,486,489,493,497,500,504,508,512,516,520,524,528,532,536,540,544,548,551,555,559,563,567,571,574,577,580,584,587,591,595,599,603,606,610,614,617,620,623,627,631,635,638,641,644,648,652,656],{"key":90,"label":91,"href":92},"downloads.desktop","Desktop download page","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fdownload",{"key":94,"label":95,"href":96},"downloads.macOS.dmgArm64","macOS DMG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fdmg-arm64\u002Fdownload",{"key":98,"label":99,"href":100},"downloads.macOS.dmgIntel","macOS DMG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fdmg\u002Fdownload",{"key":102,"label":103,"href":104},"downloads.macOS.pkg","macOS PKG","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg\u002Fdownload",{"key":106,"label":107,"href":108},"downloads.macOS.universal","Desktop macOS Universal","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fmacos-universal\u002Fdownload",{"key":110,"label":111,"href":112},"downloads.macOS.pkgArm64","Desktop macOS PKG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pfd-arm64\u002Fdownload",{"key":114,"label":115,"href":116},"downloads.macOS.pkgIntel","Desktop macOS PKG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pfd\u002Fdownload",{"key":118,"label":119,"href":120},"downloads.windows.appinstaller","Windows App Installer","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fappinstaller\u002Fpieces_for_x.appinstaller",{"key":122,"label":123,"href":124},"downloads.windows.exe","Windows EXE","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fwindows-exe\u002Fdownload",{"key":126,"label":127,"href":128},"downloads.windows.msix","Windows MSIX","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fwindows-msix\u002Fdownload",{"key":130,"label":131,"href":132},"downloads.windows.suiteManager","Windows Suite Manager","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_suite_windows\u002Fappinstaller\u002Fdownload",{"key":134,"label":135,"href":136},"downloads.linux.flatpakRepo","Linux Flatpak repository","https:\u002F\u002Fbuilds.pieces.app\u002Fpieces-flatpak-repo\u002Fpieces-flatpak.flatpakrepo",{"key":138,"label":139,"href":140},"downloads.linux.snapDesktop","Linux Snap Desktop","https:\u002F\u002Fsnapcraft.io\u002Fpieces-for-developers",{"key":142,"label":143,"href":144},"downloads.linux.snapPiecesOS","Linux Snap PiecesOS","https:\u002F\u002Fsnapcraft.io\u002Fpieces-os",{"key":146,"label":147,"href":148},"downloads.linux.snap","Desktop Linux Snap package","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fsnap\u002Fdownload",{"key":150,"label":151,"href":152},"downloads.piecesOS.macOS.dmgArm64","PiecesOS macOS DMG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fdmg-arm64\u002Fdownload",{"key":154,"label":155,"href":156},"downloads.piecesOS.macOS.dmgIntel","PiecesOS macOS DMG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fdmg\u002Fdownload",{"key":158,"label":159,"href":160},"downloads.piecesOS.macOS.universal","PiecesOS macOS Universal","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fmacos-universal\u002Fdownload",{"key":162,"label":163,"href":164},"downloads.piecesOS.macOS.pkgArm64","PiecesOS macOS PKG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pos-launch-only-arm64\u002Fdownload",{"key":166,"label":167,"href":168},"downloads.piecesOS.macOS.pkgIntel","PiecesOS macOS PKG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pos-launch-only\u002Fdownload",{"key":170,"label":171,"href":172},"downloads.piecesOS.windows.appinstaller","PiecesOS Windows App Installer","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fappinstaller\u002Fos_server.appinstaller",{"key":174,"label":175,"href":176},"downloads.piecesOS.windows.exe","PiecesOS Windows EXE","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fwindows-exe\u002Fdownload",{"key":178,"label":179,"href":180},"downloads.piecesOS.windows.msix","PiecesOS Windows MSIX","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fwindows-msix\u002Fdownload",{"key":182,"label":183,"href":184},"downloads.piecesOS.linux.snap","PiecesOS Linux Snap package","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fsnap\u002Fdownload",{"key":186,"label":187,"href":188},"downloads.combined.macOS.appleSilicon","Combined macOS installer Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-arm64\u002Fdownload",{"key":190,"label":191,"href":104},"downloads.combined.macOS.intel","Combined macOS installer Intel",{"key":193,"label":194,"href":195},"downloads.guides.macOS","macOS installation guide","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Fmacos-installation-guide",{"key":197,"label":198,"href":199},"downloads.guides.windows","Windows installation guide","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Fwindows-installation-guide",{"key":201,"label":202,"href":203},"downloads.guides.linux","Linux installation guide","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Flinux-installation-guide",{"key":205,"label":206,"href":207},"downloads.guides.piecesOS","PiecesOS manual installation","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os\u002Fmanual-installation",{"key":209,"label":210,"href":211},"extensions.chrome","Chrome extension","https:\u002F\u002Fchrome.google.com\u002Fwebstore\u002Fdetail\u002Fpieces-save-code-snippets\u002Figbgibhbfonhmjlechmeefimncpekepm",{"key":213,"label":214,"href":215},"extensions.firefox","Firefox add-on","https:\u002F\u002Faddons.mozilla.org\u002Fen-US\u002Ffirefox\u002Faddon\u002Fpieces-save-code-from-the-web\u002F",{"key":217,"label":218,"href":219},"extensions.edge","Edge add-on","https:\u002F\u002Fmicrosoftedge.microsoft.com\u002Faddons\u002Fdetail\u002Fpieces-save-code-snippet\u002Fhglfimcdgonaeeobjckfdabcldfidmim",{"key":221,"label":222,"href":223},"extensions.vscode","VS Code extension","https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=MeshIntelligentTechnologiesInc.pieces-vscode",{"key":225,"label":226,"href":227},"extensions.visualStudio","Visual Studio extension","https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=MeshIntelligentTechnologiesInc.PiecesVisualStudio",{"key":229,"label":230,"href":231},"extensions.jetbrains","JetBrains plugin","https:\u002F\u002Fplugins.jetbrains.com\u002Fplugin\u002F17328-pieces--save-search-share--reuse-code-snippets",{"key":233,"label":234,"href":235},"extensions.obsidian","Obsidian plugin","https:\u002F\u002Fobsidian.md\u002Fplugins?id=pieces-for-developers",{"key":237,"label":238,"href":239},"extensions.sublime","Sublime package","https:\u002F\u002Fpackagecontrol.io\u002Fpackages\u002FPieces",{"key":241,"label":242,"href":243},"extensions.neovim","Neovim plugin","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fplugin_neo_vim",{"key":245,"label":246,"href":247},"extensions.jupyterlab","JupyterLab plugin","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fjupyterlab-pieces",{"key":249,"label":250,"href":251},"extensions.cli","Pieces CLI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fpieces-cli\u002F",{"key":253,"label":254,"href":255},"docs.home","Documentation home","https:\u002F\u002Fdocs.pieces.app",{"key":257,"label":258,"href":259},"docs.getStarted","Get started docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces",{"key":261,"label":262,"href":263},"docs.api","API docs","https:\u002F\u002Fdocs.pieces.app\u002Fapi",{"key":265,"label":266,"href":267},"docs.desktop.overview","Desktop overview","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop",{"key":269,"label":270,"href":271},"docs.desktop.onboarding","Desktop onboarding","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fonboarding",{"key":273,"label":274,"href":275},"docs.desktop.timeline","Desktop timeline docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Ftimeline",{"key":277,"label":278,"href":279},"docs.desktop.summaries","Desktop summaries docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fsingle-click-summaries",{"key":281,"label":282,"href":283},"docs.desktop.search","Desktop conversational search docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fconversational-search",{"key":285,"label":286,"href":287},"docs.desktop.drive","Desktop drive docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fdrive",{"key":289,"label":290,"href":291},"docs.desktop.account","Desktop account settings docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fconfiguration\u002Faccount",{"key":293,"label":294,"href":92},"docs.desktop.download","Desktop download docs",{"key":296,"label":297,"href":298},"docs.piecesOS.overview","PiecesOS overview docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies",{"key":300,"label":301,"href":302},"docs.piecesOS.details","PiecesOS details docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os",{"key":304,"label":305,"href":207},"docs.piecesOS.install","PiecesOS install docs",{"key":307,"label":308,"href":309},"docs.piecesOS.quickMenu","PiecesOS quick menu docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os\u002Fquick-menu",{"key":311,"label":312,"href":313},"docs.piecesOS.storage","On-device storage docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fon-device-storage",{"key":315,"label":316,"href":317},"docs.piecesOS.troubleshooting","PiecesOS troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os\u002Ftroubleshooting",{"key":319,"label":320,"href":321},"docs.mcp.overview","MCP overview docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp",{"key":323,"label":324,"href":325},"docs.mcp.cursor","MCP Cursor docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fcursor",{"key":327,"label":328,"href":329},"docs.mcp.vscode","MCP VS Code docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fvs-code",{"key":331,"label":332,"href":333},"docs.mcp.claudeDesktop","MCP Claude Desktop docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fclaude-desktop",{"key":335,"label":336,"href":337},"docs.mcp.claudeCode","MCP Claude Code docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fclaude-code",{"key":339,"label":340,"href":341},"docs.mcp.claudeCowork","MCP Claude Cowork docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fclaude-cowork",{"key":343,"label":344,"href":345},"docs.mcp.githubCopilot","MCP GitHub Copilot docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fgithub-copilot",{"key":347,"label":348,"href":349},"docs.mcp.goose","MCP Goose docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fgoose",{"key":351,"label":352,"href":353},"docs.mcp.windsurf","MCP Windsurf docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fwindsurf",{"key":355,"label":356,"href":357},"docs.mcp.zed","MCP Zed docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fzed",{"key":359,"label":360,"href":361},"docs.mcp.jetbrains","MCP JetBrains docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fjetbrains-ides",{"key":363,"label":364,"href":365},"docs.mcp.continueDev","MCP Continue docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fcontinue-dev",{"key":367,"label":368,"href":369},"docs.mcp.cline","MCP Cline docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fcline",{"key":371,"label":372,"href":373},"docs.mcp.raycast","MCP Raycast docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fraycast",{"key":375,"label":376,"href":377},"docs.mcp.rovoDevCli","MCP Rovo Dev CLI docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Frovo-dev-cli",{"key":379,"label":380,"href":381},"docs.mcp.openaiCodexCli","MCP OpenAI Codex CLI docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fopenai-codex-cli",{"key":383,"label":384,"href":385},"docs.mcp.googleGeminiCli","MCP Google Gemini CLI docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fgoogle-gemini-cli",{"key":387,"label":388,"href":389},"docs.mcp.amazonQ","MCP Amazon Q docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Famazon-q-developer",{"key":391,"label":392,"href":393},"docs.mcp.chatgptDev","MCP ChatGPT Developer Mode docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fchatgpt-developer-mode",{"key":395,"label":396,"href":397},"docs.mcp.openclaw","MCP OpenClaw docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fopenclaw",{"key":399,"label":400,"href":401},"docs.mcp.mcpRemote","MCP Remote docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fmcp-remote",{"key":403,"label":404,"href":405},"docs.mcp.ngrok","MCP ngrok docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fngrok-setup",{"key":407,"label":408,"href":409},"docs.troubleshooting.macOS","macOS troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Ftroubleshooting\u002Fmacos",{"key":411,"label":412,"href":413},"docs.troubleshooting.windows","Windows troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Ftroubleshooting\u002Fwindows",{"key":415,"label":416,"href":417},"docs.troubleshooting.linux","Linux troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Ftroubleshooting\u002Flinux",{"key":419,"label":420,"href":421},"docs.privacy","Privacy and security docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fprivacy-security-your-data",{"key":423,"label":424,"href":425},"docs.support","Support docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fsupport",{"key":427,"label":428,"href":429},"portal.home","Pieces portal","https:\u002F\u002Fportal.pieces.app",{"key":431,"label":432,"href":433},"site.home","Website home","https:\u002F\u002Fpieces.app",{"key":435,"label":436,"href":437},"site.about","About page","https:\u002F\u002Fpieces.app\u002Fabout",{"key":439,"label":440,"href":441},"site.features","Features page","https:\u002F\u002Fpieces.app\u002Ffeatures",{"key":443,"label":444,"href":445},"site.plugins","Plugins page","https:\u002F\u002Fpieces.app\u002Fplugins",{"key":447,"label":448,"href":449},"site.contact","Contact page","https:\u002F\u002Fpieces.app\u002Fcontact",{"key":451,"label":58,"href":452},"site.updates","https:\u002F\u002Fpieces.app\u002Fupdates",{"key":454,"label":455,"href":456},"site.news","News","https:\u002F\u002Fpieces.app\u002Fnews",{"key":458,"label":459,"href":460},"site.events","Community events","https:\u002F\u002Fpieces.app\u002Fcommunity\u002Fevents",{"key":462,"label":463,"href":464},"site.userStories","User stories","https:\u002F\u002Fpieces.app\u002Fuser-stories",{"key":466,"label":467,"href":468},"site.academy","Academy","https:\u002F\u002Fpieces.app\u002Flearn\u002Facademy",{"key":470,"label":471,"href":472},"site.support","Website support","https:\u002F\u002Fpieces.app\u002Fsupport",{"key":474,"label":475,"href":476},"site.standup","Standup","https:\u002F\u002Fpieces.app\u002Fstandup",{"key":478,"label":34,"href":479},"site.blog","https:\u002F\u002Fcode.pieces.app\u002Fblog",{"key":481,"label":43,"href":482},"social.discord","https:\u002F\u002Fdiscord.gg\u002Fgetpieces",{"key":484,"label":46,"href":485},"social.x","https:\u002F\u002Fx.com\u002Fgetpieces",{"key":487,"label":488,"href":485},"social.twitter","Twitter",{"key":490,"label":491,"href":492},"social.instagram","Instagram","https:\u002F\u002Fwww.instagram.com\u002Fgetpieces\u002F",{"key":494,"label":495,"href":496},"social.tiktok","TikTok","https:\u002F\u002Fwww.tiktok.com\u002F@getpieces",{"key":498,"label":49,"href":499},"social.linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fgetpieces\u002F",{"key":501,"label":502,"href":503},"social.youtube","YouTube","https:\u002F\u002Fyoutube.com\u002F@getpieces",{"key":505,"label":506,"href":507},"github.org","GitHub organization","https:\u002F\u002Fgithub.com\u002Fpieces-app",{"key":509,"label":510,"href":511},"github.support","GitHub support","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fsupport",{"key":513,"label":514,"href":515},"github.issues","GitHub issues","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fsupport\u002Fissues",{"key":517,"label":518,"href":519},"github.discussions","GitHub discussions","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fsupport\u002Fdiscussions",{"key":521,"label":522,"href":523},"github.documentation","GitHub documentation","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fdocumentation",{"key":525,"label":526,"href":527},"github.opensource","GitHub open source","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fopensource",{"key":529,"label":530,"href":531},"github.sdks.python","Python SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-python",{"key":533,"label":534,"href":535},"github.sdks.typescript","TypeScript SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-typescript",{"key":537,"label":538,"href":539},"github.sdks.dart","Dart SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-dart",{"key":541,"label":542,"href":543},"github.sdks.kotlin","Kotlin SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-kotlin",{"key":545,"label":546,"href":547},"github.plugins.obsidian","Obsidian plugin repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fobsidian-pieces",{"key":549,"label":550,"href":247},"github.plugins.jupyterlab","JupyterLab plugin repository",{"key":552,"label":553,"href":554},"github.plugins.sublime","Sublime plugin repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fplugin_sublime",{"key":556,"label":557,"href":558},"github.plugins.neovim","Neovim plugin repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fplugin_neovim",{"key":560,"label":561,"href":562},"github.cliAgent","CLI agent repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fcli-agent",{"key":564,"label":565,"href":566},"github.mcpDart","MCP Dart repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fmcp_dart",{"key":568,"label":569,"href":570},"github.awesomePieces","Awesome Pieces repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fawesome-pieces",{"key":572,"label":573,"href":66},"legal.privacyPolicy","Privacy policy",{"key":575,"label":576,"href":69},"legal.refundPolicy","Refund policy",{"key":578,"label":579,"href":72},"legal.terms","Terms",{"key":581,"label":582,"href":583},"legal.security","Legal security","https:\u002F\u002Fpieces.app\u002Flegal\u002Fsecurity",{"key":585,"label":586,"href":503},"videos.youtubeChannel","YouTube channel",{"key":588,"label":589,"href":590},"videos.gettingStartedDesktop","Getting started desktop video","https:\u002F\u002Fyoutu.be\u002FdUr1lRM_TYk",{"key":592,"label":593,"href":594},"videos.snippetDiscoveryxR","Snippet discovery video","https:\u002F\u002Fyoutu.be\u002FG6vb1USw-30",{"key":596,"label":597,"href":598},"sales.bookACall","Book a sales call","https:\u002F\u002Fcalendar.app.google\u002FWVUDtUfNy5Vst3sH7",{"key":600,"label":601,"href":602},"sales.enterprise","Enterprise form","https:\u002F\u002Fgetpieces.typeform.com\u002Fto\u002FaVQFTvpE",{"key":604,"label":605,"href":519},"sales.feedback","Feedback discussions",{"key":607,"label":608,"href":609},"sales.earlyAccess","Early access form","https:\u002F\u002Fgetpieces.typeform.com\u002Fearlyaccess",{"key":611,"label":612,"href":613},"sales.supportEmail","Support email","mailto:support@pieces.app",{"key":615,"label":616,"href":19},"routes.home","Home route",{"key":618,"label":619,"href":56},"routes.about","About route",{"key":621,"label":622,"href":12},"routes.downloads","Downloads route",{"key":624,"label":625,"href":626},"routes.thanks","Post-install thanks route","\u002Finstall\u002Fthanks",{"key":628,"label":629,"href":630},"routes.pricing","Pricing route","\u002Fpricing",{"key":632,"label":633,"href":634},"cta.freeTrial","Start free trial CTA (Pieces Pro) — used by \u002Fcampaigns\u002F* landing pages","https:\u002F\u002Fcampaigns.pieces.app\u002F",{"key":636,"label":637,"href":22},"routes.enterprise","Enterprise route",{"key":639,"label":640,"href":62},"routes.contact","Contact route",{"key":642,"label":643,"href":59},"routes.updates","Updates route",{"key":645,"label":646,"href":647},"routes.migrationError","Migration error route","\u002Fmigration\u002Ferror",{"key":649,"label":650,"href":651},"routes.authenticated","Post-login authenticated route","\u002Fauth\u002Fsigned-in",{"key":653,"label":654,"href":655},"routes.signed-out","Signed out route","\u002Fauth\u002Fsigned-out",{"key":657,"label":658,"href":659},"routes.authentication-error","Authentication error route","\u002Fauth\u002Ferror",{},"data\u002Fshared\u002Furls","NLkVE1lIUws518K-1QsSB6T-GvlXYIzcRL1HDhqarGQ",{"id":664,"title":665,"author":666,"authorPhoto":667,"authorPhotoAlt":668,"authorSlug":669,"body":670,"buttonText":668,"buttonUrl":668,"category":1065,"date":1066,"description":1067,"draft":1068,"editorsPick":1068,"extension":1069,"featured":1068,"image":1070,"imageAlt":668,"meta":1071,"navigation":32,"ogImage":668,"ogImageAlt":668,"path":1072,"seo":1073,"stem":1074,"tags":668,"__hash__":1075},"blog\u002Fblog\u002Fhow-developers-are-using-offline-ai-tools-for-air-gapped-security.md","How Developers are Using Offline AI Tools for Air-Gapped Security","Abara Vivian","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fadvanced-git-strategies-for-developers\u002Fauthor.jpeg",null,"abara-vivian",{"type":671,"value":672,"toc":1049},"minimark",[673,685,694,699,708,714,723,739,747,756,770,779,782,786,801,806,809,848,851,855,858,861,865,868,871,875,878,883,886,894,908,927,936,940,948,951,954,958,961,1006,1010,1030,1034],[674,675,676,677,684],"p",{},"Artificial Intelligence has experienced a remarkable surge recently, marked by the emergence of platforms such as OpenAI's ChatGPT, Google Bard, and others. It is no surprise, these platforms have gained significant attention, captivating billions of users worldwide. In a 2023 survey sponsored by GitHub, it was found that 92% of developers are already using ",[678,679,683],"a",{"href":680,"rel":681},"https:\u002F\u002Fpieces.app\u002Fblog\u002Ftop-10-ai-tools-for-developers",[682],"nofollow","AI tools for development",".",[674,686,687,688,693],{},"AI assists developers by automating tasks, improving code quality through bug detection and optimization, enhancing collaboration, and providing personalized development experiences\u002F While we can say that AI makes our lives as developers easier, we also need to consider the data and ",[678,689,692],{"href":690,"rel":691},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fcode-security-best-practices-protecting-projects-when-using-ai",[682],"code security"," issues with these cloud-based models.",[695,696,698],"h2",{"id":697},"code-and-data-security-concerns-regarding-cloud-based-models","Code and Data Security Concerns Regarding Cloud-Based Models",[674,700,701,702,707],{},"ChatGPT, developed by OpenAI, is an example of a cloud-based model. Instead of running on an individual's computer, ChatGPT operates on powerful servers hosted on the cloud. Users interact with the model via the ",[678,703,706],{"href":704,"rel":705},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fguide-to-chatgpt-api-implementation-for-developers",[682],"ChatGPT API"," (Application Programming Interface) over the internet. When a user sends a prompt or query, it is transmitted to the cloud servers where the model processes the input, generates a response, and sends it back to the user.",[674,709,710],{},[711,712,713],"strong",{},"Unfortunately, using cloud-based models like ChatGPT endangers your data and code privacy as a developer.",[674,715,716,717,722],{},"According to the Open AI ",[678,718,721],{"href":719,"rel":720},"https:\u002F\u002Fopenai.com\u002Fpolicies\u002Fprivacy-policy",[682],"privacy policy",", collected data includes a long list, but these two are our strongest concerns in this article:",[724,725,726,733],"ul",{},[727,728,729,732],"li",{},[711,730,731],{},"Usage data",": This includes how you use and engage with the service. Your software version, connection information, and so on.",[727,734,735,738],{},[711,736,737],{},"User content",": Every conversation that you have with ChatGPT is stored by Open AI.",[674,740,741,746],{},[678,742,745],{"href":743,"rel":744},"https:\u002F\u002Fhelp.openai.com\u002Fen\u002Farticles\u002F5722486-how-your-data-is-used-to-improve-model-performance",[682],"Open AI says that ChatGPT is also trained using data it receives",", including potentially sensitive code, data confidential to your company, or intellectual property that you may wish to keep private. There is a possibility that ChatGPT could potentially share such information with vendors, service providers, legal entities, and so on upon request, unless users opt out of sharing personal information. But then how does it define ‘personal’? Is it a risk worth taking?",[674,748,749,750,755],{},"In a recent occurrence, ",[678,751,754],{"href":752,"rel":753},"https:\u002F\u002Fwww.engadget.com\u002Fthree-samsung-employees-reportedly-leaked-sensitive-data-to-chatgpt-190221114.html",[682],"three Samsung employees leaked sensitive data to ChatGPT",". Consider the significant repercussions a major company could encounter by entrusting sensitive information to a model that isn’t air-gapped. Samsung has allegedly restricted the usage of ChatGPT on company devices to the bare minimum, and is working on building its own chatbot to minimize these risks. Other companies like Amazon, Verizon, and JP Morgan have also restricted the use of ChatGPT in their daily operations due to security concerns.",[674,757,758,759,763,764,769],{},"An earlier incident occurred when individuals on social media platforms such as ",[678,760,488],{"href":761,"rel":762},"https:\u002F\u002Ftwitter.com\u002Fiamvarung\u002Fstatus\u002F1637849552941375488",[682]," and ",[678,765,768],{"href":766,"rel":767},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002FChatGPT\u002Fcomments\u002F11wkw5z\u002Fhas_chatgpt_or_me_been_hacked_ive_never_had_these\u002F",[682],"Reddit"," reported instances of viewing chat histories that did not belong to them. These occurrences raised significant concerns regarding the sharing of sensitive data with cloud-based models.",[674,771,772,773,778],{},"Even as recent as Tuesday, ",[678,774,777],{"href":775,"rel":776},"https:\u002F\u002Fwww.businessinsider.com\u002Fchatgpt-ai-refuse-to-respond-prompt-asking-repeat-word-forever-2023-12",[682],"ChatGPT was found to have revealed"," a real email address and phone number after researchers asked it to repeat the word \"poem\" forever.\"",[674,780,781],{},"Think about your chat history showing up on someone else's device, along with a sensitive code or important company info. Sounds risky, doesn't it? Italy, France, and Spain have also expressed their concerns regarding data privacy issues. So is the problem with this particular set of models? Or are all cloud-based LLMs at risk?",[695,783,785],{"id":784},"introducing-offline-ai-as-a-solution","Introducing Offline AI as a Solution",[674,787,788,789,794,795,800],{},"Offline AI, also known as ",[678,790,793],{"href":791,"rel":792},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fthe-importance-of-on-device-ai-for-developer-productivity",[682],"on-device AI"," or ",[678,796,799],{"href":797,"rel":798},"https:\u002F\u002Fpieces.app\u002Fblog\u002Flocal-large-language-models-lllms-and-copilot-integrations",[682],"Local LLMs (LLLMs)",", refers to artificial intelligence systems that operate locally on a device without the need for a continuous internet connection. Unlike cloud-based AI models that require internet access to process data on remote servers, offline AI tools function independently on the device where it is installed.",[802,803,805],"h3",{"id":804},"what-are-the-challenges-of-cloud-based-models","What are the Challenges of Cloud-Based Models?",[674,807,808],{},"The need for solutions beyond cloud-based models in terms of data and code privacy arise from several critical considerations:",[810,811,812,824,830,836,842],"ol",{},[727,813,814,817,818,823],{},[711,815,816],{},"Enhanced Security:"," Cloud-based models involve transmitting data to external servers for processing, which raises security concerns. Storing and processing sensitive information locally, as in on-device solutions, can significantly reduce the risk of unauthorized access and potential data breaches. Understand the ",[678,819,822],{"href":820,"rel":821},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fguidelines-to-secure-ai-from-design-to-maintenance",[682],"guidelines to secure AI"," from design to maintenance.",[727,825,826,829],{},[711,827,828],{},"Regulatory Compliance",": Different regions and industries have varying data protection regulations. Some regulatory frameworks require certain data to be stored and processed within specific geographic boundaries. On-device solutions provide a way to comply with these regulations without relying on external cloud infrastructure.",[727,831,832,835],{},[711,833,834],{},"User Privacy and Control",": Storing and processing data locally gives users more control over their information. With on-device solutions, users can have increased confidence that their data remains on their own devices, addressing concerns related to privacy and the potential misuse of personal information.",[727,837,838,841],{},[711,839,840],{},"Protection of Intellectual Property",": For organizations dealing with proprietary code and intellectual property, on-device solutions provide an additional layer of protection. Keeping sensitive code and algorithms within the organization's control helps mitigate the risk of unauthorized access or intellectual property theft.",[727,843,844,847],{},[711,845,846],{},"Customization and Adaptability",": On-device solutions offer more flexibility for customization. Organizations can tailor models and algorithms to specific needs without relying on third-party cloud services, allowing for greater adaptability to unique requirements and use cases.",[674,849,850],{},"Solutions beyond cloud-based models are essential to address diverse needs related to security, compliance, user privacy, and operational efficiency, providing organizations with more comprehensive options to protect sensitive data and code.",[802,852,854],{"id":853},"how-do-offline-ai-tools-solve-code-security-issues","How Do Offline AI Tools Solve Code Security Issues?",[674,856,857],{},"Using AI offline resolves code and data privacy concerns by prioritizing local processing on the user's device, mitigating the need for external data transmission and dependence on cloud-based services. This approach ensures that sensitive code and data remain within the confines of the device, minimizing the risk of unauthorized access during data transmission.",[674,859,860],{},"With limited exposure to external networks, offline AI software enhances overall security, grants users greater control over their data, and aids in compliance with data protection regulations.",[695,862,864],{"id":863},"introducing-pieces-as-a-solution-for-code-security","Introducing Pieces as a Solution for Code Security",[674,866,867],{},"In the tech space driven by data and code privacy concerns, we recognize the need for a robust solution that operates independently on developers' devices. Our free offline AI features tackle these issues head-on by ensuring local processing, reducing exposure to external networks, and fostering greater control over sensitive code and data.",[674,869,870],{},"Elevate your development workflow with Pieces for Developers, where innovation meets security, providing a seamless and private coding experience for developers.",[802,872,874],{"id":873},"how-does-pieces-achieve-this","How does Pieces achieve this?",[674,876,877],{},"Pieces has some technologies and infrastructure that enable offline AI functionality, and we are going to look at the most important factors that you should know about.",[879,880,882],"h4",{"id":881},"local-large-language-models","Local Large Language Models",[674,884,885],{},"Large language models are artificial intelligence models trained on a vast amount of data and parameters to enable natural language processing. Local large language models are ones that, despite robust complexity similar to other popular large language models, can operate within a local environment.",[674,887,888,893],{},[678,889,892],{"href":890,"rel":891},"https:\u002F\u002Farstechnica.com\u002Finformation-technology\u002F2023\u002F02\u002Fchatgpt-on-your-pc-meta-unveils-new-ai-model-that-can-run-on-a-single-gpu\u002F",[682],"Meta has introduced local large language models"," like Llama 2 and CodeLlama (Large language Model Meta AI) that can run on a single GPU with smaller weights and fewer parameters, enabling them to operate on local devices, PCs, and smartphones.",[674,895,896,901,902,907],{},[678,897,900],{"href":898,"rel":899},"https:\u002F\u002Fai.meta.com\u002Fllama\u002F",[682],"Llama2",", which is one of Meta's most recent models, is open source, pre-trained, and fine-tuned with parameters ranging from 7B to 70B. ",[678,903,906],{"href":904,"rel":905},"https:\u002F\u002Fmacpaw.tech\u002Fresearch\u002Flocal-gpt-models\u002F",[682],"Compared to GPT-3,"," this model is relatively lighter in weight by parameters but is more efficient on most benchmarks and also outperforms other open-source models.",[674,909,910,914,915,920,921,926],{},[678,911,913],{"href":797,"rel":912},[682],"Pieces uses Local LLMs like Llama 2"," to power its on-device AI usage of the ",[678,916,919],{"href":917,"rel":918},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fintroducing-pieces-copilot",[682],"Pieces Copilot"," which offers unique features extending beyond mere code generation or question and answering. It revolves around comprehending your workflow with ",[678,922,925],{"href":923,"rel":924},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fretrieval-augmented-generation-for-curation",[682],"retrieval augmented generation",", understanding team dynamics with related-people metadata, and connecting your toolchain with various integrations.",[674,928,929,930,935],{},"This involves capturing and accessing the context, allowing the ",[678,931,934],{"href":932,"rel":933},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fnavigating-the-future-with-ai-copilots-a-comprehensive-guide",[682],"AI copilot"," to deliver information in a natural conversational format, all while upholding code and data privacy which is demonstrated through the execution of large language models locally with Pieces, directly on the device.",[879,937,939],{"id":938},"small-language-models-for-enterprises","Small Language Models for Enterprises",[674,941,942,947],{},[678,943,946],{"href":944,"rel":945},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fsmall-language-models-outshine-large-language-models-enterprise-users",[682],"Small language models"," refer to artificial intelligence models designed with fewer parameters and less computational complexity compared to their larger counterparts. These diluted models offer a solution to the limitations of large language models, including their size, computational requirements, and high operational costs.",[674,949,950],{},"Small language models are easier to train, as they consume less data and fewer parameters, resulting in lower hardware consumption costs and more effective expense management for enterprises. Due to their relative size, they are easily customizable to the organization's needs through targeted training, enhancing accuracy and reducing bias.",[674,952,953],{},"Edge learning machine models, also known as small language models, can run on-device due to their compact size, ensuring the data and code security of your organization are prioritized and maintained.",[695,955,957],{"id":956},"on-device-pieces-copilot-features","On-Device Pieces Copilot Features",[674,959,960],{},"The models discussed earlier make Pieces able to do a lot of helpful things for developers locally on-device, boosting their productivity in their work and maintaining privacy. Some of these include:",[810,962,963,982,994],{},[727,964,965,972,975,976,981],{},[678,966,969],{"href":967,"rel":968},"https:\u002F\u002Fdocs.pieces.app\u002Ffeatures\u002Fauto-enrichment",[682],[711,970,971],{},"On-Device Auto-Enrichment",[711,973,974],{},":"," When you save code snippet to Pieces, we use fine-tuned models to instantly detect the language, add syntax highlighting, and augment your code snippet with useful ",[678,977,980],{"href":978,"rel":979},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fai-context-making-the-most-out-of-your-llm-context-length",[682],"AI context"," and metadata such as a title, description, tags, related links, and related people. This helps developer’s stay more organized, streamlining sharing and reuse.",[727,983,984,991,993],{},[678,985,988],{"href":986,"rel":987},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fhow-we-made-our-optical-character-recognition-ocr-code-more-accurate",[682],[711,989,990],{},"Optional Character Recognition (OCR) Technology",[711,992,974],{}," It involves recognizing printed or handwritten texts from digital images or printed documents. This technology is used to convert code snippets or text from screenshots instantly. For example, you could take a screenshot of code from YouTube and decide to extract the code text. Not only are we doing OCR, but we have on-device ML models to auto-correct any potential defects in the code.",[727,995,996,999,1000,1005],{},[711,997,998],{},"On-Device features on Pieces desktop app, VS Code and Obsidian:"," Whether you’re chatting with Pieces Copilot on the desktop app, VS Code, IntelliJ, Obsidian, or another tool, ",[678,1001,1004],{"href":1002,"rel":1003},"https:\u002F\u002Fpieces.app\u002Fchangelog\u002Fon-device-llms-pieces-for-developers-270-pieces-os-620",[682],"you can now choose"," to opt-in to on-device LLMs for code generation and other features. With this option, you can make the right choice according to your environment.",[695,1007,1009],{"id":1008},"benefits-of-offline-generative-ai-for-developers","Benefits of Offline Generative AI for Developers",[810,1011,1012,1018,1024],{},[727,1013,1014,1017],{},[711,1015,1016],{},"Enhanced Privacy",": Using an AI chatbot offline contributes to enhanced privacy. By processing sensitive data locally, it eliminates the need to transmit information over the internet. This not only mitigates concerns about potential data breaches or unauthorized access, but also empowers users with greater control over their personal information.",[727,1019,1020,1023],{},[711,1021,1022],{},"Reduced Latency",": Offline AI tools typically exhibit reduced latency as they don't rely on a constant internet connection for computations. Processing data locally leads to quicker response times.",[727,1025,1026,1029],{},[711,1027,1028],{},"Operability in Limited Connectivity Environments",": One of the significant advantages of offline AI tools is the ability to operate in environments with limited or no internet connectivity. This ensures the continuity of AI-driven services in remote areas or situations where establishing a stable internet connection is challenging.",[695,1031,1033],{"id":1032},"conclusion","Conclusion",[674,1035,1036,1037,1042,1043,1048],{},"We've explored the implications of cloud-based models on our data and code privacy, underscoring the significant role offline AI plays as a remedy to these vulnerabilities. To experience the benefits firsthand, ",[678,1038,1041],{"href":1039,"rel":1040},"https:\u002F\u002Fdocs.pieces.app\u002Finstallation-getting-started\u002Fwhat-am-i-installing",[682],"download the Pieces desktop app"," and leverage its features to mitigate risks, ensuring enhanced data and code security. By doing so, you not only safeguard your privacy, but also cultivate a personalized and optimized development environment tailored to your unique needs and preferences. Not sold on cloud vs local LLMs? See what the ",[678,1044,1047],{"href":1045,"rel":1046},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fbest-llm-for-coding-cloud-vs-local",[682],"best LLM for coding"," is.",{"title":1050,"searchDepth":1051,"depth":1051,"links":1052},"",2,[1053,1054,1059,1062,1063,1064],{"id":697,"depth":1051,"text":698},{"id":784,"depth":1051,"text":785,"children":1055},[1056,1058],{"id":804,"depth":1057,"text":805},3,{"id":853,"depth":1057,"text":854},{"id":863,"depth":1051,"text":864,"children":1060},[1061],{"id":873,"depth":1057,"text":874},{"id":956,"depth":1051,"text":957},{"id":1008,"depth":1051,"text":1009},{"id":1032,"depth":1051,"text":1033},"AI & LLMs","2023-12-07T00:00:00.000Z","Learn how offline AI through local large language models enables enhanced security, regulatory compliance, and other benefits for developers.",false,"md","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fhow-developers-are-using-offline-ai-tools-for-air-gapped-security\u002Fhero.jpeg",{},"\u002Fblog\u002Fhow-developers-are-using-offline-ai-tools-for-air-gapped-security",{"title":665,"description":1067},"blog\u002Fhow-developers-are-using-offline-ai-tools-for-air-gapped-security","L4bB6Q5lqclGDeL8aUxwpg_3v-2LcpJnHAQwxLuyA9Y",{"id":1077,"title":666,"body":1078,"description":1082,"draft":1068,"extension":1069,"meta":1085,"navigation":32,"path":1086,"photo":1087,"photoAlt":668,"seo":1088,"stem":1089,"__hash__":1090},"authors\u002Fauthors\u002Fabara-vivian.md",{"type":671,"value":1079,"toc":1083},[1080],[674,1081,1082],{},"Front-End Developer with expertise in Next.js, React.js, JavaScript, CSS & libraries, and HTML. Skilled in crafting responsive designs and user-friendly interfaces, with a strong command of GitHub for version control and collaboration. Passionate about building scalable, high-performance web applications with a focus on modern frameworks and clean code.",{"title":1050,"searchDepth":1051,"depth":1051,"links":1084},[],{},"\u002Fauthors\u002Fabara-vivian","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fauthors\u002Fabara-vivian.jpeg",{"title":666,"description":1082},"authors\u002Fabara-vivian","D5R8CJ5vttf875HuwcxgDLlEUYo85zOA81vOfKX1qs4",{"left":1092,"top":1092,"width":1093,"height":1093,"rotate":1092,"vFlip":1068,"hFlip":1068,"body":1094},0,24,"\u003Cpath fill=\"currentColor\" d=\"m7.825 13l4.9 4.9q.3.3.288.7t-.313.7q-.3.275-.7.288t-.7-.288l-6.6-6.6q-.15-.15-.213-.325T4.426 12t.063-.375t.212-.325l6.6-6.6q.275-.275.688-.275t.712.275q.3.3.3.713t-.3.712L7.825 11H19q.425 0 .713.288T20 12t-.288.713T19 13z\"\u002F>"]