oauth2 2.0.18 → 2.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth2
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.18
4
+ version: 2.0.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
@@ -39,6 +39,26 @@ cert_chain:
39
39
  -----END CERTIFICATE-----
40
40
  date: 1980-01-02 00:00:00.000000000 Z
41
41
  dependencies:
42
+ - !ruby/object:Gem::Dependency
43
+ name: auth-sanitizer
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '0.2'
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 0.2.1
52
+ type: :runtime
53
+ prerelease: false
54
+ version_requirements: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - "~>"
57
+ - !ruby/object:Gem::Version
58
+ version: '0.2'
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.1
42
62
  - !ruby/object:Gem::Dependency
43
63
  name: faraday
44
64
  requirement: !ruby/object:Gem::Requirement
@@ -136,7 +156,7 @@ dependencies:
136
156
  version: '2.0'
137
157
  - - ">="
138
158
  - !ruby/object:Gem::Version
139
- version: 2.0.3
159
+ version: 2.0.5
140
160
  type: :runtime
141
161
  prerelease: false
142
162
  version_requirements: !ruby/object:Gem::Requirement
@@ -146,7 +166,7 @@ dependencies:
146
166
  version: '2.0'
147
167
  - - ">="
148
168
  - !ruby/object:Gem::Version
149
- version: 2.0.3
169
+ version: 2.0.5
150
170
  - !ruby/object:Gem::Dependency
151
171
  name: version_gem
152
172
  requirement: !ruby/object:Gem::Requirement
@@ -156,7 +176,7 @@ dependencies:
156
176
  version: '1.1'
157
177
  - - ">="
158
178
  - !ruby/object:Gem::Version
159
- version: 1.1.9
179
+ version: 1.1.11
160
180
  type: :runtime
161
181
  prerelease: false
162
182
  version_requirements: !ruby/object:Gem::Requirement
@@ -166,139 +186,151 @@ dependencies:
166
186
  version: '1.1'
167
187
  - - ">="
168
188
  - !ruby/object:Gem::Version
169
- version: 1.1.9
189
+ version: 1.1.11
170
190
  - !ruby/object:Gem::Dependency
171
- name: addressable
191
+ name: kettle-dev
172
192
  requirement: !ruby/object:Gem::Requirement
173
193
  requirements:
174
194
  - - "~>"
175
195
  - !ruby/object:Gem::Version
176
- version: '2.8'
196
+ version: '2.1'
177
197
  - - ">="
178
198
  - !ruby/object:Gem::Version
179
- version: 2.8.7
199
+ version: 2.1.1
180
200
  type: :development
181
201
  prerelease: false
182
202
  version_requirements: !ruby/object:Gem::Requirement
183
203
  requirements:
184
204
  - - "~>"
185
205
  - !ruby/object:Gem::Version
186
- version: '2.8'
206
+ version: '2.1'
187
207
  - - ">="
188
208
  - !ruby/object:Gem::Version
189
- version: 2.8.7
209
+ version: 2.1.1
190
210
  - !ruby/object:Gem::Dependency
191
- name: nkf
211
+ name: bundler-audit
192
212
  requirement: !ruby/object:Gem::Requirement
193
213
  requirements:
194
214
  - - "~>"
195
215
  - !ruby/object:Gem::Version
196
- version: '0.2'
216
+ version: 0.9.3
197
217
  type: :development
198
218
  prerelease: false
199
219
  version_requirements: !ruby/object:Gem::Requirement
200
220
  requirements:
201
221
  - - "~>"
202
222
  - !ruby/object:Gem::Version
203
- version: '0.2'
223
+ version: 0.9.3
204
224
  - !ruby/object:Gem::Dependency
205
- name: rexml
225
+ name: rake
206
226
  requirement: !ruby/object:Gem::Requirement
207
227
  requirements:
208
228
  - - "~>"
209
229
  - !ruby/object:Gem::Version
210
- version: '3.2'
211
- - - ">="
212
- - !ruby/object:Gem::Version
213
- version: 3.2.5
230
+ version: '13.0'
214
231
  type: :development
215
232
  prerelease: false
216
233
  version_requirements: !ruby/object:Gem::Requirement
217
234
  requirements:
218
235
  - - "~>"
