[{"data":1,"prerenderedAt":1774},["ShallowReactive",2],{"content-query-GLrBuSKyt9":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":1768,"_id":1769,"_source":1770,"_file":1771,"_stem":1772,"_extension":1773},"\u002Fdocs\u002Ffeatures\u002Fcoder-secrets","features",false,"","Coder Secrets Management","Store and use secrets in your Coder workspaces",{"type":11,"children":12,"toc":1718},"root",[13,21,27,34,39,74,83,89,96,178,183,189,197,214,222,239,247,264,272,290,296,302,307,399,405,557,563,642,647,741,747,753,758,786,792,797,820,825,843,849,854,862,868,874,882,888,896,902,910,916,924,930,938,944,950,955,963,969,974,1002,1007,1025,1031,1036,1227,1233,1239,1244,1313,1319,1324,1373,1379,1387,1393,1399,1404,1412,1418,1423,1431,1437,1443,1448,1456,1462,1467,1475,1481,1487,1492,1510,1515,1533,1539,1545,1550,1573,1669,1675,1712],{"type":14,"tag":15,"props":16,"children":18},"element","h1",{"id":17},"coder-secrets-management",[19],{"type":20,"value":8},"text",{"type":14,"tag":22,"props":23,"children":24},"p",{},[25],{"type":20,"value":26},"Securely manage API keys, passwords, and other sensitive data in your workspaces.",{"type":14,"tag":28,"props":29,"children":31},"h2",{"id":30},"what-are-secrets",[32],{"type":20,"value":33},"What are Secrets?",{"type":14,"tag":22,"props":35,"children":36},{},[37],{"type":20,"value":38},"Secrets are sensitive information:",{"type":14,"tag":40,"props":41,"children":42},"ul",{},[43,49,54,59,64,69],{"type":14,"tag":44,"props":45,"children":46},"li",{},[47],{"type":20,"value":48},"API keys (GitHub, Stripe, etc.)",{"type":14,"tag":44,"props":50,"children":51},{},[52],{"type":20,"value":53},"Database passwords",{"type":14,"tag":44,"props":55,"children":56},{},[57],{"type":20,"value":58},"Private tokens",{"type":14,"tag":44,"props":60,"children":61},{},[62],{"type":20,"value":63},"SSH keys",{"type":14,"tag":44,"props":65,"children":66},{},[67],{"type":20,"value":68},"OAuth credentials",{"type":14,"tag":44,"props":70,"children":71},{},[72],{"type":20,"value":73},"Encryption keys",{"type":14,"tag":22,"props":75,"children":76},{},[77],{"type":14,"tag":78,"props":79,"children":80},"strong",{},[81],{"type":20,"value":82},"Never hardcode secrets in code!",{"type":14,"tag":28,"props":84,"children":86},{"id":85},"adding-secrets-to-workspace",[87],{"type":20,"value":88},"Adding Secrets to Workspace",{"type":14,"tag":90,"props":91,"children":93},"h3",{"id":92},"store-in-workspace",[94],{"type":20,"value":95},"Store in Workspace",{"type":14,"tag":97,"props":98,"children":99},"ol",{},[100,105,115,124,133,169],{"type":14,"tag":44,"props":101,"children":102},{},[103],{"type":20,"value":104},"Click workspace",{"type":14,"tag":44,"props":106,"children":107},{},[108,110],{"type":20,"value":109},"Click ",{"type":14,"tag":78,"props":111,"children":112},{},[113],{"type":20,"value":114},"Settings",{"type":14,"tag":44,"props":116,"children":117},{},[118,119],{"type":20,"value":109},{"type":14,"tag":78,"props":120,"children":121},{},[122],{"type":20,"value":123},"Secrets",{"type":14,"tag":44,"props":125,"children":126},{},[127,128],{"type":20,"value":109},{"type":14,"tag":78,"props":129,"children":130},{},[131],{"type":20,"value":132},"Add Secret",{"type":14,"tag":44,"props":134,"children":135},{},[136,138],{"type":20,"value":137},"Enter details:\n",{"type":14,"tag":40,"props":139,"children":140},{},[141,153,164],{"type":14,"tag":44,"props":142,"children":143},{},[144,146],{"type":20,"value":145},"Name: ",{"type":14,"tag":147,"props":148,"children":150},"code",{"className":149},[],[151],{"type":20,"value":152},"GITHUB_TOKEN",{"type":14,"tag":44,"props":154,"children":155},{},[156,158],{"type":20,"value":157},"Value: ",{"type":14,"tag":147,"props":159,"children":161},{"className":160},[],[162],{"type":20,"value":163},"ghp_abc123...",{"type":14,"tag":44,"props":165,"children":166},{},[167],{"type":20,"value":168},"Type: Token",{"type":14,"tag":44,"props":170,"children":171},{},[172,173],{"type":20,"value":109},{"type":14,"tag":78,"props":174,"children":175},{},[176],{"type":20,"value":177},"Save",{"type":14,"tag":22,"props":179,"children":180},{},[181],{"type":20,"value":182},"Now available in workspace.",{"type":14,"tag":90,"props":184,"children":186},{"id":185},"secret-types",[187],{"type":20,"value":188},"Secret Types",{"type":14,"tag":22,"props":190,"children":191},{},[192],{"type":14,"tag":78,"props":193,"children":194},{},[195],{"type":20,"value":196},"Token",{"type":14,"tag":40,"props":198,"children":199},{},[200,205,210],{"type":14,"tag":44,"props":201,"children":202},{},[203],{"type":20,"value":204},"API keys",{"type":14,"tag":44,"props":206,"children":207},{},[208],{"type":20,"value":209},"Auth tokens",{"type":14,"tag":44,"props":211,"children":212},{},[213],{"type":20,"value":68},{"type":14,"tag":22,"props":215,"children":216},{},[217],{"type":14,"tag":78,"props":218,"children":219},{},[220],{"type":20,"value":221},"Password",{"type":14,"tag":40,"props":223,"children":224},{},[225,229,234],{"type":14,"tag":44,"props":226,"children":227},{},[228],{"type":20,"value":53},{"type":14,"tag":44,"props":230,"children":231},{},[232],{"type":20,"value":233},"Service passwords",{"type":14,"tag":44,"props":235,"children":236},{},[237],{"type":20,"value":238},"Admin passwords",{"type":14,"tag":22,"props":240,"children":241},{},[242],{"type":14,"tag":78,"props":243,"children":244},{},[245],{"type":20,"value":246},"Key",{"type":14,"tag":40,"props":248,"children":249},{},[250,255,259],{"type":14,"tag":44,"props":251,"children":252},{},[253],{"type":20,"value":254},"SSH private keys",{"type":14,"tag":44,"props":256,"children":257},{},[258],{"type":20,"value":73},{"type":14,"tag":44,"props":260,"children":261},{},[262],{"type":20,"value":263},"RSA keys",{"type":14,"tag":22,"props":265,"children":266},{},[267],{"type":14,"tag":78,"props":268,"children":269},{},[270],{"type":20,"value":271},"File",{"type":14,"tag":40,"props":273,"children":274},{},[275,280,285],{"type":14,"tag":44,"props":276,"children":277},{},[278],{"type":20,"value":279},"Private certificate",{"type":14,"tag":44,"props":281,"children":282},{},[283],{"type":20,"value":284},"Configuration file",{"type":14,"tag":44,"props":286,"children":287},{},[288],{"type":20,"value":289},"Binary data",{"type":14,"tag":28,"props":291,"children":293},{"id":292},"using-secrets-in-code",[294],{"type":20,"value":295},"Using Secrets in Code",{"type":14,"tag":90,"props":297,"children":299},{"id":298},"environment-variables",[300],{"type":20,"value":301},"Environment Variables",{"type":14,"tag":22,"props":303,"children":304},{},[305],{"type":20,"value":306},"Access secrets as environment variables:",{"type":14,"tag":308,"props":309,"children":313},"pre",{"code":310,"language":311,"meta":7,"className":312,"style":7},"# In terminal\necho $GITHUB_TOKEN\nghp_abc123...\n\n# In code\nexport TOKEN=$GITHUB_TOKEN\n","bash","language-bash shiki shiki-themes github-dark",[314],{"type":14,"tag":147,"props":315,"children":316},{"__ignoreMap":7},[317,329,345,355,365,374],{"type":14,"tag":318,"props":319,"children":322},"span",{"class":320,"line":321},"line",1,[323],{"type":14,"tag":318,"props":324,"children":326},{"style":325},"--shiki-default:#6A737D",[327],{"type":20,"value":328},"# In terminal\n",{"type":14,"tag":318,"props":330,"children":332},{"class":320,"line":331},2,[333,339],{"type":14,"tag":318,"props":334,"children":336},{"style":335},"--shiki-default:#79B8FF",[337],{"type":20,"value":338},"echo",{"type":14,"tag":318,"props":340,"children":342},{"style":341},"--shiki-default:#E1E4E8",[343],{"type":20,"value":344}," $GITHUB_TOKEN\n",{"type":14,"tag":318,"props":346,"children":348},{"class":320,"line":347},3,[349],{"type":14,"tag":318,"props":350,"children":352},{"style":351},"--shiki-default:#B392F0",[353],{"type":20,"value":354},"ghp_abc123...\n",{"type":14,"tag":318,"props":356,"children":358},{"class":320,"line":357},4,[359],{"type":14,"tag":318,"props":360,"children":362},{"emptyLinePlaceholder":361},true,[363],{"type":20,"value":364},"\n",{"type":14,"tag":318,"props":366,"children":368},{"class":320,"line":367},5,[369],{"type":14,"tag":318,"props":370,"children":371},{"style":325},[372],{"type":20,"value":373},"# In code\n",{"type":14,"tag":318,"props":375,"children":377},{"class":320,"line":376},6,[378,384,389,394],{"type":14,"tag":318,"props":379,"children":381},{"style":380},"--shiki-default:#F97583",[382],{"type":20,"value":383},"export",{"type":14,"tag":318,"props":385,"children":386},{"style":341},[387],{"type":20,"value":388}," TOKEN",{"type":14,"tag":318,"props":390,"children":391},{"style":380},[392],{"type":20,"value":393},"=",{"type":14,"tag":318,"props":395,"children":396},{"style":341},[397],{"type":20,"value":398},"$GITHUB_TOKEN\n",{"type":14,"tag":90,"props":400,"children":402},{"id":401},"nodejs",[403],{"type":20,"value":404},"Node.js",{"type":14,"tag":308,"props":406,"children":410},{"code":407,"language":408,"meta":7,"className":409,"style":7},"const token = process.env.GITHUB_TOKEN;\n\n\u002F\u002F Fetch from GitHub\nconst response = await fetch('https:\u002F\u002Fapi.github.com\u002Fuser', {\n  headers: {\n    'Authorization': `token ${token}`\n  }\n});\n","javascript","language-javascript shiki shiki-themes github-dark",[411],{"type":14,"tag":147,"props":412,"children":413},{"__ignoreMap":7},[414,446,453,461,503,511,539,548],{"type":14,"tag":318,"props":415,"children":416},{"class":320,"line":321},[417,422,427,432,437,441],{"type":14,"tag":318,"props":418,"children":419},{"style":380},[420],{"type":20,"value":421},"const",{"type":14,"tag":318,"props":423,"children":424},{"style":335},[425],{"type":20,"value":426}," token",{"type":14,"tag":318,"props":428,"children":429},{"style":380},[430],{"type":20,"value":431}," =",{"type":14,"tag":318,"props":433,"children":434},{"style":341},[435],{"type":20,"value":436}," process.env.",{"type":14,"tag":318,"props":438,"children":439},{"style":335},[440],{"type":20,"value":152},{"type":14,"tag":318,"props":442,"children":443},{"style":341},[444],{"type":20,"value":445},";\n",{"type":14,"tag":318,"props":447,"children":448},{"class":320,"line":331},[449],{"type":14,"tag":318,"props":450,"children":451},{"emptyLinePlaceholder":361},[452],{"type":20,"value":364},{"type":14,"tag":318,"props":454,"children":455},{"class":320,"line":347},[456],{"type":14,"tag":318,"props":457,"children":458},{"style":325},[459],{"type":20,"value":460},"\u002F\u002F Fetch from GitHub\n",{"type":14,"tag":318,"props":462,"children":463},{"class":320,"line":357},[464,468,473,477,482,487,492,498],{"type":14,"tag":318,"props":465,"children":466},{"style":380},[467],{"type":20,"value":421},{"type":14,"tag":318,"props":469,"children":470},{"style":335},[471],{"type":20,"value":472}," response",{"type":14,"tag":318,"props":474,"children":475},{"style":380},[476],{"type":20,"value":431},{"type":14,"tag":318,"props":478,"children":479},{"style":380},[480],{"type":20,"value":481}," await",{"type":14,"tag":318,"props":483,"children":484},{"style":351},[485],{"type":20,"value":486}," fetch",{"type":14,"tag":318,"props":488,"children":489},{"style":341},[490],{"type":20,"value":491},"(",{"type":14,"tag":318,"props":493,"children":495},{"style":494},"--shiki-default:#9ECBFF",[496],{"type":20,"value":497},"'https:\u002F\u002Fapi.github.com\u002Fuser'",{"type":14,"tag":318,"props":499,"children":500},{"style":341},[501],{"type":20,"value":502},", {\n",{"type":14,"tag":318,"props":504,"children":505},{"class":320,"line":367},[506],{"type":14,"tag":318,"props":507,"children":508},{"style":341},[509],{"type":20,"value":510},"  headers: {\n",{"type":14,"tag":318,"props":512,"children":513},{"class":320,"line":376},[514,519,524,529,534],{"type":14,"tag":318,"props":515,"children":516},{"style":494},[517],{"type":20,"value":518},"    'Authorization'",{"type":14,"tag":318,"props":520,"children":521},{"style":341},[522],{"type":20,"value":523},": ",{"type":14,"tag":318,"props":525,"children":526},{"style":494},[527],{"type":20,"value":528},"`token ${",{"type":14,"tag":318,"props":530,"children":531},{"style":341},[532],{"type":20,"value":533},"token",{"type":14,"tag":318,"props":535,"children":536},{"style":494},[537],{"type":20,"value":538},"}`\n",{"type":14,"tag":318,"props":540,"children":542},{"class":320,"line":541},7,[543],{"type":14,"tag":318,"props":544,"children":545},{"style":341},[546],{"type":20,"value":547},"  }\n",{"type":14,"tag":318,"props":549,"children":551},{"class":320,"line":550},8,[552],{"type":14,"tag":318,"props":553,"children":554},{"style":341},[555],{"type":20,"value":556},"});\n",{"type":14,"tag":90,"props":558,"children":560},{"id":559},"python",[561],{"type":20,"value":562},"Python",{"type":14,"tag":308,"props":564,"children":567},{"code":565,"language":559,"meta":7,"className":566,"style":7},"import os\n\ntoken = os.environ.get('GITHUB_TOKEN')\n\n# Use in request\nheaders = {\n    'Authorization': f'token {token}'\n}\nresponse = requests.get('https:\u002F\u002Fapi.github.com\u002Fuser', headers=headers)\n","language-python shiki shiki-themes github-dark",[568],{"type":14,"tag":147,"props":569,"children":570},{"__ignoreMap":7},[571,579,586,594,601,609,617,625,633],{"type":14,"tag":318,"props":572,"children":573},{"class":320,"line":321},[574],{"type":14,"tag":318,"props":575,"children":576},{},[577],{"type":20,"value":578},"import os\n",{"type":14,"tag":318,"props":580,"children":581},{"class":320,"line":331},[582],{"type":14,"tag":318,"props":583,"children":584},{"emptyLinePlaceholder":361},[585],{"type":20,"value":364},{"type":14,"tag":318,"props":587,"children":588},{"class":320,"line":347},[589],{"type":14,"tag":318,"props":590,"children":591},{},[592],{"type":20,"value":593},"token = os.environ.get('GITHUB_TOKEN')\n",{"type":14,"tag":318,"props":595,"children":596},{"class":320,"line":357},[597],{"type":14,"tag":318,"props":598,"children":599},{"emptyLinePlaceholder":361},[600],{"type":20,"value":364},{"type":14,"tag":318,"props":602,"children":603},{"class":320,"line":367},[604],{"type":14,"tag":318,"props":605,"children":606},{},[607],{"type":20,"value":608},"# Use in request\n",{"type":14,"tag":318,"props":610,"children":611},{"class":320,"line":376},[612],{"type":14,"tag":318,"props":613,"children":614},{},[615],{"type":20,"value":616},"headers = {\n",{"type":14,"tag":318,"props":618,"children":619},{"class":320,"line":541},[620],{"type":14,"tag":318,"props":621,"children":622},{},[623],{"type":20,"value":624},"    'Authorization': f'token {token}'\n",{"type":14,"tag":318,"props":626,"children":627},{"class":320,"line":550},[628],{"type":14,"tag":318,"props":629,"children":630},{},[631],{"type":20,"value":632},"}\n",{"type":14,"tag":318,"props":634,"children":636},{"class":320,"line":635},9,[637],{"type":14,"tag":318,"props":638,"children":639},{},[640],{"type":20,"value":641},"response = requests.get('https:\u002F\u002Fapi.github.com\u002Fuser', headers=headers)\n",{"type":14,"tag":90,"props":643,"children":644},{"id":311},[645],{"type":20,"value":646},"Bash",{"type":14,"tag":308,"props":648,"children":650},{"code":649,"language":311,"meta":7,"className":312,"style":7},"#!\u002Fbin\u002Fbash\n\nTOKEN=$GITHUB_TOKEN\n\n# Use token\ncurl -H \"Authorization: token $TOKEN\" \\\n  https:\u002F\u002Fapi.github.com\u002Fuser\n",[651],{"type":14,"tag":147,"props":652,"children":653},{"__ignoreMap":7},[654,662,669,685,692,700,733],{"type":14,"tag":318,"props":655,"children":656},{"class":320,"line":321},[657],{"type":14,"tag":318,"props":658,"children":659},{"style":325},[660],{"type":20,"value":661},"#!\u002Fbin\u002Fbash\n",{"type":14,"tag":318,"props":663,"children":664},{"class":320,"line":331},[665],{"type":14,"tag":318,"props":666,"children":667},{"emptyLinePlaceholder":361},[668],{"type":20,"value":364},{"type":14,"tag":318,"props":670,"children":671},{"class":320,"line":347},[672,677,681],{"type":14,"tag":318,"props":673,"children":674},{"style":341},[675],{"type":20,"value":676},"TOKEN",{"type":14,"tag":318,"props":678,"children":679},{"style":380},[680],{"type":20,"value":393},{"type":14,"tag":318,"props":682,"children":683},{"style":341},[684],{"type":20,"value":398},{"type":14,"tag":318,"props":686,"children":687},{"class":320,"line":357},[688],{"type":14,"tag":318,"props":689,"children":690},{"emptyLinePlaceholder":361},[691],{"type":20,"value":364},{"type":14,"tag":318,"props":693,"children":694},{"class":320,"line":367},[695],{"type":14,"tag":318,"props":696,"children":697},{"style":325},[698],{"type":20,"value":699},"# Use token\n",{"type":14,"tag":318,"props":701,"children":702},{"class":320,"line":376},[703,708,713,718,723,728],{"type":14,"tag":318,"props":704,"children":705},{"style":351},[706],{"type":20,"value":707},"curl",{"type":14,"tag":318,"props":709,"children":710},{"style":335},[711],{"type":20,"value":712}," -H",{"type":14,"tag":318,"props":714,"children":715},{"style":494},[716],{"type":20,"value":717}," \"Authorization: token ",{"type":14,"tag":318,"props":719,"children":720},{"style":341},[721],{"type":20,"value":722},"$TOKEN",{"type":14,"tag":318,"props":724,"children":725},{"style":494},[726],{"type":20,"value":727},"\"",{"type":14,"tag":318,"props":729,"children":730},{"style":335},[731],{"type":20,"value":732}," \\\n",{"type":14,"tag":318,"props":734,"children":735},{"class":320,"line":541},[736],{"type":14,"tag":318,"props":737,"children":738},{"style":494},[739],{"type":20,"value":740},"  https:\u002F\u002Fapi.github.com\u002Fuser\n",{"type":14,"tag":28,"props":742,"children":744},{"id":743},"secret-security",[745],{"type":20,"value":746},"Secret Security",{"type":14,"tag":90,"props":748,"children":750},{"id":749},"encryption",[751],{"type":20,"value":752},"Encryption",{"type":14,"tag":22,"props":754,"children":755},{},[756],{"type":20,"value":757},"Secrets stored:",{"type":14,"tag":40,"props":759,"children":760},{},[761,766,771,776,781],{"type":14,"tag":44,"props":762,"children":763},{},[764],{"type":20,"value":765},"✓ Encrypted at rest (AES-256)",{"type":14,"tag":44,"props":767,"children":768},{},[769],{"type":20,"value":770},"✓ Encrypted in transit (HTTPS)",{"type":14,"tag":44,"props":772,"children":773},{},[774],{"type":20,"value":775},"✓ Not visible in workspace",{"type":14,"tag":44,"props":777,"children":778},{},[779],{"type":20,"value":780},"✓ Not saved in logs",{"type":14,"tag":44,"props":782,"children":783},{},[784],{"type":20,"value":785},"✓ Not backed up as plain text",{"type":14,"tag":90,"props":787,"children":789},{"id":788},"access-control",[790],{"type":20,"value":791},"Access Control",{"type":14,"tag":22,"props":793,"children":794},{},[795],{"type":20,"value":796},"Only you can:",{"type":14,"tag":40,"props":798,"children":799},{},[800,805,810,815],{"type":14,"tag":44,"props":801,"children":802},{},[803],{"type":20,"value":804},"✓ Add secrets",{"type":14,"tag":44,"props":806,"children":807},{},[808],{"type":20,"value":809},"✓ Use secrets",{"type":14,"tag":44,"props":811,"children":812},{},[813],{"type":20,"value":814},"✓ View secret names (not values)",{"type":14,"tag":44,"props":816,"children":817},{},[818],{"type":20,"value":819},"✓ Delete secrets",{"type":14,"tag":22,"props":821,"children":822},{},[823],{"type":20,"value":824},"Others (even with workspace access):",{"type":14,"tag":40,"props":826,"children":827},{},[828,833,838],{"type":14,"tag":44,"props":829,"children":830},{},[831],{"type":20,"value":832},"✗ Can't see secret values",{"type":14,"tag":44,"props":834,"children":835},{},[836],{"type":20,"value":837},"✗ Can't extract secrets from code",{"type":14,"tag":44,"props":839,"children":840},{},[841],{"type":20,"value":842},"✗ Secrets only work in that workspace",{"type":14,"tag":90,"props":844,"children":846},{"id":845},"audit-trail",[847],{"type":20,"value":848},"Audit Trail",{"type":14,"tag":22,"props":850,"children":851},{},[852],{"type":20,"value":853},"Every secret access logged:",{"type":14,"tag":308,"props":855,"children":857},{"code":856},"2024-06-12 14:30:22 - Secret created: GITHUB_TOKEN\n2024-06-12 14:31:01 - Secret used: GITHUB_TOKEN (app.js:12)\n2024-06-12 15:45:30 - Secret accessed: DATABASE_URL\n2024-06-12 16:00:00 - Secret updated: GITHUB_TOKEN\n",[858],{"type":14,"tag":147,"props":859,"children":860},{"__ignoreMap":7},[861],{"type":20,"value":856},{"type":14,"tag":28,"props":863,"children":865},{"id":864},"common-secrets-to-store",[866],{"type":20,"value":867},"Common Secrets to Store",{"type":14,"tag":90,"props":869,"children":871},{"id":870},"github-integration",[872],{"type":20,"value":873},"GitHub Integration",{"type":14,"tag":308,"props":875,"children":877},{"code":876},"Secret: GITHUB_TOKEN\nValue: ghp_abc123...\nUsed for: Clone private repos, push code\n",[878],{"type":14,"tag":147,"props":879,"children":880},{"__ignoreMap":7},[881],{"type":20,"value":876},{"type":14,"tag":90,"props":883,"children":885},{"id":884},"database-connection",[886],{"type":20,"value":887},"Database Connection",{"type":14,"tag":308,"props":889,"children":891},{"code":890},"Secret: DATABASE_URL\nValue: postgresql:\u002F\u002Fuser:pass@host:5432\u002Fdb\nUsed for: Connect to production database\n",[892],{"type":14,"tag":147,"props":893,"children":894},{"__ignoreMap":7},[895],{"type":20,"value":890},{"type":14,"tag":90,"props":897,"children":899},{"id":898},"api-credentials",[900],{"type":20,"value":901},"API Credentials",{"type":14,"tag":308,"props":903,"children":905},{"code":904},"Secret: STRIPE_API_KEY\nValue: sk_live_abc123...\n\nSecret: MAILGUN_API_KEY\nValue: key_abc123...\n\nUsed for: Billing, email sending\n",[906],{"type":14,"tag":147,"props":907,"children":908},{"__ignoreMap":7},[909],{"type":20,"value":904},{"type":14,"tag":90,"props":911,"children":913},{"id":912},"ssh-keys",[914],{"type":20,"value":915},"SSH Keys",{"type":14,"tag":308,"props":917,"children":919},{"code":918},"Secret: SSH_PRIVATE_KEY\nType: File (paste SSH key content)\nUsed for: SSH into other servers\n",[920],{"type":14,"tag":147,"props":921,"children":922},{"__ignoreMap":7},[923],{"type":20,"value":918},{"type":14,"tag":90,"props":925,"children":927},{"id":926},"environment-config",[928],{"type":20,"value":929},"Environment Config",{"type":14,"tag":308,"props":931,"children":933},{"code":932},"Secret: NODE_ENV\nValue: production\n\nSecret: DEBUG\nValue: false\n\nUsed for: App configuration\n",[934],{"type":14,"tag":147,"props":935,"children":936},{"__ignoreMap":7},[937],{"type":20,"value":932},{"type":14,"tag":28,"props":939,"children":941},{"id":940},"best-practices",[942],{"type":20,"value":943},"Best Practices",{"type":14,"tag":90,"props":945,"children":947},{"id":946},"secret-naming",[948],{"type":20,"value":949},"Secret Naming",{"type":14,"tag":22,"props":951,"children":952},{},[953],{"type":20,"value":954},"Use clear, descriptive names:",{"type":14,"tag":308,"props":956,"children":958},{"code":957},"Good:\n- GITHUB_TOKEN\n- DATABASE_PASSWORD\n- STRIPE_API_KEY\n- AWS_SECRET_ACCESS_KEY\n\nAvoid:\n- secret123\n- key\n- password1\n- temp\n",[959],{"type":14,"tag":147,"props":960,"children":961},{"__ignoreMap":7},[962],{"type":20,"value":957},{"type":14,"tag":90,"props":964,"children":966},{"id":965},"secret-rotation",[967],{"type":20,"value":968},"Secret Rotation",{"type":14,"tag":22,"props":970,"children":971},{},[972],{"type":20,"value":973},"Rotate regularly:",{"type":14,"tag":97,"props":975,"children":976},{},[977,982,987,992,997],{"type":14,"tag":44,"props":978,"children":979},{},[980],{"type":20,"value":981},"Generate new secret",{"type":14,"tag":44,"props":983,"children":984},{},[985],{"type":20,"value":986},"Update in Coder",{"type":14,"tag":44,"props":988,"children":989},{},[990],{"type":20,"value":991},"Update the service (GitHub, etc.)",{"type":14,"tag":44,"props":993,"children":994},{},[995],{"type":20,"value":996},"Test works",{"type":14,"tag":44,"props":998,"children":999},{},[1000],{"type":20,"value":1001},"Delete old secret",{"type":14,"tag":22,"props":1003,"children":1004},{},[1005],{"type":20,"value":1006},"Example schedule:",{"type":14,"tag":40,"props":1008,"children":1009},{},[1010,1015,1020],{"type":14,"tag":44,"props":1011,"children":1012},{},[1013],{"type":20,"value":1014},"API keys: Every 90 days",{"type":14,"tag":44,"props":1016,"children":1017},{},[1018],{"type":20,"value":1019},"Passwords: Every 6 months",{"type":14,"tag":44,"props":1021,"children":1022},{},[1023],{"type":20,"value":1024},"OAuth tokens: As needed (they expire)",{"type":14,"tag":90,"props":1026,"children":1028},{"id":1027},"never-log-secrets",[1029],{"type":20,"value":1030},"Never Log Secrets",{"type":14,"tag":22,"props":1032,"children":1033},{},[1034],{"type":20,"value":1035},"Don't write secrets to output:",{"type":14,"tag":308,"props":1037,"children":1039},{"code":1038,"language":408,"meta":7,"className":409,"style":7},"\u002F\u002F ✗ BAD - DO NOT DO THIS\nconsole.log('Token:', process.env.GITHUB_TOKEN);\n\n\u002F\u002F ✓ GOOD - Use safely\nconst token = process.env.GITHUB_TOKEN;\nif (!token) {\n  console.log('Error: GITHUB_TOKEN not set');\n} else {\n  console.log('Token loaded successfully');\n}\n",[1040],{"type":14,"tag":147,"props":1041,"children":1042},{"__ignoreMap":7},[1043,1051,1087,1094,1102,1129,1152,1177,1195,1219],{"type":14,"tag":318,"props":1044,"children":1045},{"class":320,"line":321},[1046],{"type":14,"tag":318,"props":1047,"children":1048},{"style":325},[1049],{"type":20,"value":1050},"\u002F\u002F ✗ BAD - DO NOT DO THIS\n",{"type":14,"tag":318,"props":1052,"children":1053},{"class":320,"line":331},[1054,1059,1064,1068,1073,1078,1082],{"type":14,"tag":318,"props":1055,"children":1056},{"style":341},[1057],{"type":20,"value":1058},"console.",{"type":14,"tag":318,"props":1060,"children":1061},{"style":351},[1062],{"type":20,"value":1063},"log",{"type":14,"tag":318,"props":1065,"children":1066},{"style":341},[1067],{"type":20,"value":491},{"type":14,"tag":318,"props":1069,"children":1070},{"style":494},[1071],{"type":20,"value":1072},"'Token:'",{"type":14,"tag":318,"props":1074,"children":1075},{"style":341},[1076],{"type":20,"value":1077},", process.env.",{"type":14,"tag":318,"props":1079,"children":1080},{"style":335},[1081],{"type":20,"value":152},{"type":14,"tag":318,"props":1083,"children":1084},{"style":341},[1085],{"type":20,"value":1086},");\n",{"type":14,"tag":318,"props":1088,"children":1089},{"class":320,"line":347},[1090],{"type":14,"tag":318,"props":1091,"children":1092},{"emptyLinePlaceholder":361},[1093],{"type":20,"value":364},{"type":14,"tag":318,"props":1095,"children":1096},{"class":320,"line":357},[1097],{"type":14,"tag":318,"props":1098,"children":1099},{"style":325},[1100],{"type":20,"value":1101},"\u002F\u002F ✓ GOOD - Use safely\n",{"type":14,"tag":318,"props":1103,"children":1104},{"class":320,"line":367},[1105,1109,1113,1117,1121,1125],{"type":14,"tag":318,"props":1106,"children":1107},{"style":380},[1108],{"type":20,"value":421},{"type":14,"tag":318,"props":1110,"children":1111},{"style":335},[1112],{"type":20,"value":426},{"type":14,"tag":318,"props":1114,"children":1115},{"style":380},[1116],{"type":20,"value":431},{"type":14,"tag":318,"props":1118,"children":1119},{"style":341},[1120],{"type":20,"value":436},{"type":14,"tag":318,"props":1122,"children":1123},{"style":335},[1124],{"type":20,"value":152},{"type":14,"tag":318,"props":1126,"children":1127},{"style":341},[1128],{"type":20,"value":445},{"type":14,"tag":318,"props":1130,"children":1131},{"class":320,"line":376},[1132,1137,1142,1147],{"type":14,"tag":318,"props":1133,"children":1134},{"style":380},[1135],{"type":20,"value":1136},"if",{"type":14,"tag":318,"props":1138,"children":1139},{"style":341},[1140],{"type":20,"value":1141}," (",{"type":14,"tag":318,"props":1143,"children":1144},{"style":380},[1145],{"type":20,"value":1146},"!",{"type":14,"tag":318,"props":1148,"children":1149},{"style":341},[1150],{"type":20,"value":1151},"token) {\n",{"type":14,"tag":318,"props":1153,"children":1154},{"class":320,"line":541},[1155,1160,1164,1168,1173],{"type":14,"tag":318,"props":1156,"children":1157},{"style":341},[1158],{"type":20,"value":1159},"  console.",{"type":14,"tag":318,"props":1161,"children":1162},{"style":351},[1163],{"type":20,"value":1063},{"type":14,"tag":318,"props":1165,"children":1166},{"style":341},[1167],{"type":20,"value":491},{"type":14,"tag":318,"props":1169,"children":1170},{"style":494},[1171],{"type":20,"value":1172},"'Error: GITHUB_TOKEN not set'",{"type":14,"tag":318,"props":1174,"children":1175},{"style":341},[1176],{"type":20,"value":1086},{"type":14,"tag":318,"props":1178,"children":1179},{"class":320,"line":550},[1180,1185,1190],{"type":14,"tag":318,"props":1181,"children":1182},{"style":341},[1183],{"type":20,"value":1184},"} ",{"type":14,"tag":318,"props":1186,"children":1187},{"style":380},[1188],{"type":20,"value":1189},"else",{"type":14,"tag":318,"props":1191,"children":1192},{"style":341},[1193],{"type":20,"value":1194}," {\n",{"type":14,"tag":318,"props":1196,"children":1197},{"class":320,"line":635},[1198,1202,1206,1210,1215],{"type":14,"tag":318,"props":1199,"children":1200},{"style":341},[1201],{"type":20,"value":1159},{"type":14,"tag":318,"props":1203,"children":1204},{"style":351},[1205],{"type":20,"value":1063},{"type":14,"tag":318,"props":1207,"children":1208},{"style":341},[1209],{"type":20,"value":491},{"type":14,"tag":318,"props":1211,"children":1212},{"style":494},[1213],{"type":20,"value":1214},"'Token loaded successfully'",{"type":14,"tag":318,"props":1216,"children":1217},{"style":341},[1218],{"type":20,"value":1086},{"type":14,"tag":318,"props":1220,"children":1222},{"class":320,"line":1221},10,[1223],{"type":14,"tag":318,"props":1224,"children":1225},{"style":341},[1226],{"type":20,"value":632},{"type":14,"tag":28,"props":1228,"children":1230},{"id":1229},"debugging-secrets",[1231],{"type":20,"value":1232},"Debugging Secrets",{"type":14,"tag":90,"props":1234,"children":1236},{"id":1235},"secret-not-working",[1237],{"type":20,"value":1238},"Secret Not Working",{"type":14,"tag":22,"props":1240,"children":1241},{},[1242],{"type":20,"value":1243},"Check secret name:",{"type":14,"tag":308,"props":1245,"children":1247},{"code":1246,"language":311,"meta":7,"className":312,"style":7},"# Is secret defined?\nenv | grep GITHUB\n\n# If not shown, double-check name\n# Must exactly match in code\n# Case sensitive!\n",[1248],{"type":14,"tag":147,"props":1249,"children":1250},{"__ignoreMap":7},[1251,1259,1282,1289,1297,1305],{"type":14,"tag":318,"props":1252,"children":1253},{"class":320,"line":321},[1254],{"type":14,"tag":318,"props":1255,"children":1256},{"style":325},[1257],{"type":20,"value":1258},"# Is secret defined?\n",{"type":14,"tag":318,"props":1260,"children":1261},{"class":320,"line":331},[1262,1267,1272,1277],{"type":14,"tag":318,"props":1263,"children":1264},{"style":351},[1265],{"type":20,"value":1266},"env",{"type":14,"tag":318,"props":1268,"children":1269},{"style":380},[1270],{"type":20,"value":1271}," |",{"type":14,"tag":318,"props":1273,"children":1274},{"style":351},[1275],{"type":20,"value":1276}," grep",{"type":14,"tag":318,"props":1278,"children":1279},{"style":494},[1280],{"type":20,"value":1281}," GITHUB\n",{"type":14,"tag":318,"props":1283,"children":1284},{"class":320,"line":347},[1285],{"type":14,"tag":318,"props":1286,"children":1287},{"emptyLinePlaceholder":361},[1288],{"type":20,"value":364},{"type":14,"tag":318,"props":1290,"children":1291},{"class":320,"line":357},[1292],{"type":14,"tag":318,"props":1293,"children":1294},{"style":325},[1295],{"type":20,"value":1296},"# If not shown, double-check name\n",{"type":14,"tag":318,"props":1298,"children":1299},{"class":320,"line":367},[1300],{"type":14,"tag":318,"props":1301,"children":1302},{"style":325},[1303],{"type":20,"value":1304},"# Must exactly match in code\n",{"type":14,"tag":318,"props":1306,"children":1307},{"class":320,"line":376},[1308],{"type":14,"tag":318,"props":1309,"children":1310},{"style":325},[1311],{"type":20,"value":1312},"# Case sensitive!\n",{"type":14,"tag":90,"props":1314,"children":1316},{"id":1315},"secret-not-visible-in-logs",[1317],{"type":20,"value":1318},"Secret Not Visible in Logs",{"type":14,"tag":22,"props":1320,"children":1321},{},[1322],{"type":20,"value":1323},"This is correct! Secrets never appear in logs:",{"type":14,"tag":308,"props":1325,"children":1327},{"code":1326,"language":311,"meta":7,"className":312,"style":7},"# Even if you echo it\necho $GITHUB_TOKEN\n# Output: (blank)\n\n# Logs show secret was used, not the value\n",[1328],{"type":14,"tag":147,"props":1329,"children":1330},{"__ignoreMap":7},[1331,1339,1350,1358,1365],{"type":14,"tag":318,"props":1332,"children":1333},{"class":320,"line":321},[1334],{"type":14,"tag":318,"props":1335,"children":1336},{"style":325},[1337],{"type":20,"value":1338},"# Even if you echo it\n",{"type":14,"tag":318,"props":1340,"children":1341},{"class":320,"line":331},[1342,1346],{"type":14,"tag":318,"props":1343,"children":1344},{"style":335},[1345],{"type":20,"value":338},{"type":14,"tag":318,"props":1347,"children":1348},{"style":341},[1349],{"type":20,"value":344},{"type":14,"tag":318,"props":1351,"children":1352},{"class":320,"line":347},[1353],{"type":14,"tag":318,"props":1354,"children":1355},{"style":325},[1356],{"type":20,"value":1357},"# Output: (blank)\n",{"type":14,"tag":318,"props":1359,"children":1360},{"class":320,"line":357},[1361],{"type":14,"tag":318,"props":1362,"children":1363},{"emptyLinePlaceholder":361},[1364],{"type":20,"value":364},{"type":14,"tag":318,"props":1366,"children":1367},{"class":320,"line":367},[1368],{"type":14,"tag":318,"props":1369,"children":1370},{"style":325},[1371],{"type":20,"value":1372},"# Logs show secret was used, not the value\n",{"type":14,"tag":90,"props":1374,"children":1376},{"id":1375},"cant-use-secret",[1377],{"type":20,"value":1378},"Can't Use Secret",{"type":14,"tag":308,"props":1380,"children":1382},{"code":1381},"Error: \"GITHUB_TOKEN not found\"\n\nReasons:\n1. Typo in secret name\n2. Case mismatch\n3. Secret not added to this workspace\n4. Terminal needs restart\n\nFix:\n1. Check spelling exactly\n2. Verify in workspace settings\n3. Restart terminal or workspace\n",[1383],{"type":14,"tag":147,"props":1384,"children":1385},{"__ignoreMap":7},[1386],{"type":20,"value":1381},{"type":14,"tag":28,"props":1388,"children":1390},{"id":1389},"sharing-workspace-with-secrets",[1391],{"type":20,"value":1392},"Sharing Workspace with Secrets",{"type":14,"tag":90,"props":1394,"children":1396},{"id":1395},"important-security-note",[1397],{"type":20,"value":1398},"Important Security Note",{"type":14,"tag":22,"props":1400,"children":1401},{},[1402],{"type":20,"value":1403},"When sharing workspace:",{"type":14,"tag":308,"props":1405,"children":1407},{"code":1406},"With View permission:\n- Can see your code\n- Can NOT see secret values\n- Can NOT use secrets\n- Secrets invisible to them\n\nWith Edit permission:\n- Can see your code\n- Can access secrets (in code running)\n- Can NOT see secret values directly\n- When using shared workspace, their code can use the secrets\n\nWith Admin permission:\n- Can see everything including secrets\n- Only share with trusted people!\n",[1408],{"type":14,"tag":147,"props":1409,"children":1410},{"__ignoreMap":7},[1411],{"type":20,"value":1406},{"type":14,"tag":90,"props":1413,"children":1415},{"id":1414},"credential-leak-prevention",[1416],{"type":20,"value":1417},"Credential Leak Prevention",{"type":14,"tag":22,"props":1419,"children":1420},{},[1421],{"type":20,"value":1422},"Even if code is shared:",{"type":14,"tag":308,"props":1424,"children":1426},{"code":1425},"\u002F\u002F Code visible to reviewer:\nconst token = process.env.GITHUB_TOKEN;\nfetch('https:\u002F\u002Fapi.github.com\u002Fuser', {\n  headers: { 'Authorization': `token ${token}` }\n});\n\n\u002F\u002F Reviewer sees code but NOT token value\n\u002F\u002F Only the variable name shows\n",[1427],{"type":14,"tag":147,"props":1428,"children":1429},{"__ignoreMap":7},[1430],{"type":20,"value":1425},{"type":14,"tag":28,"props":1432,"children":1434},{"id":1433},"workspace-template-secrets",[1435],{"type":20,"value":1436},"Workspace Template Secrets",{"type":14,"tag":90,"props":1438,"children":1440},{"id":1439},"pre-populate-secrets",[1441],{"type":20,"value":1442},"Pre-populate Secrets",{"type":14,"tag":22,"props":1444,"children":1445},{},[1446],{"type":20,"value":1447},"Template maintainers can suggest needed secrets:",{"type":14,"tag":308,"props":1449,"children":1451},{"code":1450},"When creating workspace from template:\n\"This template needs these secrets:\"\n- GITHUB_TOKEN\n- DATABASE_URL\n- API_KEY\n\nUser must add these manually\nSecurity: New user adds their own credentials\n",[1452],{"type":14,"tag":147,"props":1453,"children":1454},{"__ignoreMap":7},[1455],{"type":20,"value":1450},{"type":14,"tag":90,"props":1457,"children":1459},{"id":1458},"documentation",[1460],{"type":20,"value":1461},"Documentation",{"type":14,"tag":22,"props":1463,"children":1464},{},[1465],{"type":20,"value":1466},"Document needed secrets:",{"type":14,"tag":308,"props":1468,"children":1470},{"code":1469},"# My Template\n\nRequires these secrets:\n- GITHUB_TOKEN: GitHub API token for private repos\n- DATABASE_URL: PostgreSQL connection string\n- STRIPE_API_KEY: Stripe API key for payments\n\nTo use:\n1. Create workspace\n2. Go to Settings > Secrets\n3. Add the above secrets\n4. Restart terminal\n5. Ready to use!\n",[1471],{"type":14,"tag":147,"props":1472,"children":1473},{"__ignoreMap":7},[1474],{"type":20,"value":1469},{"type":14,"tag":28,"props":1476,"children":1478},{"id":1477},"export-and-backup",[1479],{"type":20,"value":1480},"Export and Backup",{"type":14,"tag":90,"props":1482,"children":1484},{"id":1483},"cant-export-secrets",[1485],{"type":20,"value":1486},"Can't Export Secrets",{"type":14,"tag":22,"props":1488,"children":1489},{},[1490],{"type":20,"value":1491},"For security, you can't:",{"type":14,"tag":40,"props":1493,"children":1494},{},[1495,1500,1505],{"type":14,"tag":44,"props":1496,"children":1497},{},[1498],{"type":20,"value":1499},"Export all secrets",{"type":14,"tag":44,"props":1501,"children":1502},{},[1503],{"type":20,"value":1504},"See all secret values",{"type":14,"tag":44,"props":1506,"children":1507},{},[1508],{"type":20,"value":1509},"Backup secrets as plain text",{"type":14,"tag":22,"props":1511,"children":1512},{},[1513],{"type":20,"value":1514},"You can:",{"type":14,"tag":40,"props":1516,"children":1517},{},[1518,1523,1528],{"type":14,"tag":44,"props":1519,"children":1520},{},[1521],{"type":20,"value":1522},"✓ Delete and re-create (if you have values)",{"type":14,"tag":44,"props":1524,"children":1525},{},[1526],{"type":20,"value":1527},"✓ List secret names (not values)",{"type":14,"tag":44,"props":1529,"children":1530},{},[1531],{"type":20,"value":1532},"✓ Rotate and update",{"type":14,"tag":28,"props":1534,"children":1536},{"id":1535},"advanced-custom-secret-service",[1537],{"type":20,"value":1538},"Advanced: Custom Secret Service",{"type":14,"tag":90,"props":1540,"children":1542},{"id":1541},"store-in-external-service",[1543],{"type":20,"value":1544},"Store in External Service",{"type":14,"tag":22,"props":1546,"children":1547},{},[1548],{"type":20,"value":1549},"For enterprise teams:",{"type":14,"tag":97,"props":1551,"children":1552},{},[1553,1558,1563,1568],{"type":14,"tag":44,"props":1554,"children":1555},{},[1556],{"type":20,"value":1557},"Use HashiCorp Vault",{"type":14,"tag":44,"props":1559,"children":1560},{},[1561],{"type":20,"value":1562},"Or AWS Secrets Manager",{"type":14,"tag":44,"props":1564,"children":1565},{},[1566],{"type":20,"value":1567},"Or Azure Key Vault",{"type":14,"tag":44,"props":1569,"children":1570},{},[1571],{"type":20,"value":1572},"Workspace fetches at startup",{"type":14,"tag":308,"props":1574,"children":1576},{"code":1575,"language":311,"meta":7,"className":312,"style":7},"# At workspace startup\ncurl https:\u002F\u002Fvault.company.com\u002Fapi\u002Fsecret \\\n  -H \"Auth: $VAULT_TOKEN\" \\\n  | jq -r 'to entries | .[] | \"\\(.key)=\\(.value)\"' \\\n  | export\n",[1577],{"type":14,"tag":147,"props":1578,"children":1579},{"__ignoreMap":7},[1580,1588,1604,1630,1657],{"type":14,"tag":318,"props":1581,"children":1582},{"class":320,"line":321},[1583],{"type":14,"tag":318,"props":1584,"children":1585},{"style":325},[1586],{"type":20,"value":1587},"# At workspace startup\n",{"type":14,"tag":318,"props":1589,"children":1590},{"class":320,"line":331},[1591,1595,1600],{"type":14,"tag":318,"props":1592,"children":1593},{"style":351},[1594],{"type":20,"value":707},{"type":14,"tag":318,"props":1596,"children":1597},{"style":494},[1598],{"type":20,"value":1599}," https:\u002F\u002Fvault.company.com\u002Fapi\u002Fsecret",{"type":14,"tag":318,"props":1601,"children":1602},{"style":335},[1603],{"type":20,"value":732},{"type":14,"tag":318,"props":1605,"children":1606},{"class":320,"line":347},[1607,1612,1617,1622,1626],{"type":14,"tag":318,"props":1608,"children":1609},{"style":335},[1610],{"type":20,"value":1611},"  -H",{"type":14,"tag":318,"props":1613,"children":1614},{"style":494},[1615],{"type":20,"value":1616}," \"Auth: ",{"type":14,"tag":318,"props":1618,"children":1619},{"style":341},[1620],{"type":20,"value":1621},"$VAULT_TOKEN",{"type":14,"tag":318,"props":1623,"children":1624},{"style":494},[1625],{"type":20,"value":727},{"type":14,"tag":318,"props":1627,"children":1628},{"style":335},[1629],{"type":20,"value":732},{"type":14,"tag":318,"props":1631,"children":1632},{"class":320,"line":357},[1633,1638,1643,1648,1653],{"type":14,"tag":318,"props":1634,"children":1635},{"style":380},[1636],{"type":20,"value":1637},"  |",{"type":14,"tag":318,"props":1639,"children":1640},{"style":351},[1641],{"type":20,"value":1642}," jq",{"type":14,"tag":318,"props":1644,"children":1645},{"style":335},[1646],{"type":20,"value":1647}," -r",{"type":14,"tag":318,"props":1649,"children":1650},{"style":494},[1651],{"type":20,"value":1652}," 'to entries | .[] | \"\\(.key)=\\(.value)\"'",{"type":14,"tag":318,"props":1654,"children":1655},{"style":335},[1656],{"type":20,"value":732},{"type":14,"tag":318,"props":1658,"children":1659},{"class":320,"line":367},[1660,1664],{"type":14,"tag":318,"props":1661,"children":1662},{"style":380},[1663],{"type":20,"value":1637},{"type":14,"tag":318,"props":1665,"children":1666},{"style":380},[1667],{"type":20,"value":1668}," export\n",{"type":14,"tag":28,"props":1670,"children":1672},{"id":1671},"related-topics",[1673],{"type":20,"value":1674},"Related Topics",{"type":14,"tag":40,"props":1676,"children":1677},{},[1678,1690,1701],{"type":14,"tag":44,"props":1679,"children":1680},{},[1681,1688],{"type":14,"tag":1682,"props":1683,"children":1685},"a",{"href":1684},"\u002Fdocs\u002Ffeatures\u002Fapi-keys",[1686],{"type":20,"value":1687},"API Keys",{"type":20,"value":1689}," - Manage account API keys",{"type":14,"tag":44,"props":1691,"children":1692},{},[1693,1699],{"type":14,"tag":1682,"props":1694,"children":1696},{"href":1695},"\u002Fdocs\u002Ffeatures\u002Fcoder-workspaces",[1697],{"type":20,"value":1698},"Coder Workspaces",{"type":20,"value":1700}," - Create workspaces",{"type":14,"tag":44,"props":1702,"children":1703},{},[1704,1710],{"type":14,"tag":1682,"props":1705,"children":1707},{"href":1706},"\u002Fdocs\u002Ffeatures\u002Factivity-logs",[1708],{"type":20,"value":1709},"Activity Logs",{"type":20,"value":1711}," - See secret usage",{"type":14,"tag":1713,"props":1714,"children":1715},"style",{},[1716],{"type":20,"value":1717},"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);}",{"title":7,"searchDepth":331,"depth":331,"links":1719},[1720,1721,1725,1731,1736,1743,1748,1753,1757,1761,1764,1767],{"id":30,"depth":331,"text":33},{"id":85,"depth":331,"text":88,"children":1722},[1723,1724],{"id":92,"depth":347,"text":95},{"id":185,"depth":347,"text":188},{"id":292,"depth":331,"text":295,"children":1726},[1727,1728,1729,1730],{"id":298,"depth":347,"text":301},{"id":401,"depth":347,"text":404},{"id":559,"depth":347,"text":562},{"id":311,"depth":347,"text":646},{"id":743,"depth":331,"text":746,"children":1732},[1733,1734,1735],{"id":749,"depth":347,"text":752},{"id":788,"depth":347,"text":791},{"id":845,"depth":347,"text":848},{"id":864,"depth":331,"text":867,"children":1737},[1738,1739,1740,1741,1742],{"id":870,"depth":347,"text":873},{"id":884,"depth":347,"text":887},{"id":898,"depth":347,"text":901},{"id":912,"depth":347,"text":915},{"id":926,"depth":347,"text":929},{"id":940,"depth":331,"text":943,"children":1744},[1745,1746,1747],{"id":946,"depth":347,"text":949},{"id":965,"depth":347,"text":968},{"id":1027,"depth":347,"text":1030},{"id":1229,"depth":331,"text":1232,"children":1749},[1750,1751,1752],{"id":1235,"depth":347,"text":1238},{"id":1315,"depth":347,"text":1318},{"id":1375,"depth":347,"text":1378},{"id":1389,"depth":331,"text":1392,"children":1754},[1755,1756],{"id":1395,"depth":347,"text":1398},{"id":1414,"depth":347,"text":1417},{"id":1433,"depth":331,"text":1436,"children":1758},[1759,1760],{"id":1439,"depth":347,"text":1442},{"id":1458,"depth":347,"text":1461},{"id":1477,"depth":331,"text":1480,"children":1762},[1763],{"id":1483,"depth":347,"text":1486},{"id":1535,"depth":331,"text":1538,"children":1765},[1766],{"id":1541,"depth":347,"text":1544},{"id":1671,"depth":331,"text":1674},"markdown","content:docs:features:coder-secrets.md","content","docs\u002Ffeatures\u002Fcoder-secrets.md","docs\u002Ffeatures\u002Fcoder-secrets","md",1782233762314]