You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: backend/cosmetology-app/app_clients/README.md
+1-140Lines changed: 1 addition & 140 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,9 +56,7 @@ The following scopes are available at the jurisdiction level:
56
56
```
57
57
58
58
Currently, the most common scope needed by app clients is `{jurisdiction}/{compact}.write`, which allows uploading
59
-
license data for a jurisdiction/compact combination. Scopes that expose PII (e.g., `.readSSN`, `.readPrivate`) should
60
-
be granted sparingly and will require valid request signatures once a signing public key is configured for the
61
-
jurisdiction.
59
+
license data for a jurisdiction/compact combination.
62
60
63
61
### 3. Create App Client Using Interactive Python Script
64
62
@@ -108,143 +106,6 @@ link that you'll generate separately.
108
106
As part of the email message sent to the consuming team, be sure to include the onboarding instructions document from
109
107
the `it_staff_onboarding_instructions/` directory.
110
108
111
-
## Managing API Signing Public Keys
112
-
113
-
### Overview
114
-
115
-
Signature-based authentication provides an additional layer of security for API access to sensitive licensure data. Each
116
-
compact/state combination can have multiple SIGNATURE public keys configured to support key rotation and zero-downtime
117
-
deployments.
118
-
119
-
### Authorization Requirements
120
-
121
-
**⚠️ CRITICAL SECURITY NOTICE:** Due to the sensitivity of the data protected by SIGNATURE authentication (including
122
-
partial Social Security Numbers, personal addresses, and professional license details), configuration of new SIGNATURE
123
-
public keys in production environments **MUST** include explicit authorization from the state board executive director.
124
-
125
-
126
-
### Creating SIGNATURE Public Keys
127
-
128
-
Once a state configures a public key, they will be able to access the SIGNATURE-required API endpoints. API endpoints with
129
-
_optional_ SIGNATURE support will also begin to enforce SIGNATURE signatures for that combination of compact and state. **This
130
-
means that, once a compact/state has a public key configured, they will be denied access to SIGNATURE-Optional endpoints,
131
-
such as the `POST license` endpoint, unless they have also implemented SIGNATURE signatures there as well.** Be sure that
132
-
the representative is advised that they should begin signing those requests _before_ CompactConnect has a configured
133
-
public key.
134
-
135
-
#### 1. Prerequisites
136
-
137
-
Before creating a new SIGNATURE public key, ensure you have:
138
-
-**Production Authorization**: Explicit approval from the state board executive director for production environments
139
-
- Validated the identity of the individual providing the public key to you
140
-
- Jurisdiction and compact information confirmed
141
-
- Contact information for the state IT representative
142
-
- The public key file (`.pub` format) from the state IT representative (copy it to the same directory you are running the script from). The name of the file must match the key id.
143
-
- AWS credentials configured with permissions to write to the compact configuration table
144
-
- Python 3.10+ installed with boto3 dependency (`pip install boto3`)
145
-
146
-
#### 2. Key ID Naming Convention
147
-
148
-
The state IT department should provide an identifier; however, you can recommend a descriptive key ID that includes:
149
-
- Environment indicator (if applicable)
150
-
- Version or date suffix
151
-
152
-
Examples:
153
-
-`prod-key-001`
154
-
-`beta-key-2024-01`
155
-
156
-
#### 3. Create SIGNATURE Public Key Using Interactive Python Script
157
-
158
-
**Use the provided Python script in the bin directory for streamlined SIGNATURE key management:**
0 commit comments