219
236
  - !ruby/object:Gem::Version
220
- version: '3.2'
221
- - - ">="
222
- - !ruby/object:Gem::Version
223
- version: 3.2.5
237
+ version: '13.0'
224
238
  - !ruby/object:Gem::Dependency
225
- name: kettle-dev
239
+ name: require_bench
226
240
  requirement: !ruby/object:Gem::Requirement
227
241
  requirements:
228
242
  - - "~>"
229
243
  - !ruby/object:Gem::Version
230
- version: '1.1'
244
+ version: '1.0'
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ version: 1.0.4
231
248
  type: :development
232
249
  prerelease: false
233
250
  version_requirements: !ruby/object:Gem::Requirement
234
251
  requirements:
235
252
  - - "~>"
236
253
  - !ruby/object:Gem::Version
237
- version: '1.1'
254
+ version: '1.0'
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: 1.0.4
238
258
  - !ruby/object:Gem::Dependency
239
- name: bundler-audit
259
+ name: appraisal2
240
260
  requirement: !ruby/object:Gem::Requirement
241
261
  requirements:
242
262
  - - "~>"
243
263
  - !ruby/object:Gem::Version
244
- version: 0.9.2
264
+ version: '3.1'
265
+ - - ">="
266
+ - !ruby/object:Gem::Version
267
+ version: 3.1.1
245
268
  type: :development
246
269
  prerelease: false
247
270
  version_requirements: !ruby/object:Gem::Requirement
248
271
  requirements:
249
272
  - - "~>"
250
273
  - !ruby/object:Gem::Version
251
- version: 0.9.2
274
+ version: '3.1'
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: 3.1.1
252
278
  - !ruby/object:Gem::Dependency
253
- name: rake
279
+ name: kettle-test
254
280
  requirement: !ruby/object:Gem::Requirement
255
281
  requirements:
256
282
  - - "~>"
257
283
  - !ruby/object:Gem::Version
258
- version: '13.0'
284
+ version: '2.0'
285
+ - - ">="
286
+ - !ruby/object:Gem::Version
287
+ version: 2.0.3
259
288
  type: :development
260
289
  prerelease: false
261
290
  version_requirements: !ruby/object:Gem::Requirement
262
291
  requirements:
263
292
  - - "~>"
264
293
  - !ruby/object:Gem::Version
265
- version: '13.0'
294
+ version: '2.0'
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ version: 2.0.3
266
298
  - !ruby/object:Gem::Dependency
267
- name: require_bench
299
+ name: turbo_tests2
268
300
  requirement: !ruby/object:Gem::Requirement
269
301
  requirements:
270
302
  - - "~>"
271
303
  - !ruby/object:Gem::Version
272
- version: '1.0'
304
+ version: '3.1'
273
305
  - - ">="
274
306
  - !ruby/object:Gem::Version
275
- version: 1.0.4
307
+ version: 3.1.1
276
308
  type: :development
277
309
  prerelease: false
278
310
  version_requirements: !ruby/object:Gem::Requirement
279
311
  requirements:
280
312
  - - "~>"
281
313
  - !ruby/object:Gem::Version
282
- version: '1.0'
314
+ version: '3.1'
283
315
  - - ">="
284
316
  - !ruby/object:Gem::Version
285
- version: 1.0.4
317
+ version: 3.1.1
286
318
  - !ruby/object:Gem::Dependency
287
- name: appraisal2
319
+ name: ruby-progressbar
288
320
  requirement: !ruby/object:Gem::Requirement
289
321
  requirements:
290
322
  - - "~>"
291
323
  - !ruby/object:Gem::Version
292
- version: '3.0'
324
+ version: '1.13'
293
325
  type: :development
294
326
  prerelease: false
295
327
  version_requirements: !ruby/object:Gem::Requirement
296
328
  requirements:
297
329
  - - "~>"
298
330
  - !ruby/object:Gem::Version
299
- version: '3.0'
331
+ version: '1.13'
300
332
  - !ruby/object:Gem::Dependency
301
- name: kettle-test
333
+ name: stone_checksums
302
334
  requirement: !ruby/object:Gem::Requirement
303
335
  requirements:
304
336
  - - "~>"
