[{"data":1,"prerenderedAt":775},["ShallowReactive",2],{"navigation":3,"/api/cli":282,"surround:/api/cli":770},[4,26,71,93,127,143,243,269],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","/getting-started","1.getting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"Introduction","/getting-started/introduction","1.getting-started/1.introduction",{"title":14,"path":15,"stem":16},"Quick Start","/getting-started/quick-start","1.getting-started/2.quick-start",{"title":18,"path":19,"stem":20},"Key Concepts","/getting-started/key-concepts","1.getting-started/3.key-concepts",{"title":22,"path":23,"stem":24},"Changelog","/getting-started/changelog","1.getting-started/4.changelog",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Guides","/guides","2.guides",[31,35,39,43,47,51,55,59,63,67],{"title":32,"path":33,"stem":34},"Quick Share Guide","/guides/quick-share","2.guides/01.quick-share",{"title":36,"path":37,"stem":38},"Slack Integration","/guides/slack-integration","2.guides/02.slack-integration",{"title":40,"path":41,"stem":42},"Browser Extension","/guides/browser-extension","2.guides/03.browser-extension",{"title":44,"path":45,"stem":46},"Enterprise Setup","/guides/enterprise-setup","2.guides/04.enterprise-setup",{"title":48,"path":49,"stem":50},"Creating a Share","/guides/creating-a-share","2.guides/05.creating-a-share",{"title":52,"path":53,"stem":54},"Zero-Knowledge Custody","/guides/zero-knowledge-custody","2.guides/06.zero-knowledge-custody",{"title":56,"path":57,"stem":58},"Secure Requests","/guides/secure-requests","2.guides/07.secure-requests",{"title":60,"path":61,"stem":62},"Receiving a Secure Request","/guides/receiving-a-secure-request","2.guides/08.receiving-a-secure-request",{"title":64,"path":65,"stem":66},"SecurePaste","/guides/securepaste","2.guides/09.securepaste",{"title":68,"path":69,"stem":70},"Notifications","/guides/notifications","2.guides/10.notifications",{"title":72,"icon":73,"path":74,"stem":75,"children":76,"page":25},"Account","i-lucide-user-cog","/account","3.account",[77,81,85,89],{"title":78,"path":79,"stem":80},"Signing In","/account/signing-in","3.account/1.signing-in",{"title":82,"path":83,"stem":84},"Plans and Share Allowance","/account/plans-and-share-allowance","3.account/2.plans-and-share-allowance",{"title":86,"path":87,"stem":88},"Billing and Subscription","/account/billing-and-subscription","3.account/3.billing-and-subscription",{"title":90,"path":91,"stem":92},"Plans and Limits","/account/plans-and-limits","3.account/4.plans-and-limits",{"title":94,"icon":95,"path":96,"stem":97,"children":98,"page":25},"Teams","i-lucide-users","/teams","4.teams",[99,103,107,111,115,119,123],{"title":100,"path":101,"stem":102},"Teams and Contexts","/teams/teams-and-contexts","4.teams/1.teams-and-contexts",{"title":104,"path":105,"stem":106},"Members, Roles and Seats","/teams/members-roles-and-seats","4.teams/2.members-roles-and-seats",{"title":108,"path":109,"stem":110},"Joining a Team","/teams/joining-a-team","4.teams/3.joining-a-team",{"title":112,"path":113,"stem":114},"Custom Branding","/teams/custom-branding","4.teams/4.custom-branding",{"title":116,"path":117,"stem":118},"Custom Domains","/teams/custom-domains","4.teams/4.custom-domains",{"title":120,"path":121,"stem":122},"Policy and Audit","/teams/policy-and-audit","4.teams/5.policy-and-audit",{"title":124,"path":125,"stem":126},"Zero-Knowledge for Teams","/teams/zero-knowledge-for-teams","4.teams/6.zero-knowledge-for-teams",{"title":128,"path":129,"stem":130,"children":131,"icon":142},"Help","/help","5.help/0.index",[132,134,138],{"title":133,"path":129,"stem":130},"Help and Support",{"title":135,"path":136,"stem":137},"Link Not Working","/help/link-not-working","5.help/1.link-not-working",{"title":139,"path":140,"stem":141},"Error Messages","/help/error-messages","5.help/2.error-messages","i-lucide-life-buoy",{"title":144,"path":145,"stem":146,"children":147},"API Reference","/api","6.api/0.index",[148,149,153,183,205,209,213,231,235,239],{"title":144,"path":145,"stem":146},{"title":150,"path":151,"stem":152},"Authentication","/api/authentication","6.api/1.authentication",{"title":154,"path":155,"stem":156,"children":157},"Shares","/api/shares","6.api/2.shares/0.index",[158,159,163,167,171,175,179],{"title":154,"path":155,"stem":156},{"title":160,"path":161,"stem":162},"Create a share","/api/shares/create","6.api/2.shares/1.create",{"title":164,"path":165,"stem":166},"List shares","/api/shares/list","6.api/2.shares/2.list",{"title":168,"path":169,"stem":170},"Retrieve a share","/api/shares/retrieve","6.api/2.shares/3.retrieve",{"title":172,"path":173,"stem":174},"Access log","/api/shares/access-log","6.api/2.shares/4.access-log",{"title":176,"path":177,"stem":178},"Expire a share","/api/shares/delete","6.api/2.shares/4.delete",{"title":180,"path":181,"stem":182},"Client-side encryption","/api/shares/client-side-encryption","6.api/2.shares/5.client-side-encryption",{"title":184,"path":185,"stem":186,"children":187},"Secure requests","/api/requests","6.api/3.requests/0.index",[188,189,193,197,201],{"title":184,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"Create a request","/api/requests/create","6.api/3.requests/1.create",{"title":194,"path":195,"stem":196},"List and retrieve requests","/api/requests/list","6.api/3.requests/2.list",{"title":198,"path":199,"stem":200},"Read submissions","/api/requests/submissions","6.api/3.requests/3.submissions",{"title":202,"path":203,"stem":204},"Expire or delete a request","/api/requests/delete","6.api/3.requests/4.delete",{"title":206,"path":207,"stem":208},"Capabilities","/api/capabilities","6.api/4.capabilities",{"title":210,"path":211,"stem":212},"Stats","/api/stats","6.api/4.stats",{"title":214,"path":215,"stem":216,"children":217},"Webhooks","/api/webhooks","6.api/5.webhooks/0.index",[218,219,223,227],{"title":214,"path":215,"stem":216},{"title":220,"path":221,"stem":222},"Event reference","/api/webhooks/events","6.api/5.webhooks/1.events",{"title":224,"path":225,"stem":226},"Verifying signatures","/api/webhooks/verifying-signatures","6.api/5.webhooks/2.verifying-signatures",{"title":228,"path":229,"stem":230},"Delivery and retries","/api/webhooks/delivery-and-retries","6.api/5.webhooks/3.delivery-and-retries",{"title":232,"path":233,"stem":234},"MCP server","/api/mcp","6.api/6.mcp",{"title":236,"path":237,"stem":238},"Errors and Rate Limits","/api/errors-and-limits","6.api/7.errors-and-limits",{"title":240,"path":241,"stem":242},"Command line (CLI)","/api/cli","6.api/8.cli",{"title":244,"path":245,"stem":246,"children":247},"SDKs","/sdks","7.sdks/0.index",[248,249,253,257,261,265],{"title":244,"path":245,"stem":246},{"title":250,"path":251,"stem":252},"Node SDK","/sdks/node","7.sdks/1.node",{"title":254,"path":255,"stem":256},"Python SDK","/sdks/python","7.sdks/2.python",{"title":258,"path":259,"stem":260},"Go SDK","/sdks/go","7.sdks/3.go",{"title":262,"path":263,"stem":264},"Rust SDK","/sdks/rust","7.sdks/4.rust",{"title":266,"path":267,"stem":268},"Conformance vectors","/sdks/conformance-vectors","7.sdks/5.conformance-vectors",{"title":270,"path":271,"stem":272,"children":273,"page":25},"Security","/security","8.security",[274,278],{"title":275,"path":276,"stem":277},"Encryption","/security/encryption","8.security/1.encryption",{"title":279,"path":280,"stem":281},"Compliance","/security/compliance","8.security/2.compliance",{"id":283,"title":240,"api":284,"body":285,"description":764,"extension":765,"links":284,"meta":766,"navigation":767,"path":241,"seo":768,"stem":242,"__hash__":769},"docs/6.api/8.cli.md",null,{"type":286,"value":287,"toc":756},"minimark",[288,296,310,315,336,357,360,379,383,398,405,409,458,481,485,508,511,559,563,678,709,717,721,749,752],[289,290,291,295],"p",{},[292,293,294],"code",{},"credenshare"," creates and manages shares and secure requests from a terminal or a script. Content is encrypted on your machine, with the same encryption the web app uses, before anything is sent.",[289,297,298,299,303,304,309],{},"It needs an API key, which Business and Enterprise plans create in the app's account settings, on the ",[300,301,302],"strong",{},"Developer"," tab. See ",[305,306,308],"a",{"href":307},"/api/authentication#getting-a-key","Getting a key",".",[311,312,314],"h2",{"id":313},"install","Install",[289,316,317,318,324,325,328,329,331,332,335],{},"Download the archive for your platform from the ",[305,319,323],{"href":320,"rel":321},"https://github.com/CredenShare/credenshare-cli/releases",[322],"nofollow","releases",": macOS (Intel and Apple silicon), Linux (x86-64 and ARM64) or Windows (x86-64 and ARM64). Check it against ",[292,326,327],{},"SHA256SUMS",", put ",[292,330,294],{}," on your ",[292,333,334],{},"PATH",", then run:",[337,338,343],"pre",{"className":339,"code":340,"language":341,"meta":342,"style":342},"language-bash shiki shiki-themes github-light github-dark github-dark","credenshare self-check\n","bash","",[292,344,345],{"__ignoreMap":342},[346,347,350,353],"span",{"class":348,"line":349},"line",1,[346,351,294],{"class":352},"shcOC",[346,354,356],{"class":355},"sfrk1"," self-check\n",[289,358,359],{},"It checks the encryption in the binary you installed against the published test vectors.",[289,361,362,363,366,367,370,371,374,375,378],{},"The binaries are not code-signed yet. On macOS, a binary downloaded through a browser is quarantined; remove the flag with ",[292,364,365],{},"xattr -d com.apple.quarantine ./credenshare",", or download with ",[292,368,369],{},"curl",", which does not set it. On Windows, if a downloaded ",[292,372,373],{},"credenshare.exe"," is blocked, run ",[292,376,377],{},"Unblock-File .\\credenshare.exe"," in PowerShell.",[311,380,382],{"id":381},"sign-in","Sign in",[337,384,386],{"className":339,"code":385,"language":341,"meta":342,"style":342},"credenshare auth login\n",[292,387,388],{"__ignoreMap":342},[346,389,390,392,395],{"class":348,"line":349},[346,391,294],{"class":352},[346,393,394],{"class":355}," auth",[346,396,397],{"class":355}," login\n",[289,399,400,401,404],{},"asks for the key at a hidden prompt, checks it, and keeps it in the system keychain. For CI, and on machines with no keychain, set ",[292,402,403],{},"CREDENSHARE_API_KEY"," instead.",[311,406,408],{"id":407},"share-a-secret","Share a secret",[337,410,412],{"className":339,"code":411,"language":341,"meta":342,"style":342},"echo \"$DEPLOY_TOKEN\" | credenshare share --field \"Deploy token\" --expires 24h --views 1\n",[292,413,414],{"__ignoreMap":342},[346,415,416,420,423,427,430,434,437,440,443,446,449,452,455],{"class":348,"line":349},[346,417,419],{"class":418},"suiK_","echo",[346,421,422],{"class":355}," \"",[346,424,426],{"class":425},"slsVL","$DEPLOY_TOKEN",[346,428,429],{"class":355},"\"",[346,431,433],{"class":432},"so5gQ"," |",[346,435,436],{"class":352}," credenshare",[346,438,439],{"class":355}," share",[346,441,442],{"class":418}," --field",[346,444,445],{"class":355}," \"Deploy token\"",[346,447,448],{"class":418}," --expires",[346,450,451],{"class":355}," 24h",[346,453,454],{"class":418}," --views",[346,456,457],{"class":418}," 1\n",[289,459,460,461,464,465,468,469,472,473,476,477,480],{},"prints the share's link. Values are never taken as command-line arguments, which end up in shell history: each comes from a hidden prompt, from stdin, or from a file (",[292,462,463],{},"--file \"Private key=./key.pem\"","). Add ",[292,466,467],{},"--passcode"," to require one. Add ",[292,470,471],{},"--notify viewed,denied"," to be emailed when the share is viewed or a view is refused; ",[292,474,475],{},"expired"," and ",[292,478,479],{},"deleted"," are the other two events.",[311,482,484],{"id":483},"ask-for-a-secret","Ask for a secret",[337,486,488],{"className":339,"code":487,"language":341,"meta":342,"style":342},"credenshare request --field \"Database password:password\" --title \"Staging DB\"\n",[292,489,490],{"__ignoreMap":342},[346,491,492,494,497,499,502,505],{"class":348,"line":349},[346,493,294],{"class":352},[346,495,496],{"class":355}," request",[346,498,442],{"class":418},[346,500,501],{"class":355}," \"Database password:password\"",[346,503,504],{"class":418}," --title",[346,506,507],{"class":355}," \"Staging DB\"\n",[289,509,510],{},"prints a link to send to the person who has the secret. It lets them submit, never read. What they submit is sealed to a key that stays on your machine, and the CLI decrypts it there:",[337,512,514],{"className":339,"code":513,"language":341,"meta":342,"style":342},"credenshare receive AbC123\nexport DB_PASS=$(credenshare receive AbC123 --wait --field \"Database password\")\n",[292,515,516,526],{"__ignoreMap":342},[346,517,518,520,523],{"class":348,"line":349},[346,519,294],{"class":352},[346,521,522],{"class":355}," receive",[346,524,525],{"class":355}," AbC123\n",[346,527,529,532,535,538,541,543,545,548,551,553,556],{"class":348,"line":528},2,[346,530,531],{"class":432},"export",[346,533,534],{"class":425}," DB_PASS",[346,536,537],{"class":432},"=",[346,539,540],{"class":425},"$(",[346,542,294],{"class":352},[346,544,522],{"class":355},[346,546,547],{"class":355}," AbC123",[346,549,550],{"class":418}," --wait",[346,552,442],{"class":418},[346,554,555],{"class":355}," \"Database password\"",[346,557,558],{"class":425},")\n",[311,560,562],{"id":561},"other-commands","Other commands",[564,565,566,579],"table",{},[567,568,569],"thead",{},[570,571,572,576],"tr",{},[573,574,575],"th",{},"Command",[573,577,578],{},"What it does",[580,581,582,597,618,628,638,648,658,668],"tbody",{},[570,583,584,590],{},[585,586,587],"td",{},[292,588,589],{},"credenshare list [shares|requests] [--status expired]",[585,591,592,593,596],{},"Short codes and expiry times, never content. ",[292,594,595],{},"--status expired"," lists the shares that have ended and the requests that have closed",[570,598,599,604],{},[585,600,601],{},[292,602,603],{},"credenshare audit CODE",[585,605,606,607,610,611,614,615],{},"Who opened a share, newest first, with link previews and mail scanners named. Needs a key with the ",[292,608,609],{},"audit:read"," scope; ",[292,612,613],{},"--since 7d",", ",[292,616,617],{},"--all",[570,619,620,625],{},[585,621,622],{},[292,623,624],{},"credenshare capabilities",[585,626,627],{},"What the key may do: its scopes, its plan's limits and features, and, for a team key, the team's sharing policy and where its links point",[570,629,630,635],{},[585,631,632],{},[292,633,634],{},"credenshare show CODE",[585,636,637],{},"A share's or a request's details",[570,639,640,645],{},[585,641,642],{},[292,643,644],{},"credenshare expire CODE",[585,646,647],{},"Expires a share now",[570,649,650,655],{},[585,651,652],{},[292,653,654],{},"credenshare request delete CODE",[585,656,657],{},"Closes a request; run again to delete it and its submissions",[570,659,660,665],{},[585,661,662],{},[292,663,664],{},"credenshare stats",[585,666,667],{},"Share counts and the last 14 days of views",[570,669,670,675],{},[585,671,672],{},[292,673,674],{},"credenshare generate",[585,676,677],{},"A password, passphrase or PIN, generated offline",[289,679,680,681,684,685,688,689,692,693,696,697,700,701,704,705,708],{},"Every command takes ",[292,682,683],{},"--json",". Exit codes: ",[292,686,687],{},"0"," done, ",[292,690,691],{},"1"," usage or a local problem, ",[292,694,695],{},"2"," not signed in or the key refused, ",[292,698,699],{},"3"," not found or nothing arrived in time, ",[292,702,703],{},"4"," refused by the plan, the key's scopes or the team's sharing policy, ",[292,706,707],{},"5"," the network or the server.",[289,710,711,712,716],{},"A team key acts inside its team, so the team's ",[305,713,715],{"href":714},"/teams/policy-and-audit#sharing-policy","sharing policy"," applies.",[311,718,720],{"id":719},"where-links-point","Where links point",[289,722,723,724,727,728,731,732,735,736,738,739,742,743,745,746,309],{},"Links the CLI prints use ",[292,725,726],{},"https://crs.sh",", or, with a team key whose team has a ",[305,729,730],{"href":117},"custom domain",", that domain. Set ",[292,733,734],{},"CREDENSHARE_LINK_ORIGIN"," to choose the origin yourself. ",[292,737,624],{}," shows a ",[300,740,741],{},"Links"," line for a team with a custom domain, and its ",[292,744,683],{}," output carries ",[292,747,748],{},"link_origin",[289,750,751],{},"Opening a share from the terminal is not possible: open links in a browser.",[753,754,755],"style",{},"html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}",{"title":342,"searchDepth":349,"depth":528,"links":757},[758,759,760,761,762,763],{"id":313,"depth":528,"text":314},{"id":381,"depth":528,"text":382},{"id":407,"depth":528,"text":408},{"id":483,"depth":528,"text":484},{"id":561,"depth":528,"text":562},{"id":719,"depth":528,"text":720},"Create shares and secure requests, and receive what is submitted, from a terminal or a script. Content is encrypted on your machine before it is sent.","md",{},true,{"title":240,"description":764},"JV_rKvbHGuBs3wqFUMjn6Cq1LD_7CuVXEMoIduuAOYY",[771,773],{"title":236,"path":237,"stem":238,"description":772,"children":-1},"The error envelope, every error code you can hit, request-rate limits, and what an authentication failure actually looks like.",{"title":244,"path":245,"stem":246,"description":774,"children":-1},"Official CredenShare clients for Node, Python, Go and Rust — they perform the encryption, so you pass plaintext and get back a link.",1793140195158]