-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.production
More file actions
50 lines (44 loc) · 11.9 KB
/
Copy path.env.production
File metadata and controls
50 lines (44 loc) · 11.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
DOTENV_PUBLIC_KEY_PRODUCTION="x25519-public:MCowBQYDK2VuAyEAoAA4aWo8-ddx-kLwkQj2TnLCE7yNoFTJJspVVX1WvCo"
# Production release credentials — encrypted, and committed on purpose.
#
# Everything below is ciphertext once set, so this file is safe in the
# repository: the only thing that opens it is DOTENV_PRIVATE_KEY_PRODUCTION,
# which is the single repository secret the release workflow needs. That is the
# trade — the ciphertext is public, so the key is the whole of the secrecy — and
# what it buys is that rotating a certificate is a reviewable commit rather than
# seven trips through a settings page, and that the same file signs a build on a
# laptop through `buddy env:get`.
#
# Encryption is Stacks' — X25519 + HKDF-SHA-256 + AES-256-GCM per value, so
# every entry carries its own ephemeral key and nothing is reused across the
# file. See @stacksjs/env.
#
# Set a value (encrypts in place, generates the keypair on first use):
#
# bunx buddy env:set APPLE_TEAM_ID 'XXXXXXXXXX' --file .env.production
#
# The first `set` writes DOTENV_PRIVATE_KEY_PRODUCTION to .env.keys, which is
# gitignored. Put it in the repository's secrets and nowhere else; it is not
# recoverable from this file.
#
# Read one back locally:
#
# bunx buddy env:get APPLE_TEAM_ID --file .env.production
# The Developer ID Application certificate, as a base64 .p12.
# base64 -i certificate.p12 | pbcopy
APPLE_CERTIFICATE_BASE64="encrypted:v2:eyJ2IjoyLCJlcGsiOiJNQ293QlFZREsyVnVBeUVBeUQyZmVyUGtPbUlFRzU1aUtzdXdNdTJQckRWdVNYdi1wcUN4QTFQVDJSUSIsInNhbHQiOiJzME1aOUJncXI0UkZRR2lrSzlmdTZnIiwibm9uY2UiOiJaUGhNZ2xKcWoyMXdxRFUzIiwiY2lwaGVydGV4dCI6IlNLOTV5emNEQTlKbzk1NGltWndPUU80U2lvSGd5d2Nmd1hzdU9GVHlKbkVZMUl2amZSVmRnTEFQZ1dsOTVKdWxCM2JCSkpzVTlESDB0MVltR21TaDgxNDdlamNiWFljQ1A0VkxMRWtQQUVGR1U3MGRYdjlUNXdvVUxhOTVtTTFBV3NuOEcwSWpxQ1lTMU0tWHBObGZzSThYaEUwa1BfQnJ3cERZbnllX1EybXBTaERKRWdXWlh4TW9EY0JhclBDN2Q5ZVZ4N2dYeDdoUUVwY29QMkUtUHZMWFlUaThEU1U3SEFRUlV6bFF0NXVTNkNzTEpyb2tfbW1XUl83SFI2NjJCazYwRTlMdnRQTnlZeVhiWmRuUWhlT2tkWEZfamM2NUpZNDdzTjlZSFozNU5zcnB5VnYtN2UwLW04cUxPTUthMW51d05JRE9jSjNUMlNRdjJRc3BGYk9PQlVmaXlVejdqdmM5QlFHWXBpNEhra0RXNU9LRlAyc1J3bTYxbGFSN0JLQ3lkUzRsalRmbEVIa182VUhaNjBtODhRbkVXXzhDdURaTTZQYnI2emNHUDVwMzhkaW5nWHVPazNoenR1UmFSMTdfXy1rLUhLLUZ5SllDa1hMd0wzOUtpd0ZmMXhFeXNSa0Q1TzlNSzYxM1ZJMTZ2TTVhM2YwT3ZFM2pESTVhZjBnNmFCNXZQaW5tTVhoNFduNzJzTGtlV0lVOVVCNC1oSmdpbEVBU1FXd202VHZKNEJYNWE1SnJaenpncDladkZsdUdJdUVjcHA2VDVuNXh2SkxZUkViYUx3MVFjUFgxTmwwZG92OGNMVkNGUDd3UEdYeUFReFlfdk42c3ZqWnB1MFFWNU4xbkNEclJlMy14LVQwRlFSV1VMS0RIc0lnODljdTFyS3dXRUFPZFhLZHh3V1BBaGFsTHhramduYjVqQlNWekRnLTJhMnQ4MnBoY0V2dGh5dXRxUk9lLW1NUzE3NzlzOFVtOXU0c2NjMm1tVmZXd0poWEstYmY1Z2pQMWJXVV9TaF9lcmMwX3dUODJuUzJOX3BHSTVoNG45d0RBT0wwZnZVcGJDaVJJY1lnc1VwSzgxYlN4cnZ6d1VKVVZoRkwySkMtVUduZGxnekVyRjhoRkUzSzFoWXFUczFuT0lSWlhlY3BEODQyYTY2OW1idE1yN185Vk5jT3BRY19aS2tFbVluZnd5eXlpMEpKbW9tVWVhYmdibmtnUi0yNXo0OERLck9tdVNlbHRWOC00MGZRSm1rNU1vSmdIbzVMdGxnSHJCNFpncGpmV1VmWjRJZm5RaXh5Q3NfR3J3aXYtSW80by14ZS1SZTE3Vk9xaklPUFBRZm1OeGRORjNtc2xERlFzZVdxYjZxSzRTRXM5Y3BjeUc0UVFPWjFFcHFxeVFEOEZBT0d4NWRzWUhZOTBDM2ZnRFUtdEZFeWR1Zm41OTZKVlp4UE45V3hpX2lQZkMxa20zSk8xa1d1OGhNY2RRLUNBN09VVU5NUWJpNEpSR2dNUkRvMzF1TkdMbF9ZSTBTZU9HR3ZjRm5TOHd0bjBTWXRVS1d4Q3pmbFY1b21hZUN2WGlTcXhRUTh3ZlVJZVhOaU5sM3FPbUNUY2hBeExpeEhsYTF0T2E2SmFPX0xaU0JZUzlXQm1BSlljVlpGc0d1ZktNbUtjWHkwU2xHc3NMZklwMmk2QWdIcXk0TE5hOGVtYlMyNWhRckFTQmpRckdPZVJjc1NIaW13cklEcG42U2ZSWGpjbXpJUmU0UFhYUnVMZVRHQ19UYmJ1aGxRaGxnUnRITkpDSnRQdVlyWndEc2pCTDA0dDFvUmVMUm5UZ1Vpc0w0SzZCbnRiM3d6MVhITEk4VEUtZHRKQ0dObHFYd2FFWlg5czNjRGRfV2NHSTFxeEVlNm00bGtqR21WZEtJNUlmTzVLOU45RmN4eUxsVzN0MGRSOHNzUWszS3Y3dzFkNjl6NW5JNFdkeW1Mc1RwbDZPYnZubEFsc09paWdabGFtbFhGLUZsTTRRdklXZGFzVWkxMlh4dW5lREVWQ0dadnNsT3d6cGhhQzk3SU1faWV5WHhhb1IyeEhhbHl3Y05XUTE3QXdCUkpLVDVTUVZJazJOeUtpSU9JalQtckRRVFhyT245TDFldW1wLVc4Y1ZkLTZ1ZHZfNUpNNkVFaWVub3A1YkxFZ1NtdGVGOGV0ZHE1TU1UV1psLTJiYk42Z3BGRjVYZEctWFh6M3N4X1k2aUUwZWQ3b0RjRU1RVWk3MW9rVjJaM1lONXFwclYzNlNmS0poQjFwQU9sV1VQaEdiT3dPaldnckJ6b29vZkFFZ3NpQ1pqZnVHbWdyQzZpa0x6UlJpWjJpMFlodzV4RnJhVlJVcDVfUlF5Mjlfbk5BZlVtSkFCLUI5V1hTNW9qYjhsMURzVTVyZzhvSjVQVVJfQVlqTXdrektUYkdZSFdwNU8xRVI4ZmpaTHVZenVlUV9uS25iX3hXWFNlcHpPZEJFd195ZXJDdTVsSEtBdHRQV0s5b08wSml6SHRtRk5QQ3l1enlKdDZGQzdjRFo5NnAtWDhnUThEdmViRnV3NDdSM090R25TQlJXU2dnWEYyT2lOR1NyTDFsTmtBV1ZIN1dtbkx6M2l1VXItV05KYnBqc2dDN3VodFBGY1B3YTRNZUlPUC1ackZ2S3lxMUo1Sl90alNwc1dRR0dfMFFaVHo0dXE5dVRoay1SZEpSRnBkX3I4U2poN181SXdZSU1xZjZKbzhobjJvV3MtVldPWHd1dWVoT3ltakx1UTJZQzdwU2J4c2IxV1hzUUt4dzRWX245dnh4eUFBU3B2MmIyaEw4QTNlR09rWk0tbFZuR3RYWFVUTzVUdVlLTV9GaFpEdUsySC1rdl9iR3czaVpDU2R2dXEwZ2g2ZldSRUVFTk9rLXE1T3ozN1Z4OEpHak93THd3TGFIZkc1RG5CM2p3UnZhdFBWYlNUYVM4bjVXLXA5NU9BZ3FwUmc2QjB6bWZQRTJFdHY5MWRKYVlrUXZsVXRrcjhuRzREeEotV09PLWdNZVIxeUtJa0c1VE5LUmY4X3M3cWNSV3ZoVUs5U1lIMF9YdTc2NnFHUEVvelZONGZwWmtTRGh0T2dvYmRvQ1FWZm5pZWNETTFmWk9RYmVLa1I4ajFNQUo1YkJDS1lWcGE3enNsZHdHR19ueHl3T1gxY2VOa1RNaG9LWVVFLWRpNGpHdjE4bUUzcjE0ZC1RRnJDYVdNLThpY21HdEhucHlLbHJRV2hJeFJkYnAtOXFQeDlKWVB6c2VySG0tOVp6ajlOdUVmNmlTakZXUk92TW8wOTFRUHVmV0F3M0FyZXFfRW1xTVRlWDBuOFk4WTVLVVlxaF82eUliZmgyaHBHS2N3RFFzMXRUdVgwMDczOGVYM3lSU1NfQXR1cVF1Y2dqMmZxYVVubHZtNVVSOHJLeUNBMW02aFhiQlNhZV9ydVpuVmZzSDl6N0prWjJIWl9aTHFfSUpWd29oRnYwVWVXVms3SUJGMWx5dFVkZ181WnFQYXI5VTZRLWp0cUI2QkRDdVd6MnFySEhNdERpa0phTDdjYWxHVTZuZzdJMklrbF9YZDVWX2FkTlNvTWRraFl3Vnl5a2RkQ0JTX0pxN29ZWWo5QmtDV3lfUy1XcFNCNXlPVGVZZ1FCR1EzazFhNHRtdUM2WGx6b01FRjVpQTByZFROU0hvNDdZSkJYcVY0bzlnb1BmUFZ3Tmlpd2hEdmFwd3FhUHdGaW16bTJRdjRWbk9EVVkzbWpFMllRS1N0bFQtVjA4b1Vxd0RlbE03TEhDaTRMVGNPbUt2dzNvT1I0WHdnWm03NXdvWlZSeEJGaHlfZ184OVF0VEc0Zm43cHMwNkRvNmZFY1E0X0JuSkRRVDhrbVQzZEViaVRSSjJaM0pBQnRET0VJWk9MRUNHYnJaLTNGQURKVFpweFp0SmR0SU9GajcxRmR2YmVYNWY3WTEwODUwdDQ3ampqM3NrSDBYVEVITGN5bGQwNElmVWFFS0dLd2tMd3RFbEszN3N2UTRKS1RFaXF0VUV3ZEZXVjhCUkFBZkZyQ1JSTEd4SGcyUUpBSjVtc19PTWtUd21SeHJieHlQU3plWUpoZnE2dzNxa3ZBLXlUWnJaR28wWFRaYXNvak5ZQmstVHdYZTVwZ0JadzFUZ19aRXJUX0VJNnk5SkIyVFE0RFA2SjNVWWpRcW1GOUFvTE04VGlMb3NSY0FrZGdjNmt3WndFYVlOUENGNTJpRkFTQUpBYjIwTmE4djRfM08weFhlTmR3ZjVvcnViZTNlOWVtMUl0dGo4RjVNQUN1WkV6Sm5FblUzYmdZVnRCUU5HZFVfd2hkR2E4M1ltc0R6S09Pcm8yZlhyblpkNjFtb3c3S3QtYUlpbXRjUUVvWmF0MnFLcUNwTkk0bzk3Rk9Ud24xeFNjSlpXN0J5RktleVRpU00xT2ZQR09oR05nY2pPeDdQd3J2LVRrTFV3SUdtNnZIZ1Rxcy1WTUdBekQxNFYzeHFERjlNSlpneE1US3h5cW5uUlZteUdzOG1HN2czai12UHVQTWhkSF9hMG1rVngxN3dFMDFHRWw5eE91LUp2NXJFX29tWHBiNDl6X2o2MmNXTFZFYjRlSFJxeWduTVFUMEJlOUVZblFKN09LQXRkajk5UjlJWWRTdy04cnVBT3hocnhLZ3NSNXFUZEt3bUFPUmJFUThZUXR5NmR2VWNaTy02TjJDSWlRV0h6ZWk0QkhDNnJ5RlZqTlJERmNMNGRyLVRpaUtPS2FqZGdtampGWEdvMUZObVJGeEw4czhYNnR5ZlNJZXZPbWFNSzVPWUd4NkpCWjJzLWFVeERfT0NyT0doTEhpOE13TnlZX255c3d2cXBGZDhZQ2FDMkczcmtWaUlLLWxTSmQ4YnVnbnh3MGpOTmdEWkR6bDQ5ZGxjWDdfeTVyQU4tODA4Rlc0YVdZUmdFdi1va1RZZjN1clRrWVI3X2tfQnZNZ1BLSFNtOFdOVWw1MnI5N3ZYaFhsa0pEN3l2aFpFODF0c3RLUVBJcGkzdjFOX05HV0lJeDNoY3RqNzdES1kwU1Raa1oyMDNUWnNqWEtjWUM1cHV2Z2dBdFF1bGhMaEV1RWtxdVExTVJMLWVwd054U3FXTTBTbWx1VVBsZnZTcm1xXzlCUFkxTFZaYy12d3FpaTVzRGdDU1lIcHZQVC1mN0NCYkJFVXUxaExDa2Y2NmZINE9scmN0LVYweFdrZlJ1N19lN0ZoVFg2djBuX2o2dmM5Sndzc1RGTGliT1ZaVkdPUFg0eGpqWHU5ZXRqSWg0dEt1b3dXUUVUSFMxRGZEZEtScjd0b3dsRFAzNlBoU19GNExpVXU4X1ZCdHFuNnhtTnVRZlZ3djdJVElMWmo1ZDc5LXNUdXhKX21NcWpBMXZEeXBubWVvNXNvLUVWSko3MjRNLVFrRVNoYlB3RUpzenJ6UW5xMGY5Q0ZkUFV4TS1mSjd2bzFGakFULTdJbzd2QmFFOG5mVjc5ZHFWMVBwaHB5UndncDdDTEpUYzBXMGQyM1gxZzBaSXlTRGFCTVhXR1dpNVhwU1pURlZCZ2lRX2F3aUE0SHRiN0E0cFpoVTVsMkJzM3VNOGZ2ZEx6REdtVFRsektwZUs2UkR0bFlaZ1JvRGliYzZCZF9NeWJJQmJDd3hVTTJnVW5xTk9jQ24tWDF6TzhXQ1BrOU5PYjVPT2pNM0NoTHFmM3hGQTNkYnpIaURPN1hmb0JHbElzSVNBRVNLM0lmUk1CTWdoUWdMNHNRUFpSRFZONEtVU0lRQVo0aEdWSHFLRGtmQzhZZDV2cGlWOGsxZVRyNHI2OGVfa1RZdFRpVUtna2E2cDVGYVJyNkttTXFhM1cwbnhmLVNTX2F4TjNJQURjeXhDVXBzYWZXakVPdEhOYnpRN2JjR0phVGd5TlBucGctdEdlOVotVW85Y3VLUGVrWTNiTVVQYWtfWVhDZUFtMGNtdXdzZ1czUDBsRXF2ekltbHFZNGNkZFR5S05wWktBMUZGNW04TEpPTWo2S1Z1N25Ic3lVNlU0dEFMMUx5a2NhajJ4aUdHTkoxQ2dXaUpCaWRkYk9EazZwbXU3bUliN2F1U285Q1h0RG5DTmJSRlZhSzRWMzc5M2ZsTzVOMnY5TTR2UGtrTk9EbmlOUGp1MkpOZC1EODc2R0VjR2kweE9seDdjTVpIa3liZTAxWTVFRVdwRzBRXzZPWXZtel9pei1tdkU2c2hIZUo1S2RZSXF1cHlybFNHTUJ5SHQ3bWt4Vm1Ec2k5ckFlaDJLcFpoNFBzY0QtSF93d002ZTZsdE0zanV2WkZlSHE3MVNRVVYxTVVPVUliMTdQRUlNRkdqbUNHemRhUVBCcFlXekFpVng0ZEJYY3hkV3Y1LTlRSkhiS2hCbkNsNkhtT05uU3EtYmRfZXFvNWFKeWplWnFjSklwWXotY2EzUGh2OUZodHRoX28zVkJvRWZmTTYzUkZIY2pBamowbFY0T25LRzIzNUluaTJiUGI5bU9FVHVYSjhrREFZUFNVdFEzZzFiSkcwaDlrRWNXdW9mT1ZCR2hyTnYwbDdzTHJ4UGNlU1ludG5jUDUzOTg4cl93dlctbUdreVdHNm82RUx5SnJ2d2x5V0RHUEFiSUJYSGVuSXN6U0NuZmpwZjZmWnhwRkRjU3ItU2p3U3BsNEQzbjN0OHY3VDNheWlaX2p3U0Y1MFlEVTdLdDQ0YzdRUGtWdUpqYkhmUDFXa2dicU91WDVHX0lOckVOWHNPUWdEXzBDT3dwRmQ0SHlRa3l4UzhnQm14YVdTQkRBa0NoY2tKNTJTRzFPeXJ0OWNXWEtNT1JWazBmQW1fMzNJOHA0alhHeUJELUxadzlTV1BLRkNjTzM3Q1VWSHdtOTloNFF3LVNHNGlySnFwTWFRczVuQUUwWHdmU3RYczdTeElSZ3NvSlA0NUp6MDBoay1HajJIQUdkNGt1V0pJQmF2dTFLc0lVSnRSUGhXX2pzdkZhUkRqR3FMZ2Q5T0lCcEg3UUdRbEtMYTF4OW1VR1N1UndQLUNHQm1wam1lY25JRlRhWDVUR3hndkt3ck50bmVNVmVGZGZfRFVYaERsVDBvRTlhUzk5QUJadEtFZmVvdTZZM3UtRDRHbTZxNnJWYUQ3Szl1TWxMUnYxNmlqcVcwaG9lVDVoYnJTeS1tU01DX09zbzBNLTdZc1JIMHhWbXBfRmtNZjBiaGFRaWczcjJoTGJQSE5Ga3JVU3RaMmswUkpsX0Z2MDVmU1ZFVzZRQ2d1cW5INjFRYmtOMUNRLWt5U2RPcm90bFlpMEZvSnM1WWptb196MWVON3U5a2hHSFJaSWZRNlVzREJpUjlRS0JZZVBxQzB5eGg4YUtWbU1JTWRiRkx1Q1VVNVdDX1hOQkxJM1B5X1JRR2U4dktvemxWUDVKV2ZYNl8tdFFhYTUyNHpjSEFJamdXT2F1Wnl2eXNkd1hHUURrTTdhNlF4VXQyNDByWWIwNEVfMDlUR1hpVTRhVm1EMkpobUxZZ3RSWEUwdnhybXNTZGx4bmVqaFVaVjNFRGpRR2l2V3ZhQ3NiQ1U0TzFycDVGMUNiYXpYMzV4SzJ2ZlFxTUNKVEYtWTNrQ3NMdFV3YWF3UDBoZDl0QW9NSHE4RkludF9FX2FEMHg3bWRLalJyUHd0LXNUbW1QN0JaaDlYWElwaHMwLXpOZEFEc21SNzFYa2JkTV9zVFgwV1lybWRJQVlwSVVtZ3k0MWNENHJxRmVHdkFTajhUWGN0YU1kejUwSnlIQjZ6ZS1JOGVMUnNjeVVrR01ZdjRNR2NuZWllTXNOSDVqN0pqTWJQTnFaX3RQTHVlb1BtTlVNTVJVIiwidGFnIjoiQ3JsUVczMEdIMzM2SFpfbVJNYXVoQSJ9"
# The password the .p12 was exported with.
APPLE_CERTIFICATE_PASSWORD="encrypted:v2:eyJ2IjoyLCJlcGsiOiJNQ293QlFZREsyVnVBeUVBdGJiUWFfT01hQkZmcGw3OU5PQW4tNjBZRERTZ0JCSWM3Tk4zVEpoTG13WSIsInNhbHQiOiJ6cklybXRaN1JnV3lVbUFkRmgyX2FRIiwibm9uY2UiOiJheVFMUV9mTXZSMl85alVDIiwiY2lwaGVydGV4dCI6InAxak5iNzVYMlVNS0tEMVVwWHk4enRYXzFDbUlOcV9mQ1VRWXB2Q0hrQkJWQlRSTFVEZURGWjBLRWVFQlFBb3EiLCJ0YWciOiJIZElQOXhWU3d6NThwMGNtX2lHbjZBIn0"
# The identity codesign signs with, exactly as `security find-identity -v
# -p codesigning` prints it — e.g. "Developer ID Application: Name (TEAMID)".
APPLE_SIGNING_IDENTITY="encrypted:v2:eyJ2IjoyLCJlcGsiOiJNQ293QlFZREsyVnVBeUVBdkNuZ1J6S2p2RXoyOEx3emtyZUlLdWlsTko4c3lzLUVNdWczWXJJVFdTayIsInNhbHQiOiJHQ2dGQTRadFN2amR3cGZQOEZZdjRBIiwibm9uY2UiOiJ2eGk5TTkwQXNlcnM5NXZkIiwiY2lwaGVydGV4dCI6Ijd6bkMtbm9hTGhlSE92NVdoTDh6RG5SMWQ4Y0dKZy1MLXhRRnZpZG1lbHp5eEJtMl8tUl9CSzZPb2JOVldXYnZWek9TIiwidGFnIjoiNUk0VGt5b2kzeVRRZjNjT1VmQTVhdyJ9"
# Any string. It is the password for the throwaway keychain CI creates for the
# certificate and destroys with the runner.
KEYCHAIN_PASSWORD="encrypted:v2:eyJ2IjoyLCJlcGsiOiJNQ293QlFZREsyVnVBeUVBSHVhT2tZT0hFN0RiajhDZ2JDajczNm1tY2V2MWRKWGRWT1I5VXlCWEZWUSIsInNhbHQiOiJCYzdpZUlicTlFQ0JJLXYxcjYzX1lnIiwibm9uY2UiOiI1SWVsR01maXlyTm44WmhNIiwiY2lwaGVydGV4dCI6InZEcE5QMERvaHo0am95U3B5RHR2UHhlT1o5UkZsOUdLZFUxVEZfWTRFSEF6YV9CY2NSMDRUOWZqVkwwZndROVQiLCJ0YWciOiJUMDRvdjRqSWw4RThweDJwQzEwQVd3In0"
# The Apple ID that notarizes, and an app-specific password for it —
# appleid.apple.com → Sign-In and Security → App-Specific Passwords. Not the
# account password.
APPLE_ID="encrypted:v2:eyJ2IjoyLCJlcGsiOiJNQ293QlFZREsyVnVBeUVBOGFEYUF1V3MtZl9Yam5kaUIzVmxaTl9fRnJuSGtodWg3WGtINE1KQ1cxWSIsInNhbHQiOiJrRUV3QjFNNTJWSHZhRHdEdExXZ0FBIiwibm9uY2UiOiI5Ni1wT0NUd1hYYVJQemY0IiwiY2lwaGVydGV4dCI6IkVuSXBnQnRDaWREZEZldFY2QURXVGgtMCIsInRhZyI6InNVSDBSdTZjZVJnb0ZONTNvYVJHaXcifQ"
APPLE_APP_PASSWORD="encrypted:v2:eyJ2IjoyLCJlcGsiOiJNQ293QlFZREsyVnVBeUVBUUU1SkgxSGZfeWtLb25OUU9pc21xTF92eF9ET1cyNVJPQlNNV2xoYlJRayIsInNhbHQiOiJJVXNsUzh2dk9uN2pUMlRxUXBfYW5BIiwibm9uY2UiOiJGZUdqdnB4V1dvOW5FTmpYIiwiY2lwaGVydGV4dCI6IkV2VjBOTFBnc1EzdWhhUDNvcVNRTWhfeGxBIiwidGFnIjoiZ1BxR2hxQlpFRzJNVy14RWRDcTEyUSJ9"
# The ten-character team identifier from developer.apple.com → Membership.
APPLE_TEAM_ID="encrypted:v2:eyJ2IjoyLCJlcGsiOiJNQ293QlFZREsyVnVBeUVBNjc4eDlpWXhpSk9WbGEyaVB1WGJ6Qnl4MHFjdjlOZElJZUVPNnVmLTNnbyIsInNhbHQiOiJkSTJxOGJiMnBCeHk2SGg1a0dESXp3Iiwibm9uY2UiOiIwWjVGTnBrbEprd3RMN0w5IiwiY2lwaGVydGV4dCI6IlBFU1hXMk1ZNlc0NThRIiwidGFnIjoiODhqS1FXS1c4VjV5V1BvdDNmaVpFdyJ9"