@@ -306,7 +338,7 @@ dependencies:
306
338
  version: '1.0'
307
339
  - - ">="
308
340
  - !ruby/object:Gem::Version
309
- version: 1.0.6
341
+ version: 1.0.3
310
342
  type: :development
311
343
  prerelease: false
312
344
  version_requirements: !ruby/object:Gem::Requirement
@@ -316,81 +348,101 @@ dependencies:
316
348
  version: '1.0'
317
349
  - - ">="
318
350
  - !ruby/object:Gem::Version
319
- version: 1.0.6
351
+ version: 1.0.3
320
352
  - !ruby/object:Gem::Dependency
321
- name: ruby-progressbar
353
+ name: gitmoji-regex
322
354
  requirement: !ruby/object:Gem::Requirement
323
355
  requirements:
324
356
  - - "~>"
325
357
  - !ruby/object:Gem::Version
326
- version: '1.13'
358
+ version: '2.0'
359
+ - - ">="
360
+ - !ruby/object:Gem::Version
361
+ version: 2.0.1
327
362
  type: :development
328
363
  prerelease: false
329
364
  version_requirements: !ruby/object:Gem::Requirement
330
365
  requirements:
331
366
  - - "~>"
332
367
  - !ruby/object:Gem::Version
333
- version: '1.13'
368
+ version: '2.0'
369
+ - - ">="
370
+ - !ruby/object:Gem::Version
371
+ version: 2.0.1
334
372
  - !ruby/object:Gem::Dependency
335
- name: stone_checksums
373
+ name: addressable
336
374
  requirement: !ruby/object:Gem::Requirement
337
375
  requirements:
338
376
  - - "~>"
339
377
  - !ruby/object:Gem::Version
340
- version: '1.0'
378
+ version: '2.8'
341
379
  - - ">="
342
380
  - !ruby/object:Gem::Version
343
- version: 1.0.2
381
+ version: 2.8.7
344
382
  type: :development
345
383
  prerelease: false
346
384
  version_requirements: !ruby/object:Gem::Requirement
347
385
  requirements:
348
386
  - - "~>"
349
387
  - !ruby/object:Gem::Version
350
- version: '1.0'
388
+ version: '2.8'
351
389
  - - ">="
352
390
  - !ruby/object:Gem::Version
353
- version: 1.0.2
391
+ version: 2.8.7
354
392
  - !ruby/object:Gem::Dependency
355
- name: gitmoji-regex
393
+ name: backports
356
394
  requirement: !ruby/object:Gem::Requirement
357
395
  requirements:
358
396
  - - "~>"
359
397
  - !ruby/object:Gem::Version
360
- version: '1.0'
398
+ version: '3.25'
361
399
  - - ">="
362
400
  - !ruby/object:Gem::Version
363
- version: 1.0.3
401
+ version: 3.25.1
364
402
  type: :development
365
403
  prerelease: false
366
404
  version_requirements: !ruby/object:Gem::Requirement
367
405
  requirements:
368
406
  - - "~>"
369
407
  - !ruby/object:Gem::Version
370
- version: '1.0'
408
+ version: '3.25'
371
409
  - - ">="
372
410
  - !ruby/object:Gem::Version
373
- version: 1.0.3
411
+ version: 3.25.1
374
412
  - !ruby/object:Gem::Dependency
375
- name: backports
413
+ name: nkf
376
414
  requirement: !ruby/object:Gem::Requirement
377
415
  requirements:
378
416
  - - "~>"
379
417
  - !ruby/object:Gem::Version
380
- version: '3.25'
418
+ version: '0.2'
419
+ type: :development
420
+ prerelease: false
421
+ version_requirements: !ruby/object:Gem::Requirement
422
+ requirements:
423
+ - - "~>"
424
+ - !ruby/object:Gem::Version
425
+ version: '0.2'
426
+ - !ruby/object:Gem::Dependency
427
+ name: rexml
428
+ requirement: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - "~>"
431
+ - !ruby/object:Gem::Version
432
+ version: '3.2'
381
433
  - - ">="
382
434
  - !ruby/object:Gem::Version
383
- version: 3.25.1
435
+ version: 3.2.5
384
436
  type: :development
385
437
  prerelease: false
386
438
  version_requirements: !ruby/object:Gem::Requirement
387
439
  requirements:
388
440
  - - "~>"
389
441
  - !ruby/object:Gem::Version
390
- version: '3.25'
442
+ version: '3.2'
391
443
  - - ">="
392
444
  - !ruby/object:Gem::Version
393
- version: 3.25.1
445
+ version: 3.2.5
394
446
  description: "\U0001F510 A Ruby wrapper for the OAuth 2.0 Authorization Framework,
395
447
  including the OAuth 2.1 draft spec, and OpenID Connect (OIDC)"
396
448
  email:
@@ -404,30 +456,24 @@ extra_rdoc_files:
404
456
  - CODE_OF_CONDUCT.md
405
457
  - CONTRIBUTING.md
406
458
  - FUNDING.md
407
- - IRP.md
408
- - LICENSE.txt
409
- - OIDC.md
459
+ - LICENSE.md
410
460
  - README.md
411
- - REEK
412
461
  - RUBOCOP.md
413
462
  - SECURITY.md
414
- - THREAT_MODEL.md
415
463
  files:
416
464
  - CHANGELOG.md
417
465
  - CITATION.cff
418
466
  - CODE_OF_CONDUCT.md
419
467
  - CONTRIBUTING.md
420
468
  - FUNDING.md
421
- - IRP.md
422
- - LICENSE.txt
423
- - OIDC.md
469
+ - LICENSE.md
424
470
  - README.md
425
- - REEK
426
471
  - RUBOCOP.md
427
472
  - SECURITY.md
428
- - THREAT_MODEL.md
473
+ - certs/pboling.pem
429
474
  - lib/oauth2.rb
430
475
  - lib/oauth2/access_token.rb
476
+ - lib/oauth2/auth_sanitizer.rb
431
477
  - lib/oauth2/authenticator.rb
432
478
  - lib/oauth2/client.rb
433
479
  - lib/oauth2/error.rb
@@ -447,49 +493,24 @@ files:
447
493
  - sig/oauth2/error.rbs
448
494
  - sig/oauth2/filtered_attributes.rbs
449
495
  - sig/oauth2/response.rbs
496
+ - sig/oauth2/sanitized_logger.rbs
450
497
  - sig/oauth2/strategy.rbs
498
+ - sig/oauth2/thing_filter.rbs
451
499
  - sig/oauth2/version.rbs
452
500
  homepage: https://github.com/ruby-oauth/oauth2
453
501
  licenses:
454
502
  - MIT
455
503
  metadata:
456
- homepage_uri: https://oauth2.galtzo.com/
457
- source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.18
458
- changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.18/CHANGELOG.md
504
+ homepage_uri: https://oauth2.galtzo.com
505
+ source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.22
506
+ changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.22/CHANGELOG.md
459
507
  bug_tracker_uri: https://github.com/ruby-oauth/oauth2/issues
460
- documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.18
461
- mailing_list_uri: https://groups.google.com/g/oauth-ruby
508
+ documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.22
462
509
  funding_uri: https://github.com/sponsors/pboling
463
- wiki_uri: https://gitlab.com/ruby-oauth/oauth2/-/wiki
510
+ wiki_uri: https://github.com/ruby-oauth/oauth2/wiki
464
511
  news_uri: https://www.railsbling.com/tags/oauth2
465
512
  discord_uri: https://discord.gg/3qme4XHNKN
466
513
  rubygems_mfa_required: 'true'
467
- post_install_message: |2
468
-
469
- ---+++--- oauth2 v2.0.18 ---+++---
470
-
471
- (minor) ⚠️ BREAKING CHANGES ⚠️ when upgrading from < v2
472
- • Summary of breaking changes: https://gitlab.com/ruby-oauth/oauth2#what-is-new-for-v20
473
- • Changes in this patch: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.18/CHANGELOG.md#2015-2025-09-08
474
-
475
- News:
476
- 1. New documentation website, including for OAuth 2.1 and OIDC: https://oauth2.galtzo.com
477
- 2. New official Discord for discussion and support: https://discord.gg/3qme4XHNKN
478
- 3. New org name "ruby-oauth" on Open Source Collective, GitHub, GitLab, Codeberg (update git remotes!)
479
- 4. Non-commercial support for the 2.x series will end by April, 2026. Please make a plan to upgrade to the next version prior to that date.
480
- Support will be dropped for Ruby 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0, 3.1 and any other Ruby versions which will also have reached EOL by then.
481
- 5. Gem releases are cryptographically signed with a 20-year cert; SHA-256 & SHA-512 checksums by stone_checksums.
482
- 6. Please consider supporting this project:
483
- • https://opencollective.com/ruby-oauth (new!)
484
- • https://liberapay.com/pboling
485
- • https://github.com/sponsors/pboling
486
- • https://www.paypal.com/paypalme/peterboling
487
- • https://ko-fi.com/pboling
488
- • https://www.buymeacoffee.com/pboling
489
- • https://tidelift.com/funding/github/rubygems/oauth
490
- • Hire me - I can build anything
491
- • Report issues, and star the project
492
- Thanks, @pboling / @galtzo
493
514
  rdoc_options:
494
515
  - "--title"
495
516
  - "oauth2 - \U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
@@ -513,7 +534,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
513
534
  - !ruby/object:Gem::Version
514
535
  version: '0'
515
536
  requirements: []
516
- rubygems_version: 3.7.2
537
+ rubygems_version: 4.0.10
517
538
  specification_version: 4
518
539
  summary: "\U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
519
540
  test_files: []
metadata.gz.sig CHANGED
Binary file
data/IRP.md DELETED
@@ -1,107 +0,0 @@
1
- # Incident Response Plan (IRP)
2
-
3
- Status: Draft
4
-
5
- ## Purpose
6
-
7
- This Incident Response Plan (IRP) defines the steps the project maintainer(s) will follow when handling security incidents related to the `oauth2` gem. It is written for a small project with a single primary maintainer and is intended to be practical, concise, and actionable.
8
-
9
- ## Scope
10
-
11
- Applies to security incidents that affect the `oauth2` codebase, releases (gems), CI/CD infrastructure related to building and publishing the gem, repository credentials, or any compromise of project infrastructure that could impact users.
12
-
13
- ## Key assumptions
14
- - This project is maintained primarily by a single maintainer.
15
- - Public vulnerability disclosure is handled via Tidelift (see `SECURITY.md`).
16
- - The maintainer will act as incident commander unless otherwise delegated.
17
-
18
- ## Contact & Roles
19
-
20
- - Incident Commander: Primary maintainer (repo owner). Responsible for coordinating triage, remediation, and communications.
21
- - Secondary Contact: (optional) A trusted collaborator or organization contact if available.
22
-
23
- ### If you are an external reporter
24
- - Do not publicly disclose details of an active vulnerability before coordination via Tidelift.
25
- - See `SECURITY.md` for Tidelift disclosure instructions. If the reporter has questions and cannot use Tidelift, they may open a direct encrypted report as described in `SECURITY.md` (if available) or email the maintainer contact listed in the repository.
26
-
27
- ## Incident Handling Workflow (high level)
28
- 1. Identification & Reporting
29
- - Reports may arrive via Tidelift, issue tracker, direct email, or third-party advisories.
30
- - Immediately acknowledge receipt (within 24-72 hours) via the reporting channel.
31
-
32
- 2. Triage & Initial Assessment (first 72 hours)
33
- - Confirm the report is not duplicative and gather: reproducer, affected versions, attack surface, exploitability, and CVSS-like severity estimate.
34
- - Verify the issue against the codebase and reproduce locally if possible.
35
- - Determine scope: which versions are affected, whether the issue is in code paths executed in common setups, and whether a workaround exists.
36
-
37
- 3. Containment & Mitigation
38
- - If a simple mitigation or workaround (configuration change, safe default, or recommended upgrade) exists, document it clearly in the issue/Tidelift advisory.
39
- - If immediate removal of a release is required (rare), consult Tidelift for coordinated takedown and notify package hosts if applicable.
40
-
41
- 4. Remediation & Patch
42
- - Prepare a fix in a branch with tests and changelog entries. Prefer minimal, well-tested changes.
43
- - Include tests that reproduce the faulty behavior and demonstrate the fix.
44
- - Hardening: add fuzz tests, input validation, or additional checks as appropriate.
45
-
46
- 5. Release & Disclosure
47
- - Coordinate disclosure through Tidelift per `SECURITY.md` timelines. Aim for a coordinated disclosure and patch release to minimize risk to users.
48
- - Publish a patch release (increment gem version) and an advisory via Tidelift.
49
- - Update `CHANGELOG.md` and repository release notes with non-sensitive details.
50
-
51
- 6. Post-Incident
52
- - Produce a short postmortem: timeline, root cause, actions taken, and follow-ups.
53
- - Add/adjust tests and CI checks to prevent regressions.
54
- - If credentials or infrastructure were compromised, rotate secrets and audit access.
55
-
56
- ## Severity classification (guidance)
57
- - High/Critical: Remote code execution, data exfiltration, or any vulnerability that can be exploited without user interaction. Immediate action and prioritized patching.
58
- - Medium: Privilege escalation, sensitive information leaks that require specific conditions. Patch in the next release cycle with advisory.
59
- - Low: Minor information leaks, UI issues, or non-exploitable bugs. Fix normally and include in the next scheduled release.
60
-
61
- ## Preservation of evidence
62
- - Preserve all reporter-provided data, logs, and reproducer code in a secure location (local encrypted storage or private branch) for the investigation.
63
- - Do not publish evidence that would enable exploitation before coordinated disclosure.
64
-
65
- ## Communication templates
66
- Acknowledgement (to reporter)
67
-
68
- "Thank you for reporting this issue. I've received your report and will triage it within 72 hours. If you can, please provide reproduction steps, affected versions, and any exploit PoC. I will coordinate disclosure through Tidelift per the project's security policy."
69
-
70
- Public advisory (after patch is ready)
71
-
72
- "A security advisory for oauth2 (versions X.Y.Z) has been published via Tidelift. Please upgrade to version A.B.C which patches [brief description]. See the advisory for details and recommended mitigations."
73
-
74
- ## Runbook: Quick steps for a maintainer to patch and release
75
- 1. Create a branch: `git checkout -b fix/security-brief-description`
76
- 2. Reproduce the issue locally and add a regression spec in `spec/`.
77
- 3. Implement the fix and run the test suite: `bundle exec rspec` (or the project's preferred test command).
78
- 4. Bump version in `lib/oauth2/version.rb` following semantic versioning.
79
- 5. Update `CHANGELOG.md` with an entry describing the fix (avoid exploit details).
80
- 6. Commit and push the branch, open a PR, and merge after approvals.
81
- 7. Build and push the gem: `gem build oauth2.gemspec && gem push pkg/...` (coordinate with Tidelift before public push if disclosure is coordinated).
82
- 8. Publish a release on GitHub and ensure the Tidelift advisory is posted.
83
-
84
- ## Operational notes
85
- - Secrets: Use local encrypted storage for any sensitive reporter data. If repository or CI secrets may be compromised, rotate them immediately and update dependent services.
86
- - Access control: Limit who can publish gems and who has admin access to the repo. Keep an up-to-date list of collaborators in a secure place.
87
-
88
- ## Legal & regulatory
89
- - If the incident involves user data or has legal implications, consult legal counsel or the maintainers' employer as appropriate. The maintainer should document the timeline and all communications.
90
-
91
- ## Retrospective & continuous improvement
92
- After an incident, perform a brief post-incident review covering:
93
- - What happened and why
94
- - What was done to contain and remediate
95
- - What tests or process changes will prevent recurrence
96
- - Assign owners and deadlines for follow-up tasks
97
-
98
- ## References
99
- - See `SECURITY.md` for the project's official disclosure channel (Tidelift).
100
-
101
- ## Appendix: Example checklist for an incident
102
- - [ ] Acknowledge report to reporter (24-72 hours)
103
- - [ ] Reproduce and classify severity
104
- - [ ] Prepare and test a fix in a branch
105
- - [ ] Coordinate disclosure via Tidelift
106
- - [ ] Publish patch release and advisory
107
- - [ ] Postmortem and follow-up actions
data/LICENSE.txt DELETED
@@ -1,22 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2017-2025 Peter H. Boling, of Galtzo.com, and oauth2 contributors
4
- Copyright (c) 2011-2013 Michael Bleigh and Intridea, Inc.
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.