72 Commits

Author SHA1 Message Date
minori c0f50286d5 deps: update astro to 5.17.1
Node.js CI / CI (pull_request) Successful in 1m10s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m19s
2026-02-09 07:00:43 -08:00
minori 0e1b6e8889 deps: update astro to 5.17.0
Node.js CI / CI (pull_request) Successful in 1m3s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m38s
2026-02-08 07:00:38 -08:00
minori 08cc61eb38 deps: update astro to 5.16.16
Node.js CI / CI (pull_request) Successful in 57s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m13s
2026-02-07 07:00:34 -08:00
minori fba50e8644 deps: update astro to 5.16.15
Node.js CI / CI (pull_request) Successful in 1m8s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m22s
2026-02-03 19:11:07 -08:00
naomi ddaeb72638 feat: new theme
Node.js CI / CI (push) Successful in 1m40s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m46s
2026-01-29 17:35:10 -08:00
naomi 0ece797eee feat: add documentation for our support forum (#21)
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m45s
Node.js CI / CI (push) Successful in 1m50s
### Explanation

_No response_

### Issue

_No response_

### Attestations

- [ ] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [ ] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [ ] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [ ] I have pinned the dependencies to a specific patch version.

### Style

- [ ] I have run the linter and resolved any errors.
- [ ] My pull request uses an appropriate title, matching the conventional commit standards.
- [ ] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [ ] All new and existing tests pass locally with my changes.
- [ ] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

_No response_

Reviewed-on: #21
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2026-01-26 13:50:28 -08:00
hikari caffb14deb docs: update README to standard template
Node.js CI / CI (push) Failing after 23s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m3s
2026-01-26 12:42:36 -08:00
naomi 9bdd7b8fa9 feat: add fan art policy
Node.js CI / CI (push) Failing after 20s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m36s
2025-12-30 16:51:06 -08:00
naomi 5116bca086 feat: automated upload of .gitea/workflows/ci.yml
Node.js CI / CI (push) Successful in 1m0s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m1s
2025-12-22 19:41:36 +01:00
naomi cc28f94a7a feat: automated upload of .gitea/workflows/ci.yml
Node.js CI / CI (push) Failing after 9s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m10s
2025-12-22 19:35:05 +01:00
naomi 9013d181b4 feat: automated upload of .gitea/workflows/ci.yml
Node.js CI / Lint and Test (push) Failing after 2s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m0s
2025-12-22 19:24:57 +01:00
naomi c2e25035e2 feat: automated upload of .npmrc
Node.js CI / Lint and Test (push) Successful in 58s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m6s
2025-12-22 19:15:54 +01:00
naomi c5a329d104 feat: we do even more things (#20)
Node.js CI / Lint and Test (push) Successful in 57s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m23s
### Explanation

_No response_

### Issue

Closes #18

### Attestations

- [ ] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [ ] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [ ] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [ ] I have pinned the dependencies to a specific patch version.

### Style

- [ ] I have run the linter and resolved any errors.
- [ ] My pull request uses an appropriate title, matching the conventional commit standards.
- [ ] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [ ] All new and existing tests pass locally with my changes.
- [ ] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

_No response_

Reviewed-on: #20
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-12-18 05:21:22 +01:00
naomi d0401ad611 feat: automated upload of .gitea/workflows/security.yml
Node.js CI / Lint and Test (push) Successful in 1m0s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m23s
2025-12-18 03:07:49 +01:00
naomi 6b55719c04 feat: automated upload of .gitea/workflows/security.yml
Node.js CI / Lint and Test (push) Successful in 1m12s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m17s
2025-12-17 23:25:47 +01:00
naomi b718aa650b feat: overhaul many things (#17)
Node.js CI / Lint and Test (push) Successful in 58s
Security Scan / Security Audit (push) Failing after 5m2s
### Explanation

_No response_

### Issue

_No response_

### Attestations

- [ ] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [ ] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [ ] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [ ] I have pinned the dependencies to a specific patch version.

### Style

- [ ] I have run the linter and resolved any errors.
- [ ] My pull request uses an appropriate title, matching the conventional commit standards.
- [ ] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [ ] All new and existing tests pass locally with my changes.
- [ ] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

_No response_

Reviewed-on: #17
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-12-16 06:15:26 +01:00
naomi b1cc9800b3 feat: launch four new services (#16)
Node.js CI / Lint and Test (push) Successful in 53s
Security Scan / Security Audit (push) Failing after 5m15s
### Explanation

_No response_

### Issue

_No response_

### Attestations

- [ ] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [ ] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [ ] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [ ] I have pinned the dependencies to a specific patch version.

### Style

- [ ] I have run the linter and resolved any errors.
- [ ] My pull request uses an appropriate title, matching the conventional commit standards.
- [ ] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [ ] All new and existing tests pass locally with my changes.
- [ ] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

_No response_

Reviewed-on: #16
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-12-13 05:42:46 +01:00
naomi 010653545c feat: automated upload of .gitea/workflows/security.yml
Node.js CI / Lint and Test (push) Successful in 56s
Security Scan / Security Audit (push) Failing after 5m25s
2025-12-12 03:37:35 +01:00
naomi 8692d866fc feat: automated upload of .gitea/workflows/security.yml
Node.js CI / Lint and Test (push) Successful in 58s
Security Scan / Trivy Security Scan (push) Failing after 4m46s
2025-12-11 20:11:50 +01:00
naomi 4fc00b36a8 feat: new analytics version
Node.js CI / Lint and Test (push) Successful in 51s
2025-12-10 19:27:29 -08:00
naomi 457354e52b feat: update all forms, tweak some policies (#15)
Node.js CI / Lint and Test (push) Successful in 54s
### Explanation

_No response_

### Issue

_No response_

### Attestations

- [x] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [x] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [x] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [ ] I have pinned the dependencies to a specific patch version.

### Style

- [x] I have run the linter and resolved any errors.
- [x] My pull request uses an appropriate title, matching the conventional commit standards.
- [x] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [ ] All new and existing tests pass locally with my changes.
- [ ] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

_No response_

Reviewed-on: #15
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-12-10 02:23:03 +01:00
Naomi Carrigan ff0383788c chore: icon
Node.js CI / Lint and Test (push) Failing after 2m43s
2025-11-15 20:37:59 -08:00
naomi f587ef2506 chore: remove guild wars 2 from staff training and hierarchy
Node.js CI / Lint and Test (push) Failing after 1m48s
2025-11-15 09:30:07 -08:00
naomi 7bfff6a4f0 feat: overhaul mentorship programme
Node.js CI / Lint and Test (push) Successful in 1m42s
2025-11-14 15:32:19 -08:00
naomi f8f787bde9 feat: time for another audit/overhaul/revamp (#13)
Node.js CI / Lint and Test (push) Successful in 1m56s
### Explanation

_No response_

### Issue

Closes #11

### Attestations

- [ ] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [ ] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [ ] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [ ] I have pinned the dependencies to a specific patch version.

### Style

- [ ] I have run the linter and resolved any errors.
- [ ] My pull request uses an appropriate title, matching the conventional commit standards.
- [ ] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [ ] All new and existing tests pass locally with my changes.
- [ ] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

_No response_

Reviewed-on: #13
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-11-13 21:59:23 -08:00
naomi 78ea7cc209 fix: spelling
Node.js CI / Lint and Test (push) Successful in 1m46s
2025-11-12 20:31:35 -08:00
naomi 6b482ec567 feat: add project documentation for Saisoku, Tyche, and Vivicrea
Node.js CI / Lint and Test (push) Failing after 33s
2025-11-12 20:27:00 -08:00
naomi fd1f3ff7bc feat: revert font size change 2025-11-12 20:11:52 -08:00
naomi 0daef2fdc6 feat: increase font size
Node.js CI / Lint and Test (push) Failing after 35s
2025-11-10 09:50:11 -08:00
naomi 1ad784344c feat: add new projects to documentation
Node.js CI / Lint and Test (push) Failing after 34s
2025-10-31 21:27:00 -07:00
naomi cee172a5d6 feat: port over random docs that can be public now
Node.js CI / Lint and Test (push) Successful in 1m41s
2025-10-29 20:11:13 -07:00
naomi 2d3d684894 feat: migrate mentorship wiki 2025-10-29 19:53:22 -07:00
naomi 4298548347 feat: nav styling
Node.js CI / Lint and Test (push) Successful in 1m41s
2025-10-29 18:59:00 -07:00
naomi b754503317 feat: document all products, write tests (#12)
Node.js CI / Lint and Test (push) Successful in 1m43s
### Explanation

_No response_

### Issue

_No response_

### Attestations

- [x] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [x] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [x] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [x] I have pinned the dependencies to a specific patch version.

### Style

- [x] I have run the linter and resolved any errors.
- [x] My pull request uses an appropriate title, matching the conventional commit standards.
- [x] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [x] My contribution adds new code, and I have added tests to cover it.
- [x] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [x] All new and existing tests pass locally with my changes.
- [x] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

_No response_

Reviewed-on: #12
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-10-29 18:55:38 -07:00
naomi fd3197c3bf fix: correct favicon oops
Node.js CI / Lint and Test (push) Failing after 1m7s
2025-10-29 14:39:25 -07:00
naomi 4a5a15d2da release: v1.0.0
Node.js CI / Lint and Test (push) Failing after 34s
2025-10-29 13:34:40 -07:00
naomi 2f2ee1c09d feat: update logo and favicon 2025-10-29 13:33:14 -07:00
naomi dafa7ded0e feat: new font 2025-10-29 13:26:15 -07:00
naomi b9e8777c6f fix: build error
Node.js CI / Lint and Test (push) Failing after 28s
2025-10-04 18:53:22 -07:00
naomi 2957a572f5 feat: add documentation for callista
Node.js CI / Lint and Test (push) Failing after 29s
2025-10-04 18:50:08 -07:00
naomi 65d9405fa9 feat: new application scoring rubric
Node.js CI / Lint and Test (push) Failing after 29s
2025-09-30 18:30:47 -07:00
naomi ca6340b25f feat: document veluna
Node.js CI / Lint and Test (push) Failing after 31s
2025-09-27 18:36:40 -07:00
naomi 7962bbb710 feat: new policies, trainings, etc.
Node.js CI / Lint and Test (push) Successful in 1m35s
2025-09-25 16:55:13 -07:00
naomi 08b7611299 feat: nomination form
Node.js CI / Lint and Test (push) Successful in 1m35s
2025-09-25 12:57:06 -07:00
naomi cff2380338 feat: overhaul entire documentation (#10)
Node.js CI / Lint and Test (push) Successful in 1m10s
### Explanation

_No response_

### Issue

_No response_

### Attestations

- [x] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [x] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [x] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [x] I have pinned the dependencies to a specific patch version.

### Style

- [x] I have run the linter and resolved any errors.
- [x] My pull request uses an appropriate title, matching the conventional commit standards.
- [x] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [ ] All new and existing tests pass locally with my changes.
- [ ] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

Major - My pull request introduces a breaking change.

Reviewed-on: #10
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-09-15 23:16:01 -07:00
naomi 592a4eb681 feat: new product docs
Node.js CI / Lint and Test (push) Successful in 53s
2025-09-15 12:50:16 -07:00
naomi f43cb18b6c chore: allow wifi in spelling
Node.js CI / Lint and Test (push) Successful in 54s
2025-09-03 16:27:47 -07:00
naomi c335637450 chore: remove sonar
Node.js CI / Lint and Test (push) Failing after 26s
2025-09-03 16:20:23 -07:00
naomi 7ae52ae521 feat: update theme colours
Code Analysis / SonarQube (push) Failing after 18s
Node.js CI / Lint and Test (push) Failing after 29s
2025-09-03 16:17:49 -07:00
naomi d3560a3066 feat: audit all documentation
Code Analysis / SonarQube (push) Failing after 22s
Node.js CI / Lint and Test (push) Failing after 32s
2025-08-25 16:52:48 -07:00
naomi f7efaef26e feat: add opencollective
Code Analysis / SonarQube (push) Failing after 19s
Node.js CI / Lint and Test (push) Successful in 55s
2025-08-11 16:04:18 -07:00
naomi f408ce1c06 chore: also include twitch
Code Analysis / SonarQube (push) Failing after 17s
Node.js CI / Lint and Test (push) Successful in 54s
2025-07-22 17:45:11 -07:00
naomi dc0711aad8 feat: restore donation options
Code Analysis / SonarQube (push) Failing after 20s
Node.js CI / Lint and Test (push) Successful in 59s
2025-07-22 17:36:12 -07:00
naomi 31d7273061 feat: add product documentation (#8)
Code Analysis / SonarQube (push) Failing after 15s
Node.js CI / Lint and Test (push) Successful in 51s
### Explanation

Finally.

### Issue

_No response_

### Attestations

- [ ] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [ ] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [ ] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [ ] I have pinned the dependencies to a specific patch version.

### Style

- [ ] I have run the linter and resolved any errors.
- [ ] My pull request uses an appropriate title, matching the conventional commit standards.
- [ ] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [ ] All new and existing tests pass locally with my changes.
- [ ] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

_No response_

Reviewed-on: #8
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-07-06 18:04:44 -07:00
naomi c461453342 feat: logo and open graph
Code Analysis / SonarQube (push) Failing after 16s
Node.js CI / Lint and Test (push) Successful in 52s
2025-06-12 15:55:00 -07:00
naomi 49dd426ed9 feat: add donate badge
Code Analysis / SonarQube (push) Failing after 1m23s
Node.js CI / Lint and Test (push) Successful in 1m26s
2025-05-31 18:15:26 -07:00
naomi b179cc469b feat: add advertisements
Code Analysis / SonarQube (push) Failing after 1m28s
Node.js CI / Lint and Test (push) Successful in 1m31s
2025-05-30 21:34:04 -07:00
naomi 7252be5d02 chore: missed one
Node.js CI / Lint and Test (push) Successful in 1m18s
Code Analysis / SonarQube (push) Failing after 1m19s
2025-05-27 15:54:09 -07:00
naomi 9583ac3076 chore: update form links
Node.js CI / Lint and Test (push) Successful in 1m27s
Code Analysis / SonarQube (push) Failing after 1m28s
2025-05-27 15:47:18 -07:00
naomi 64c4bd4b9a feat: remove video
Node.js CI / Lint and Test (push) Successful in 1m33s
Code Analysis / SonarQube (push) Failing after 1m34s
2025-05-22 09:23:33 -07:00
naomi f74b4cf43a chore: system update
Code Analysis / SonarQube (push) Failing after 1m26s
Node.js CI / Lint and Test (push) Successful in 1m31s
2025-04-18 08:57:32 -07:00
naomi 90de31a17d chore: system updoot
Node.js CI / Lint and Test (push) Successful in 1m17s
Code Analysis / SonarQube (push) Failing after 1m16s
2025-04-05 13:11:36 -07:00
naomi ea060a775c feat: track domain, path, title
Node.js CI / Lint and Test (push) Successful in 1m21s
Code Analysis / SonarQube (push) Failing after 1m22s
2025-04-04 15:10:47 -07:00
naomi 1022316d35 feat: new colours
Code Analysis / SonarQube (push) Failing after 1m39s
Node.js CI / Lint and Test (push) Successful in 1m40s
2025-04-03 00:46:47 -07:00
naomi db7a34e975 feat: enable dark theme and theme switcher
Node.js CI / Lint and Test (push) Successful in 1m26s
Code Analysis / SonarQube (push) Failing after 1m29s
2025-03-27 14:53:47 -07:00
naomi bd47ff2bb3 chore: update sig
Code Analysis / SonarQube (push) Failing after 1m30s
Node.js CI / Lint and Test (push) Successful in 1m34s
2025-03-24 19:20:10 -07:00
naomi 0ec64ba2b0 feat: add instructions for verifying social accounts
Code Analysis / SonarQube (push) Failing after 1m21s
Node.js CI / Lint and Test (push) Successful in 1m25s
2025-03-24 17:44:00 -07:00
naomi a7daa5093f chore: system update
Node.js CI / Lint and Test (push) Successful in 1m31s
Code Analysis / SonarQube (push) Failing after 1m36s
2025-03-24 14:26:51 -07:00
naomi 6a95effaaf feat: remove deprecated platforms
Node.js CI / Lint and Test (push) Successful in 1m23s
Code Analysis / SonarQube (push) Failing after 1m24s
2025-03-11 15:27:43 -07:00
naomi 26136259d3 feat: add blinkies
Code Analysis / SonarQube (push) Failing after 1m24s
Node.js CI / Lint and Test (push) Successful in 1m28s
2025-03-11 12:40:52 -07:00
naomi dd5fa6f7a2 feat: custom theming for code blocks
Code Analysis / SonarQube (push) Failing after 1m26s
Node.js CI / Lint and Test (push) Successful in 1m30s
2025-03-05 16:41:11 -08:00
naomi 38149e092e feat: use codeblock titles for environment 2025-03-05 16:31:37 -08:00
199 changed files with 60336 additions and 8054 deletions
+111 -4
View File
@@ -12,8 +12,8 @@
"bash"
],
"ignoreRegExpList": [
"```[\\s\\S]*?```", // Ignores multi-line code blocks in Markdown
"`[^`\n]+`" // Ignores inline code blocks
"```[\\s\\S]*?```",
"`[^`\n]+`"
],
"ignoreWords": [
"nhcarrigan",
@@ -31,10 +31,117 @@
"Syft",
"Ghostty",
"Amberol",
"Musicolet"
"Musicolet",
"wifi",
"neopronouns",
"linters",
"misgendered"
],
"words": [
"Abalise",
"Aeris",
"Alouette",
"Amari",
"Amirei",
"atproto",
"Aurelia",
"Aureline",
"bannable",
"Becca",
"Beccalia",
"Caelia",
"Calenelle",
"Callista",
"CCPA",
"Celestine",
"Čeština",
"CFAA",
"Chibika",
"CPACC",
"cuda",
"Dansk",
"Eclaire",
"Eirene",
"Elaria",
"Elowyn",
"Elunara",
"equivalencies",
"escalatory",
"excludable",
"faer",
"faers",
"Fediverse",
"polycule"
"Français",
"genai",
"Gitea",
"Godot",
"Heroku",
"Hikari",
"incentivising",
"Isolda",
"Italiano",
"ITAR",
"Iuvo",
"Jessara",
"KADOKAWA",
"Keiko",
"LGBTQ",
"Lietuvių",
"Liora",
"Lyria",
"Maribelle",
"Meliora",
"Meridia",
"MERN",
"MEVN",
"minimis",
"Mommy",
"NAMI",
"NCMEC",
"Nederlands",
"Neurodivergence",
"Nomena",
"NSFW",
"Nymira",
"OFAC",
"Ollama",
"Oriana",
"Pavelle",
"PERN",
"PIPEDA",
"Polski",
"polycule",
"Recusal",
"recuse",
"Reddiquette",
"Română",
"Rosalia",
"Saisoku",
"Sakura",
"Serenya",
"Sorielle",
"Suomi",
"Svenska",
"Sylvara",
"Taryne",
"Tessara",
"Thalassa",
"Thessalia",
"Türkçe",
"Umbrelle",
"Veluna",
"Verena",
"Vitalia",
"Vivicrea",
"Vivienne",
"vtubing",
"WCAG",
"Zephra",
"zirs",
"Ελληνικά",
"Български",
"Русский",
"Українська",
"हिन्दी"
]
}
+15 -6
View File
@@ -8,22 +8,31 @@ on:
- main
jobs:
lint:
name: Lint and Test
ci:
name: CI
runs-on: ubuntu-latest
steps:
- name: Checkout Source Files
uses: actions/checkout@v4
- name: Use Node.js v22
- name: Use Node.js v24
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 9
version: 10
- name: Ensure Dependencies are Pinned
uses: naomi-lgbt/dependency-pin-check@main
with:
language: javascript
dev-dependencies: true
peer-dependencies: true
optional-dependencies: true
- name: Install Dependencies
run: pnpm install
@@ -35,4 +44,4 @@ jobs:
run: pnpm run build
- name: Run Tests
run: pnpm run test
run: pnpm run test
+177
View File
@@ -0,0 +1,177 @@
name: Security Scan and Upload
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: '0 0 * * 1'
workflow_dispatch:
jobs:
security-audit:
name: Security & DefectDojo Upload
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout code
uses: actions/checkout@v4
# --- AUTO-SETUP PROJECT ---
- name: Ensure DefectDojo Product Exists
env:
DD_URL: ${{ secrets.DD_URL }}
DD_TOKEN: ${{ secrets.DD_TOKEN }}
PRODUCT_NAME: ${{ github.repository }}
PRODUCT_TYPE_ID: 1
run: |
sudo apt-get install jq -y > /dev/null
echo "Checking connection to $DD_URL..."
# Check if product exists - capture HTTP code to debug connection issues
RESPONSE=$(curl --write-out "%{http_code}" --silent --output /tmp/response.json \
-H "Authorization: Token $DD_TOKEN" \
"$DD_URL/api/v2/products/?name=$PRODUCT_NAME")
# If response is not 200, print error
if [ "$RESPONSE" != "200" ]; then
echo "::error::Failed to query DefectDojo. HTTP Code: $RESPONSE"
cat /tmp/response.json
exit 1
fi
COUNT=$(cat /tmp/response.json | jq -r '.count')
if [ "$COUNT" = "0" ]; then
echo "Creating product '$PRODUCT_NAME'..."
curl -s -X POST "$DD_URL/api/v2/products/" \
-H "Authorization: Token $DD_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "'"$PRODUCT_NAME"'", "description": "Auto-created by Gitea Actions", "prod_type": '$PRODUCT_TYPE_ID' }'
else
echo "Product '$PRODUCT_NAME' already exists."
fi
# --- 1. TRIVY (Dependencies & Misconfig) ---
- name: Install Trivy
run: |
sudo apt-get install wget apt-transport-https gnupg lsb-release -y
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo "deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update && sudo apt-get install trivy -y
- name: Run Trivy (FS Scan)
run: |
trivy fs . --scanners vuln,misconfig --format json --output trivy-results.json --exit-code 0
- name: Upload Trivy to DefectDojo
env:
DD_URL: ${{ secrets.DD_URL }}
DD_TOKEN: ${{ secrets.DD_TOKEN }}
run: |
echo "Uploading Trivy results..."
# Generate today's date in YYYY-MM-DD format
TODAY=$(date +%Y-%m-%d)
HTTP_CODE=$(curl --write-out "%{http_code}" --output response.txt --silent -X POST "$DD_URL/api/v2/import-scan/" \
-H "Authorization: Token $DD_TOKEN" \
-F "active=true" \
-F "verified=true" \
-F "scan_type=Trivy Scan" \
-F "engagement_name=CI/CD Pipeline" \
-F "product_name=${{ github.repository }}" \
-F "scan_date=$TODAY" \
-F "auto_create_context=true" \
-F "file=@trivy-results.json")
if [[ "$HTTP_CODE" != "200" && "$HTTP_CODE" != "201" ]]; then
echo "::error::Upload Failed with HTTP $HTTP_CODE"
echo "--- SERVER RESPONSE ---"
cat response.txt
echo "-----------------------"
exit 1
else
echo "Upload Success!"
fi
# --- 2. GITLEAKS (Secrets) ---
- name: Install Gitleaks
run: |
wget -qO gitleaks.tar.gz https://github.com/gitleaks/gitleaks/releases/download/v8.18.0/gitleaks_8.18.0_linux_x64.tar.gz
tar -xzf gitleaks.tar.gz
sudo mv gitleaks /usr/local/bin/ && chmod +x /usr/local/bin/gitleaks
- name: Run Gitleaks
run: gitleaks detect --source . -v --report-path gitleaks-results.json --report-format json --no-git || true
- name: Upload Gitleaks to DefectDojo
env:
DD_URL: ${{ secrets.DD_URL }}
DD_TOKEN: ${{ secrets.DD_TOKEN }}
run: |
echo "Uploading Gitleaks results..."
TODAY=$(date +%Y-%m-%d)
HTTP_CODE=$(curl --write-out "%{http_code}" --output response.txt --silent -X POST "$DD_URL/api/v2/import-scan/" \
-H "Authorization: Token $DD_TOKEN" \
-F "active=true" \
-F "verified=true" \
-F "scan_type=Gitleaks Scan" \
-F "engagement_name=CI/CD Pipeline" \
-F "product_name=${{ github.repository }}" \
-F "scan_date=$TODAY" \
-F "auto_create_context=true" \
-F "file=@gitleaks-results.json")
if [[ "$HTTP_CODE" != "200" && "$HTTP_CODE" != "201" ]]; then
echo "::error::Upload Failed with HTTP $HTTP_CODE"
echo "--- SERVER RESPONSE ---"
cat response.txt
echo "-----------------------"
exit 1
else
echo "Upload Success!"
fi
# --- 3. SEMGREP (SAST) ---
- name: Install Semgrep (via pipx)
run: |
sudo apt-get install pipx -y
pipx install semgrep
# Add pipx binary path to GITHUB_PATH so next steps can see 'semgrep'
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Run Semgrep
run: semgrep scan --config=p/security-audit --config=p/owasp-top-ten --json --output semgrep-results.json . || true
- name: Upload Semgrep to DefectDojo
env:
DD_URL: ${{ secrets.DD_URL }}
DD_TOKEN: ${{ secrets.DD_TOKEN }}
run: |
echo "Uploading Semgrep results..."
TODAY=$(date +%Y-%m-%d)
HTTP_CODE=$(curl --write-out "%{http_code}" --output response.txt --silent -X POST "$DD_URL/api/v2/import-scan/" \
-H "Authorization: Token $DD_TOKEN" \
-F "active=true" \
-F "verified=true" \
-F "scan_type=Semgrep JSON Report" \
-F "engagement_name=CI/CD Pipeline" \
-F "product_name=${{ github.repository }}" \
-F "scan_date=$TODAY" \
-F "auto_create_context=true" \
-F "file=@semgrep-results.json")
if [[ "$HTTP_CODE" != "200" && "$HTTP_CODE" != "201" ]]; then
echo "::error::Upload Failed with HTTP $HTTP_CODE"
echo "--- SERVER RESPONSE ---"
cat response.txt
echo "-----------------------"
exit 1
else
echo "Upload Success!"
fi
-34
View File
@@ -1,34 +0,0 @@
name: Code Analysis
on:
push:
branches:
- main
jobs:
sonar:
name: SonarQube
steps:
- name: Checkout Source Files
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: SonarCube Scan
uses: SonarSource/sonarqube-scan-action@v4
timeout-minutes: 10
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: "https://quality.nhcarrigan.com"
with:
args: >
-Dsonar.sources=.
-Dsonar.projectKey=docs
- name: SonarQube Quality Gate check
uses: sonarsource/sonarqube-quality-gate-action@v1
with:
pollingTimeoutSec: 600
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: "https://quality.nhcarrigan.com"
+25
View File
@@ -0,0 +1,25 @@
# Package Manager Configuration
# Force pnpm usage - breaks npm/yarn intentionally
node-linker=pnpm
# Security: Disable all lifecycle scripts
ignore-scripts=true
enable-pre-post-scripts=false
# Security: Require packages to be 10+ days old before installation
minimum-release-age=14400
# Security: Verify package integrity hashes
verify-store-integrity=true
# Security: Enforce strict trust policies
trust-policy=strict
# Security: Strict peer dependency resolution
strict-peer-dependencies=true
# Performance: Use symlinks for node_modules
symlink=true
# Lockfile: Ensure lockfile is not modified during install
frozen-lockfile=false
+15 -33
View File
@@ -1,47 +1,29 @@
# Astro Starter Kit: Minimal
# docs
```sh
npm create astro@latest -- --template minimal
```
Documentation for NHCarrigan projects.
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal)
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/minimal)
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/minimal/devcontainer.json)
## Live Version
> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
This page is currently deployed. [View the live website.](https://docs.nhcarrigan.com)
## 🚀 Project Structure
## Feedback and Bugs
Inside of your Astro project, you'll see the following folders and files:
If you have feedback or a bug report, please [log a ticket on our forum](https://support.nhcarrigan.com).
```text
/
├── public/
├── src/
│ └── pages/
│ └── index.astro
└── package.json
```
## Contributing
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
If you would like to contribute to the project, you may create a Pull Request containing your proposed changes and we will review it as soon as we are able! Please review our [contributing guidelines](CONTRIBUTING.md) first.
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
## Code of Conduct
Any static assets, like images, can be placed in the `public/` directory.
Before interacting with our community, please read our [Code of Conduct](CODE_OF_CONDUCT.md).
## 🧞 Commands
## License
All commands are run from the root of the project, from a terminal:
This software is licensed under our [global software license](https://docs.nhcarrigan.com/#/license).
| Command | Action |
| :------------------------ | :----------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:4321` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
| `npm run astro -- --help` | Get help using the Astro CLI |
Copyright held by Naomi Carrigan.
## 👀 Want to learn more?
## Contact
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`
+100 -57
View File
@@ -1,68 +1,111 @@
import { defineConfig } from 'astro/config';
import { defineConfig } from "astro/config";
import starlight from "@astrojs/starlight";
import { ExpressiveCodeTheme } from "@astrojs/starlight/expressive-code";
import themeJson from "./src/styles/theme.json";
import darkThemeJson from "./src/styles/theme-dark.json";
import mermaid from "astro-mermaid";
import { navigation } from "./src/components/navigation.ts";
const sakuraDreams = ExpressiveCodeTheme.fromJSONString(
JSON.stringify(themeJson)
);
const sakuraDreamsDark = ExpressiveCodeTheme.fromJSONString(
JSON.stringify(darkThemeJson)
);
export default defineConfig({
site: "https://docs.nhcarrigan.com",
integrations: [starlight({
components: {
Footer: "./src/components/Footer.astro",
ThemeSelect: "./src/components/ThemeSelect.astro",
ThemeProvider: "./src/components/ThemeProvider.astro",
},
title: "NHCarrigan Docs",
sidebar: navigation,
tableOfContents: { minHeadingLevel: 2, maxHeadingLevel: 4},
description: "This site contains all of the documentation related to NHCarrigan, its Policies, and its Projects.",
editLink: {
baseUrl: "https://git.nhcarrigan.com/nhcarrigan/docs/_edit/main/",
label: "Edit this page on Naomi's Self-hosted Git instance"
},
lastUpdated: true,
social: {
github: "https://git.nhcarrigan.com",
discourse: "https://forum.nhcarrigan.com",
mastodon: "https://fedi.nhcarrigan.com/@naomi",
matrix: "https://matrix.nhcarrigan.com",
rss: "https://irc.nhcarrigan.com",
email: "mailto:contact@nhcarrigan.com"
},
head: [
{
tag: "script",
attrs: {
type: "text/javascript",
id: "analytics",
src: "https://analytics.nhcarrigan.com/js/script.file-downloads.outbound-links.js",
defer: true,
"data-domain": "nhcarrigan.com"
}
integrations: [
mermaid(),
starlight({
components: {
Footer: "./src/components/Footer.astro",
ThemeProvider: "./src/components/ThemeProvider.astro",
},
{
tag: "script",
content: "window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }"
title: "NHCarrigan Docs",
sidebar: navigation,
tableOfContents: { minHeadingLevel: 2, maxHeadingLevel: 4 },
description:
"This site contains all of the documentation related to NHCarrigan, its Policies, and its Projects.",
editLink: {
baseUrl: "https://git.nhcarrigan.com/nhcarrigan/docs/_edit/main/",
label: "Edit this page on Naomi's Self-hosted Git instance",
},
{
tag: "script",
attrs: {
type: "text/javascript",
id: "trees",
src: "https://widgets.tree-nation.com/js/widgets/v1/widgets.min.js?v=1.0",
defer: true
}
lastUpdated: true,
social: [
{ icon: 'github', label: 'GitHub', href: 'https://git.nhcarrigan.com' },
{ icon: 'discord', label: 'Discord', href: 'https://chat.nhcarrigan.com' },
{ icon: 'blueSky', label: 'Bluesky', href: 'https://bsky.app/profile/nhcarrigan.com' },
{ icon: 'linkedin', label: 'LinkedIn', href: 'https://www.linkedin.com/company/nhcarrigan/' },
{ icon: 'twitter', label: 'Twitter', href: 'https://x.com/nhcarrigan1' },
{ icon: 'email', label: 'Email', href: 'mailto:contact@nhcarrigan.com' },
],
logo: {
src: "./public/logo.png",
alt: "NHCarrigan Logo",
replacesTitle: true
},
{
tag: "link",
attrs: {
rel: "icon",
href: "/logo.png"
head: [
{
tag: "script",
attrs: {
type: "text/javascript",
id: "analytics",
src: "https://analytics.nhcarrigan.com/js/pa-YUXAn1vhhRttySUAw_LMN.js",
defer: true,
},
},
{
tag: "script",
content:`
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
plausible.init({
customProperties: {
domain: "docs.nhcarrigan.com",
page: document.querySelector("title")?.innerText ?? "Unknown Docs Page",
path: window.location.pathname,
},
})
`
},
{
tag: "script",
attrs: {
type: "text/javascript",
id: "trees",
src: "https://widgets.tree-nation.com/js/widgets/v1/widgets.min.js?v=1.0",
defer: true,
},
},
{
tag: "link",
attrs: {
rel: "icon",
href: "./public/logo.png",
},
},
{
tag: "script",
attrs: {
type: "text/javascript",
src: "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3569924701890974",
async: true,
crossorigin: "anonymous",
},
},
{
tag: "meta",
attrs: {
property: "og:image",
content: "https://cdn.nhcarrigan.com/og-image.png"
}
}
}
],
customCss: [
"./src/styles/style.css",
"./src/fonts/font-face.css"
],
})]
],
customCss: ["./src/styles/style.css", "./src/fonts/font-face.css"],
expressiveCode: {
themes: [sakuraDreams, sakuraDreamsDark],
},
}),
],
});
+12 -9
View File
@@ -1,7 +1,7 @@
{
"name": "magical-metal",
"name": "documentation",
"type": "module",
"version": "0.0.1",
"version": "1.0.0",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
@@ -9,16 +9,19 @@
"build": "astro build",
"preview": "astro preview",
"astro": "astro",
"scan": "SONAR_TOKEN='op://Environment Variables - Development/SonarCloud/docs' op run -- sonar-scanner -Dsonar.organization=nhcarrigan -Dsonar.projectKey=nhcarrigan_docs -Dsonar.sources=. -Dsonar.host.url=https://sonarcloud.io",
"test": "echo 'No tests yet!' && exit 0"
"test": "vitest --run"
},
"dependencies": {
"@astrojs/check": "^0.9.4",
"@astrojs/starlight": "^0.32.0",
"astro": "^5.3.0",
"typescript": "^5.7.3"
"@astrojs/check": "0.9.6",
"@astrojs/starlight": "0.37.1",
"astro": "5.17.1",
"astro-mermaid": "1.2.0",
"mermaid": "11.12.2",
"typescript": "5.9.3"
},
"devDependencies": {
"cspell": "8.17.3"
"cspell": "9.4.0",
"gray-matter": "4.0.3",
"vitest": "4.0.15"
}
}
+2982 -1614
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 4.9 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 MiB

+5
View File
@@ -10,7 +10,12 @@ import Pagination from "@astrojs/starlight/components/Pagination.astro";
<LastUpdated {...Astro.props} />
</div>
<Pagination {...Astro.props} />
<div id="extra-footer-content">
<div id="tree-nation-offset-website"></div>
<a href="https://buy.stripe.com/cN24iTfqu1j6b3afZ2" target="_blank" rel="noreferrer">
<img src="https://cdn.nhcarrigan.com/donate.png" alt="Donate" style="width: 70px; height: 70px;">
</a>
</div>
<script>
TreeNationOffsetWebsite({
code: "a17464e0cd351220",
+41 -18
View File
@@ -1,20 +1,43 @@
---
import { Icon } from "@astrojs/starlight/components";
---
{/* This is intentionally inlined to avoid FOUC. */}
<script is:inline>
document.documentElement.dataset.theme = "light";
const analytics = document.getElementById('analytics');
const title = document.querySelector('title');
analytics.setAttribute('event-page', title.innerText ?? "NHCarrigan Docs");
analytics.setAttribute('event-path', window.location.pathname);
window.StarlightThemeProvider = (() => {
const storedTheme =
typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
const theme =
storedTheme ||
(window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
console.log(document.documentElement)
return {
updatePickers(theme = storedTheme || 'auto') {
document.querySelectorAll('starlight-theme-select').forEach((picker) => {
const select = picker.querySelector('select');
if (select) select.value = theme;
/** @type {HTMLTemplateElement | null} */
const tmpl = document.querySelector(`#theme-icons`);
const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
if (newIcon) {
const oldIcon = picker.querySelector('svg.label-icon');
if (oldIcon) {
oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
}
}
});
},
};
})();
</script>
<video
autoplay={true}
loop={true}
muted={true}
playsinline={true}
src="https://cdn.nhcarrigan.com/overlay.webm"
style={{
pointerEvents: "none",
position: "fixed",
top: 0,
left: 0,
opacity: 0.25,
zIndex: 100,
width: "100vw",
height: "100vh",
objectFit: "cover",
}}></video>
<template id="theme-icons">
<Icon name="sun" class="light" />
<Icon name="moon" class="dark" />
<Icon name="laptop" class="auto" />
</template>
View File
+767 -24
View File
@@ -1,36 +1,65 @@
export const navigation = [
{
// #region About Us
label: "About Us",
collapsed: true,
items: [
{
label: "Mission Statement",
link: "/about/mission",
},
{
label: "Sustainability",
label: "Environmental Impact Commitment",
link: "/about/sustainability",
},
{
label: "Hire us!",
label: "Professional Services and Commission Policy",
link: "/about/hire",
},
{
label: "Support Our Work 💜",
label: "Donation and Support Policy",
link: "/about/donate",
},
{
label: "Contact",
label: "Contact Policy",
link: "/about/contact",
},
{
label: "Mentorship",
label: "Mentorship Programme Terms and Conditions",
link: "/about/mentorship",
},
],
{
label: "Development Review Policy",
link: "/about/development-reviews",
},
{
label: "Mock Interview Policy",
link: "/about/mock-interviews",
},
{
label: "Portfolio Review Policy",
link: "/about/portfolio-reviews",
},
{
label: "Letter of Recommendation and Character Reference Policy",
link: "/about/recommendations",
},
{
label: "Community Membership Eligibility",
link: "/about/community-membership-eligibility",
},
].sort((a, b) => a.label.localeCompare(b.label)),
},
// #endregion
// #region Legal Information
{
label: "Legal Information",
collapsed: true,
items: [
{
label: "Limitation of Liability and Indemnification Policy",
link: "/legal/liability",
},
{
label: "Terms of Service",
link: "/legal/terms",
@@ -40,49 +69,99 @@ export const navigation = [
link: "/legal/privacy",
},
{
label: "Software License",
label: "Naomi's Public Licence",
link: "/legal/license",
},
{
label: "Acceptable Use Policy",
link: "/legal/aup",
},
{
label: "Security Policy",
link: "/legal/security",
},
{
label: "DMCA and Copyright",
label: "Service Level Agreement and Warranty Disclaimer",
link: "/legal/sla",
},
{
label: "Content and Moderation Policy",
link: "/legal/content-moderation",
},
{
label: "Community Growth Policy",
link: "/legal/community-growth-policy",
},
{
label: "Community Support Policy",
link: "/legal/community-support-policy",
},
{
label: "DMCA and Intellectual Property Compliance Policy",
link: "/legal/dmca",
},
{
label: "Subprocessors List",
label: "Data Subprocessors",
link: "/legal/subprocessors",
},
{
label: "Government Actions",
label: "Export Control and Sanctions Compliance Policy",
link: "/legal/export-control",
},
{
label: "Government Actions and Compliance",
link: "/legal/government",
},
],
{
label: "Crisis and Mental Health Management Policy",
link: "/legal/crisis-mental-health",
},
].sort((a, b) => a.label.localeCompare(b.label)),
},
// #endregion
// #region Community Policies
{
label: "Community Policies",
collapsed: true,
items: [
{
label: "Code of Conduct",
label: "Community Code of Conduct",
link: "/community/coc",
},
{
label: "Community Guidelines",
label: "Community Guidelines and Best Practices",
link: "/community/guide",
},
{
label: "Appeal a Sanction",
label: "Community Leadership and Governance Policy",
link: "/community/leadership",
},
{
label: "Community Recognition and Appreciation Policy",
link: "/community/recognition",
},
{
label: "Community Disciplinary Appeals Policy",
link: "/community/appeal",
},
],
{
label: "Community Feedback and Participation Policy",
link: "/community/feedback",
},
{
label: "Fan Art Guidelines",
link: "/community/fan-art",
}
].sort((a, b) => a.label.localeCompare(b.label)),
},
// #endregion
// #region Development Documentation
{
label: "Development Documentation",
collapsed: true,
items: [
{
label: "Contributing Guide",
label: "Contributing Documentation",
link: "/dev/contributing",
},
{
@@ -106,48 +185,712 @@ export const navigation = [
link: "/dev/servers",
},
{
label: "VTubing Setup",
label: "Naomi's VTubing Setup",
link: "/dev/vtubing",
},
],
{
label: "Security Hall of Fame",
link: "/dev/hall-of-fame",
}
].sort((a, b) => a.label.localeCompare(b.label)),
},
// #endregion
// #region Mentorship Programme
{
label: "Mentorship Programme",
collapsed: true,
items: [
{
label: "00. Frequently Asked Questions",
link: "/mentorship/00-faq",
},
{
label: "01. Onboarding",
link: "/mentorship/01-onboarding",
},
{
label: "02. Goal Setting",
link: "/mentorship/02-goal-setting",
},
{
label: "03. Project Planning",
link: "/mentorship/03-project-plan",
},
{
label: "04. User Stories",
link: "/mentorship/04-user-stories",
},
{
label: "05. Technical Breakdown",
link: "/mentorship/05-technical-breakdown",
},
{
label: "06. Priority and Effort",
link: "/mentorship/06-priority-and-effort",
},
{
label: "07. Writing Code",
link: "/mentorship/07-writing-code",
},
{
label: "08. Final Polish",
link: "/mentorship/08-final-polish",
},
{
label: "09. Career Prep",
link: "/mentorship/09-career-prep",
},
{
label: "10. Graduation",
link: "/mentorship/10-graduation",
},
{
label: "Resources",
collapsed: true,
items: [
{
label: "Goal Setting Resources",
link: "/mentorship/resources/goal-setting",
},
{
label: "Project Planning Resources",
link: "/mentorship/resources/project-planning",
},
{
label: "User Story Resources",
link: "/mentorship/resources/user-stories",
},
{
label: "Technical Breakdown Resources",
link: "/mentorship/resources/technical-breakdown",
},
{
label: "Priority and Effort Resources",
link: "/mentorship/resources/priority-effort",
},
{
label: "Code Development Resources",
link: "/mentorship/resources/code-development",
},
{
label: "Code Review Checklist",
link: "/mentorship/resources/code-review-checklist",
},
{
label: "Final Polish Resources",
link: "/mentorship/resources/final-polish",
},
{
label: "Final Polish Checklist",
link: "/mentorship/resources/final-polish-checklist",
},
{
label: "Career Preparation Resources",
link: "/mentorship/resources/career-prep",
},
].sort((a, b) => a.label.localeCompare(b.label)),
}
].sort((a, b) => a.label.localeCompare(b.label)),
},
// #endregion
// #region Project Documentation
{
label: "Project Documentation",
collapsed: true,
items: [
{
label: "ESLint Config",
link: "/projects/eslint-config",
badge: { text: "v5.1.0", variant: "tip" },
},
{
label: "Aria Iuvo",
link: "/projects/aria-iuvo",
badge: { text: "v1.2.0", variant: "tip" },
},
{
label: "Becca Lyria",
link: "/projects/becca-lyria",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Naomi's Blog",
link: "/projects/blog",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Celestine",
link: "/projects/celestine",
badge: { text: "v1.3.0", variant: "tip" },
},
{
label: "Cordelia Taryne",
link: "/projects/cordelia-taryne",
badge: { text: "v1.1.0", variant: "tip" },
},
{
label: "Gwen Abalise",
link: "/projects/gwen-abalise",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Hikari",
link: "/projects/hikari",
badge: { text: "v0.0.0", variant: "caution" },
},
{
label: "Maylin Taryne",
link: "/projects/maylin-taryne",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Melody Iuvo",
link: "/projects/melody-iuvo",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Mommy Bot",
link: "/projects/mommy-bot",
badge: { text: "v0.0.0", variant: "caution" },
},
{
label: "Mommy",
link: "/projects/mommy",
badge: { text: "v0.0.0", variant: "caution" },
},
{
label: "Portfolio",
link: "/projects/portfolio",
badge: { text: "unversioned", variant: "success" },
},
{
label: "Logger",
link: "/projects/logger",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Resume",
link: "/projects/resume",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Rosalia Nightsong",
link: "/projects/rosalia-nightsong",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Static Pages",
link: "/projects/static-pages",
badge: { text: "unversioned", variant: "success" },
},
{
label: "Website Headers",
link: "/projects/website-headers",
badge: { text: "v2.1.0", variant: "tip" },
},
{
label: "Altaria",
link: "/projects/altaria",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Caelia",
link: "/projects/caelia",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Chibika",
link: "/projects/chibika",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Lynira",
link: "/projects/lynira",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Pavelle",
link: "/projects/pavelle",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Serenya",
link: "/projects/serenya",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Sorielle",
link: "/projects/sorielle",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Umbrelle",
link: "/projects/umbrelle",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Veluna",
link: "/projects/veluna",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Callista",
link: "/projects/callista",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "NHCarrigan Documentation",
link: "/projects/docs",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Data API",
link: "/projects/data-api",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Nymira",
link: "/projects/nymira",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Vitalia",
link: "/projects/vitalia",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Octavia",
link: "/projects/octavia",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Maribelle",
link: "/projects/maribelle",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Verena",
link: "/projects/verena",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Thalassa",
link: "/projects/thalassa",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Aeris",
link: "/projects/aeris",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Thessalia",
link: "/projects/thessalia",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Isolda",
link: "/projects/isolda",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Meliora",
link: "/projects/meliora",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Aurelia",
link: "/projects/aurelia",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Eirene",
link: "/projects/eirene",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Amirei",
link: "/projects/amirei",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Zephra",
link: "/projects/zephra",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Oriana",
link: "/projects/oriana",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Lyra",
link: "/projects/lyra",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Selene",
link: "/projects/selene",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Sybil",
link: "/projects/sybil",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Calenelle",
link: "/projects/calenelle",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Rowena",
link: "/projects/rowena",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Alouette",
link: "/projects/alouette",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Clarion",
link: "/projects/clarion",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Elowyn",
link: "/projects/elowyn",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Evangeline",
link: "/projects/evangeline",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Theodora",
link: "/projects/theodora",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Vivienne",
link: "/projects/vivienne",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Elysium",
link: "/projects/elysium",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Elaria",
link: "/projects/elaria",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Elunara",
link: "/projects/elunara",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Aureline",
link: "/projects/aureline",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Tessara",
link: "/projects/tessara",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Hacksmiths",
link: "/projects/hacksmiths",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Meridia",
link: "/projects/meridia",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Lucinda",
link: "/projects/lucinda",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Liora",
link: "/projects/liora",
badge: { text: "1.0.0", variant: "tip" },
},
{
label: "Beccalia: Origins",
link: "/projects/beccalia-origins",
badge: { text: "v0.0.0", variant: "caution" },
},
{
label: "Beccalia: Prologue",
link: "/projects/beccalia-prologue",
badge: { text: "v1.0.1", variant: "tip" },
},
{
label: "Life of a Naomi",
link: "/projects/life-of-a-naomi",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Ruu's Goblin Quest",
link: "/projects/ruus-goblin-quest",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Naomi's Adventure I: An Isekai Story",
link: "/projects/naomis-adventure-i",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Amari",
link: "/projects/amari",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Artists4Palestine Bot",
link: "/projects/a4p-bot",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Naomi's VSCode Themes",
link: "/projects/vscode-themes",
badge: { text: "v2.2.0", variant: "tip" },
},
{
label: "Boost Monitor",
link: "/projects/boost-monitor",
badge: { text: "v1.0.1", variant: "tip" },
},
{
label: "TypeScript Config",
link: "/projects/typescript-config",
badge: { text: "v4.0.0", variant: "tip" },
},
{
label: "Discord Analytics",
link: "/projects/discord-analytics",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Eclaire",
link: "/projects/eclaire",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "freeCodeCamp Review Generator",
link: "/projects/freecodecamp-review-generator",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Keiko",
link: "/projects/keiko",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Meeting Minutes",
link: "/projects/meeting-minutes",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Nomena",
link: "/projects/nomena",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Scripts",
link: "/projects/scripts",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Sylvara",
link: "/projects/sylvara",
badge: { text: "unreleased", variant: "danger" },
},
{
label: "Saisoku",
link: "/projects/saisoku",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Tyche",
link: "/projects/tyche",
badge: { text: "v1.0.0", variant: "tip" },
},
{
label: "Vivicrea",
link: "/projects/vivicrea",
badge: { text: "v1.0.0", variant: "tip" },
},
].sort((a, b) => a.label.localeCompare(b.label)),
},
// #endregion
// #region Staff Guidelines
{
label: "Staff Guidelines",
collapsed: true,
items: [
{
label: "Staff Handbook",
link: "/staff/handbook",
},
{
label: "Join our Team",
label: "Professional Conduct Standards for Volunteers",
link: "/staff/professional-conduct",
},
{
label: "Volunteer Roles and Opportunities",
link: "/staff/roles",
},
{
label: "Position Hierarchy",
link: "/staff/hierarchy",
},
{
label: "Join Our Volunteer Team",
link: "/staff/apply",
},
],
{
label: "Self-Care Resources for Staff",
link: "/staff/self-care-resources",
},
{
label: "Staff Application Evaluation Rubric",
link: "/staff/rubric",
},
{
label: "Additional Trainings",
collapsed: true,
items: [
{
label: "Accessibility Coordination Training for Staff",
link: "/staff/training/accessibility-coordination",
},
{
label: "Bias Recognition and Mitigation Training for Staff",
link: "/staff/training/bias-recognition-mitigation",
},
{
label: "Child Safety Training for Staff",
link: "/staff/training/child-safety",
},
{
label: "Community Growth Specialist Training for Staff",
link: "/staff/training/community-growth-specialist",
},
{
label: "Community Support Specialist Training for Staff",
link: "/staff/training/community-support-specialist",
},
{
label: "Conflict Resolution Training for Staff",
link: "/staff/training/conflict-resolution",
},
{
label: "Content Moderation Fundamentals Training for Staff",
link: "/staff/training/content-moderation-fundamentals",
},
{
label: "Criminal Activity Training for Staff",
link: "/staff/training/criminal-activity",
},
{
label: "Crisis Response Training for Staff",
link: "/staff/training/crisis-response",
},
{
label: "Cross-Platform Coordination Training for Staff",
link: "/staff/training/cross-platform-coordination",
},
{
label: "Data Analytics and Reporting Training for Staff",
link: "/staff/training/data-analytics-reporting",
},
{
label: "Data Privacy and GDPR Compliance Training for Staff",
link: "/staff/training/data-privacy-gdpr",
},
{
label: "De-escalation Techniques Training for Staff",
link: "/staff/training/de-escalation-techniques",
},
{
label: "Documentation and Transparency Training for Staff",
link: "/staff/training/documentation-transparency",
},
{
label: "Support Forum Moderation Training for Staff",
link: "/staff/training/forum-moderation",
},
{
label: "Harassment and Bullying Response Training for Staff",
link: "/staff/training/harassment-bullying-response",
},
{
label: "Inclusive Moderation Training for Staff",
link: "/staff/training/inclusive-moderation",
},
{
label: "Mentorship and Training Coordination for Staff",
link: "/staff/training/mentorship-training-coordination",
},
{
label: "Social Media Management Training for Staff",
link: "/staff/training/social-media-management",
},
{
label: "Technical Contributor Training for Staff",
link: "/staff/training/technical-contributor",
},
{
label: "Trauma-Informed Moderation Training for Staff",
link: "/staff/training/trauma-informed-moderation",
},
].sort((a, b) => a.label.localeCompare(b.label)),
},
].sort((a, b) => a.label.localeCompare(b.label)),
},
// #endregion
// #region Miscellaneous Documents
{
label: "Miscellaneous Documents",
collapsed: true,
items: [
{
label: "Managing Local Music",
link: "/misc/music",
},
{
label: "Templates",
link: "/misc/templates",
},
{
label: "AI Prompts",
link: "/misc/prompts",
}
]
].sort((a, b) => a.label.localeCompare(b.label)),
},
// #endregion
// #region External Links
{
label: "Sitemap",
link: "https://sitemap.nhcarrigan.com",
label: "Discord",
link: "https://chat.nhcarrigan.com",
attrs: {
target: "_blank",
}
},
},
{
label: "Support Forum",
link: "https://support.nhcarrigan.com",
attrs: {
target: "_blank",
},
}
// #endregion
];
@@ -0,0 +1,83 @@
---
title: Community Membership Eligibility
---
**ELIGIBILITY REQUIREMENTS FOR FREE SERVICES**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Overview
This Community Membership Eligibility Policy ("Policy") establishes the eligibility requirements for accessing free services provided by NHCarrigan ("we," "us," "our," or "the Company"). This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, and all applicable legal protections by reference.
### 1.2. Scope of Application
This Policy applies to eligibility requirements for the following free services:
**(a)** Letters of recommendation and character references;
**(b)** Mock interviews and interview preparation;
**(c)** Portfolio reviews (resume, LinkedIn, GitHub, portfolio website reviews);
**(d)** Development reviews (code reviews, project planning consultations, technical writing reviews);
**(e)** Any other free services that require active community membership as a prerequisite.
## 2. ELIGIBILITY REQUIREMENT - ACTIVE COMMUNITY MEMBERSHIP
### 2.1. General Eligibility Standard
**IMPORTANT: Free services are provided EXCLUSIVELY to active members of our community. These services are NOT available to the general public or individuals who are not actively engaged in our community.**
### 2.2. Eligibility Criteria
**REQUIRED**: Requesters MUST be active, engaged members of our community with demonstrated participation, such as:
**(a)** Active participation in our mentorship programme;
**(b)** Regular, ongoing community engagement in our Discord server or other community platforms;
**(c)** Active volunteer work or contribution to community projects;
**(d)** Sustained, meaningful interaction demonstrating active community membership;
**(e)** Professional collaboration or work relationship within our community context (where applicable).
### 2.3. Verification and Discretion
**(a)** We will verify community membership and activity before accepting any service request;
**(b)** We reserve the right to decline requests from individuals who are not active community members, regardless of other factors;
**(c)** Casual acquaintanceship or minimal interaction does NOT qualify as active membership;
**(d)** We will not provide services for individuals we have not directly interacted with or who lack active community connection;
**(e)** Priority may be given to individuals from underrepresented groups in technology who are active community members.
## 3. NOT AN ACTIVE COMMUNITY MEMBER?
### 3.1. Becoming an Active Community Member
If you are not currently an active member of our community but are interested in accessing our free services, we encourage you to join our Discord community and become an active participant. Active community membership involves regular engagement, participation in discussions, and meaningful contribution to our community.
**Join our Discord community:** [https://chat.nhcarrigan.com](https://chat.nhcarrigan.com)
Once you have established active community membership through regular participation and engagement, you will be eligible to request our free services. We look forward to welcoming you to our community!
### 3.2. What Constitutes Active Membership
Active community membership is demonstrated through:
**(a)** Regular participation in community discussions and activities;
**(b)** Meaningful contributions to community projects or initiatives;
**(c)** Consistent engagement over a period of time (not just a single interaction);
**(d)** Positive, constructive participation that aligns with our community values;
**(e)** Building relationships with other community members through genuine interaction.
## 4. LIMITATION OF LIABILITY AND DISCLAIMERS
### 4.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 4.2. Eligibility Disclaimers
**(a)** Meeting eligibility criteria does not guarantee service provision;
**(b)** We reserve the right to decline service requests at our sole discretion;
**(c)** Eligibility determinations are final and not subject to appeal;
**(d)** This Policy may be updated at any time, and eligibility requirements may change.
---
*For questions about community membership eligibility or our free services, please contact us through our [Contact Policy](/about/contact).*
+274 -229
View File
@@ -2,16 +2,84 @@
title: Contact Policy
---
**ESTABLISHING COMMUNICATION STANDARDS AND CHANNELS FOR ORGANISATIONAL INTERACTIONS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Contact Policy ("Policy") establishes our communication standards, channels, and expectations for all interactions with our organisation. This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference.
### 1.2. Legal Framework Integration
**IMPORTANT: All communications are subject to our Limitation of Liability and Indemnification Policy, Community Code of Conduct, and applicable legal frameworks. By engaging in communication with us, you acknowledge and agree to comply with all relevant policies. Comprehensive warranty disclaimers and liability limitations are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 1.3. Scope of Application
This Policy applies to:
**(a)** All communications with NHCarrigan ("we," "us," "our," or "the Company");
**(b)** All communication channels, platforms, and methods used to contact our organisation;
**(c)** All support requests, inquiries, and interactions with our team;
**(d)** All public and private communication channels operated by our organisation.
---
:::tip
We maintain a full list of all officially-owned social media accounts. You can view those accounts at https://cdn.nhcarrigan.com/socials.txt.
<details>
<summary>Verification Instructions</summary>
To verify the authenticity of that document, grab our SSH key from https://git.nhcarrigan.com/naomi.keys and save it locally. ADD `naomi@nhcarrigan.com ` TO THE BEGINNING OF THIS SIGNATURE FILE. It should look like `naomi@nhcarrigan.com ssh-rsa <key string>`.
Save the list of socials locally locally.
Copy and save this signature locally:
```
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAAhcAAAAHc3NoLXJzYQAAAAMBAAEAAAIBAMU5uZawMgDZj3m5jw9WZ6
ltOSMbYQWnfo9NyccKL8xiVoGVU9PxzSLEuPpczAZpNaKLD5JqhJ2zXN/9YVF+R3wq6NZY
tCDTET02HShOEXTsfChEi+LVi4Brr1OY5Jo1pPViNfm4IintA1yTkCQtyQwrq/lWFvlc/B
mS0Sn3ogEJCp0FxXYXrBfo6ujveKoYKiIBxRlHN4D13Mu00KDvufeEUqtJ42m5fNf/dKJU
7H3Hb7e9l3IuUJeiBC8fb0tTx7E9pg6ivaH6KM8tVGK+U77LK3qzXWICutWGAg1GlMQNsd
17sa03NB4tE12cXIVLCSPUo9Wlt+8BYNNvO14JrCJzQ4/mzBDSsUu2NKdAj4rYaoUW742/
KnPdhfmjOpMFIW53IjldmAs5sixH8u6DrMR1Ge+goOcdwGpHGdl4c4Pkyr6gesdLIDwpE4
sf5ea0XB23JqTDU2e7AusUzTwc4coUGPrrOBTVJI2NSJSS/eUEiGUMhUBYOTtcbnJEnHQb
Nw0sDi+8gqFLdJU6pl7NFWt8HrRKCU4g86DGO9Ym5j2MJNw3looFPjr4eNqbd0Xvnh3Hes
bXTcDO+fT9vceJx/fT4ulE23GLiT5B0Pir8uVGaytKXTRLjBx9op7NrsvxYABQ2Z8Kp4Ck
nTpTU75OikmKTNPltPk5sfIN5SAd0HWPAAAAB3NvY2lhbHMAAAAAAAAABnNoYTUxMgAAAh
QAAAAMcnNhLXNoYTItNTEyAAACAMFX4E0UKi1FsLzX02G7hgs/nuShGl5Le57bTZSb9IPM
HgdwNsSr5LPq08jlMElt1DNRq6U2CLBa6tHkxRATzOE1qlKcfjzJqKddLpRBwkLLq+iGO1
cPyp+TNrNBURrzslOxwpphTSrF/ehhQ0vc+IXYytqDD7cZnLD3NjGhYfvwWGmvkVI4fS6P
VycaE4+1/8XxviwCPb+q44HPUUzOvCUtQBb0Y6w/7WCIfQWjpetkpGQrLdUFFWTnb5kq/9
nSNUH/0qQfjHMV+wz9MO9yY1oskvJ8P9cCKZ4/6sJK/d5NPZ76KO4eOwiFvGKNBFmZ0SwF
hNVMgZf9Sem3HtylOFsYFIwD6caRz8uRZ3VqiqQhpvCcrEdG9Ezna9362EJsVE1GUwiIMG
nZMY6gjdQeezJpC3BGsCMCI6dF3pq6XlQ0Qrmmo9dTHW+ACdUBnBicG9Qpi+6ctBYGSHVx
EUcT6R+7JzdsFisMFdDztLEfSoECnxmqDOVia6yg9KkRPio2DISkaBU0ZGBBsKTNeWHY2U
NP9XfAtfiGVe60t9ojoZiY8w9mAX//l+7L6EYgivm0MJWstSsilb/+3hqD3pywhrd/zF6b
LK7eSS34bl3DiFPQq0IBtzK4vAgpnRRg3OzzUWYKwV5OeF9WP9kyC4ZoPFVWYMEqbGXYcK
lSoyLtKhg+
-----END SSH SIGNATURE-----
```
Then run:
```
ssh-keygen -Y verify -f /path/to/saved/key -I naomi@nhcarrigan.com -n socials -s /path/to/saved/signature < /path/to/saved/list
```
</details>
:::
## 1. Support and Communication Channels
### 1.1 Public Support Channels
### 1.1. Public Support Channels
We offer FREE support through several PUBLIC channels, including:
- Community Forums
- Public Repository Issues
- Open IRC Channels
- Custom Fediverse Instance
- Discord server
These channels are ideal for:
@@ -20,7 +88,7 @@ These channels are ideal for:
- Community discussions and knowledge sharing
- Open-source collaboration opportunities
### 1.2 Private Support Options
### 1.2. Private Support Options
While we encourage the use of public channels, we understand that some situations may require private communication. Please note:
@@ -31,7 +99,7 @@ While we encourage the use of public channels, we understand that some situation
To request private support, please contact us through `support@nhcarrigan.com`.
### 1.3 Engagement Opportunities
### 1.3. Engagement Opportunities
Our platforms offer various ways to engage with our projects and community:
@@ -40,92 +108,52 @@ Our platforms offer various ways to engage with our projects and community:
- Seek mentorship in software development
- Participate in casual discussions with our team and community members
### 1.4 Platform Directory
### 1.4. Contact Form
Below, you'll find a comprehensive list of our official communication platforms. Each platform serves specific purposes and caters to different types of interactions. Please choose the most appropriate channel for your needs to ensure the fastest and most effective response.
We offer a [contact form](https://forms.nhcarrigan.com/o/docs/forms/8XTPmbrFtvDJAKSPgBgsvA/4) for direct, low-priority communication requests.
### 1.5 Contact Form
It is often faster to reach out through one of the below platforms, and best to consider this contact form as a backup in the event of a severe outage.
We offer a [contact form](https://forms.nhcarrigan.com/contact) for direct, low-priority communication requests.
## 2. COMMUNICATION PLATFORMS
It is often faster to reach out through one of the above platforms, and best to consider this contact form as a backup in the event of a severe outage.
### 2.1. Discord
## 2. Communication Platforms
Our Discord server allows for both quick and in-depth communication.
### 2.1 IRC
Our custom IRC network allows for real-time communication with your fellow community members.
:::note
We do not have an IRC bouncer. The only people who will see your messages are the ones who are online when it is sent.
:::
- Join Link: https://irc.nhcarrigan.com
- Features:
- Fastest response times
- Multiple topic-specific channels
- Best for: Quick support, community discussions, and live collaboration
### 2.2. Forum
Our self-hosted forum allows for more long-form communication, which is ideal for support queries and in-depth conversations.
- Join Link: https://forum.nhcarrigan.com
- Join Link: https://chat.nhcarrigan.com
- Features:
- Quick response times
- Threaded conversations
- Persistent and indexed posts
- Community powered support
- Best for: Support queries
### 2.3. Fediverse
### 2.2. Code Repositories
We self-host a fediverse instance for our random thoughts.
:::caution
The instance is invite-only and invites are reserved for our core team and polycule. But you can follow and engage with any Mastodon-compliant instance!
:::
- Link: https://fedi.nhcarrigan.com
- Features:
- Microblogging platform
- Likes + reposts
- Best for: General chatter
### 2.4. Code Repositories
Our code repositories are all self-hosted. Sign-ups are open for anyone who wants to file an issue or comment on a discussion, but making code contributions is restricted to our core team.
Our code repositories are all self-hosted. Git accounts are only granted to Team members (volunteers) and Staff (paid employees).
- Link: https://git.nhcarrigan.com
- Features:
- Issue tracking
- Source code for all of our products
- Best for: Filing tickets on our software.
- Best for: Viewing source code and documentation
- **Bug Reports and Feature Requests**: To report bugs or request features, please use our support forum:
- [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) for bug reports
- [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) for feature requests
### 2.5 Matrix Server
We have a matrix server available for asynchronous chat.
- Link: https://matrix.nhcarrigan.com
- Features:
- Encrypted rooms and chats
- Discord-like experience.
- Best for: Sensitive discussions that need extra security.
### 2.6 Etiquette and Best Practices
### 2.3. Etiquette and Best Practices
- Please be respectful and follow the community guidelines on all platforms.
- Use appropriate channels or rooms for your queries to ensure the fastest response.
- Before asking a question, check if it has been answered in pinned messages or FAQs.
- When seeking help, provide as much relevant information as possible.
## 3. Announcements and Updates
## 3. ANNOUNCEMENTS AND UPDATES
### 3.1 Announcements Page
### 3.1. Announcements Page
We have a dedicated page where we post all of our organisational updates.
- URL: https://announcements.nhcarrigan.com
- Nature: This board is read-only.
- URL: https://hikari.nhcarrigan.com/announcements
- Nature: You can reply to announcement threads to discuss the announcement.
- Content:
- Project updates and new releases
- Important community announcements
@@ -133,7 +161,7 @@ We have a dedicated page where we post all of our organisational updates.
- Major policy changes
- Best for: Comprehensive, detailed announcements and long-form updates
### 3.2 Blog
### 3.2. Blog
Our blog contains more personal posts and updates.
@@ -145,17 +173,17 @@ Our blog contains more personal posts and updates.
- Cool insights into our decision making processes
- Best for: People who want more insight into the team behind NHCarrigan.
### 3.3 Interacting with Announcements
### 3.3. Interacting with Announcements
All of our announcements are read-only, but you can discuss them in any of our platforms mentioned in Section 1!
All of our announcements are read-only, but you can discuss them in any of our platforms mentioned in Section 2.
### 3.6 Historical Announcements
### 3.4. Historical Announcements
All announcements on our board are archived and remain accessible for future reference.
## 4. Professional Engagement and Portfolio
## 4. PROFESSIONAL ENGAGEMENT AND PORTFOLIO
### 4.1 LinkedIn Profile
### 4.1. LinkedIn Profile
LinkedIn serves as our primary professional networking platform.
@@ -169,29 +197,11 @@ LinkedIn serves as our primary professional networking platform.
- Professional collaborators
- Industry peers
#### 4.1.1 Connecting on LinkedIn
#### 4.1.1. Connecting on LinkedIn
When sending a connection request, please include a brief message explaining your interest. We typically respond to LinkedIn messages within 2-3 business days.
When sending a connection request, please include a brief message explaining your interest. We typically respond to LinkedIn messages within 7-10 business days.
### 4.2 Peerlist Profile
As an alternative to LinkedIn, we maintain a presence on Peerlist, a platform focused on tech professionals.
- Profile URL: https://peerlist.io/naomi_lgbt
- Purpose:
- Showcase technical projects and contributions
- Highlight specific skills and technologies
- Connect with other tech professionals
- Best for:
- Tech-focused recruiters and companies
- Fellow developers and engineers
- Open-source collaborators
#### 4.2.1 Engaging on Peerlist
Feel free to explore our projects and contributions on Peerlist. You can leave comments or questions on specific items in our portfolio.
### 4.3 Professional Inquiries
### 4.2. Professional Inquiries
When reaching out for professional reasons, please consider the following:
@@ -199,94 +209,23 @@ When reaching out for professional reasons, please consider the following:
- Relevant Background: Provide brief context about yourself or your company.
- Specific Questions: If you have particular queries, include them in your initial message.
### 4.4 Services
### 4.3. Services
If you're interested in hiring us to perform some work for you, fill out the form at https://forms.nhcarrigan.com/commission.
If you're interested in hiring us to perform some work for you, fill out the form at https://forms.nhcarrigan.com/o/docs/forms/a9K6uzJkpnTfnKgo19b4Rp/4.
### 4.5 Speaking Engagements and Events
### 4.4. Speaking Engagements and Events
If you're interested in having us speak at your event or contribute to your publication, fill out the form at https://forms.nhcarrigan.com/events.
If you're interested in having us speak at your event or contribute to your publication, fill out the form at https://forms.nhcarrigan.com/o/docs/forms/3xEKnDEbqQKG8GJp4kXRCs/4.
### 4.6 Keeping Professional Connections Updated
### 4.5. Keeping Professional Connections Updated
We regularly update our professional profiles with new projects, skills, and achievements. Follow us on these platforms to stay informed about our professional journey and potential opportunities for collaboration.
## 5. One-on-One Sessions
We offer personalized, one-on-one sessions to cater to various needs, from casual conversations to in-depth consultations. Book your session through our Topmate profile.
### 5.1 Coffee Chat - $50
A casual, informal conversation to connect and share ideas.
- Duration: 15 minutes
- Purpose:
- Get to know Naomi
- Discuss general topics in tech
- Share experiences and insights
- Best for:
- Students looking for career advice
- Professionals seeking to expand their network
- Anyone interested in a friendly chat about tech and open source
### 5.2 Consulting Session - $100
A focused, one-on-one session to discuss potential new projects and align our services with your needs.
- Duration: 30 minutes
- Purpose:
- Explore your project requirements in detail
- Discuss how our services can meet your needs
- Provide estimated quotes for the proposed work
- Best for:
- Developers stuck on a particular problem
- Project managers seeking technical guidance
- Startups needing expert input on their tech stack
### 5.3 Mentorship Session - $200
An in-depth, personalized session focused on long-term professional growth and skill development.
- Duration: 1 hour
- Purpose:
- Provide career guidance and development strategies
- Offer personalized learning plans and resources
- Review and provide feedback on code or projects
- Best for:
- Early-career developers seeking guidance
- Professionals looking to transition into tech
- Anyone seeking structured, long-term professional development
### 5.4 How to Book a Session:
- Complete the [meeting request form](https://forms.nhcarrigan.com/session)
- Wait for an email to schedule a time
- Once a time is agreed upon, you will receive an invoice via email.
- The invoice MUST be paid at least 24 hours prior to your session.
### 5.5 Preparing for Your Session:
- Coffee Chat: Come with topics you'd like to discuss or questions about the industry
- Consulting: Prepare a clear description of your problem or project, and any relevant code or documentation
- Mentorship: Outline your career goals and areas where you'd like to improve
### 5.6 Additional Information:
- All sessions are conducted virtually via a video call over Zoom or Google Meet.
- Payment is required at the time of booking
- Rescheduling is possible with at least 24 hours notice
For any questions about these sessions or to discuss a different type of engagement, please reach out through our preferred contact methods listed in previous sections.
## 6. Email Communication
:::caution
Email communication is considered a paid service and will be invoiced at $25 per email we receive.
:::
## 5. EMAIL COMMUNICATION
We offer several email addresses for specific types of inquiries. Please use the appropriate email address to ensure your message reaches the right team and receives the most efficient response.
### 6.1 General Inquiries
### 5.1. General Inquiries
- Email: contact@nhcarrigan.com
- Use for:
@@ -295,67 +234,113 @@ We offer several email addresses for specific types of inquiries. Please use the
- Media or press inquiries
- Any queries that don't fit other categories
### 6.2 Billing and Financial Matters
### 5.2. Billing and Financial Matters
- Email: billing@nhcarrigan.com
:::tip[Preferred Method]{icon=message}
We encourage you to use the [**Billing Questions**](https://support.nhcarrigan.com/c/billing-questions/13) category on our support forum for billing inquiries. This allows for public discussion and faster responses. If you need to share sensitive financial information, you can ask staff to make your thread private, or contact us via email for complete confidentiality.
:::
- **Support Forum:** [Billing Questions](https://support.nhcarrigan.com/c/billing-questions/13) (preferred for most inquiries)
- Email: billing@nhcarrigan.com (for highly sensitive financial information requiring complete confidentiality)
- Use for:
- Questions about payments or invoices
- Inquiries about outstanding balances
- Refund requests
- Updating billing information
### 6.3 Technical Support
### 5.3. Technical Support
:::tip[Preferred Method]{icon=message}
We encourage you to use the [**Technical Support**](https://support.nhcarrigan.com/c/technical-support/5) category on our support forum for support inquiries. This allows for public discussion and faster responses. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for complete confidentiality.
:::
- **Support Forum:** [Technical Support](https://support.nhcarrigan.com/c/technical-support/5) (preferred for most inquiries)
- Email: support@nhcarrigan.com
- Use for:
- Assistance with using our software or services
- Reporting bugs or technical issues
- Documentation clarifications
### 6.4 Privacy Concerns
### 5.4. Privacy Concerns
- Email: privacy@nhcarrigan.com
:::tip[Preferred Method]{icon=message}
We encourage you to use our **Privacy Request Form** for privacy-related requests: https://forms.nhcarrigan.com/o/docs/forms/qEJgBWGDfyHv6x51VU9aVX/4
This form helps ensure we collect all necessary information to process your request efficiently and in compliance with applicable data protection laws.
:::
- **Privacy Request Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/qEJgBWGDfyHv6x51VU9aVX/4
- Email: privacy@nhcarrigan.com (for general privacy questions or if you prefer email)
- Use for:
- Questions about our privacy policy
- Requests for data access or deletion
- Reporting potential privacy breaches
- Opting out of data collection (where applicable)
### 6.5 Security Matters
### 5.5. Security Matters
- Email: security@nhcarrigan.com
:::tip[Preferred Method]{icon=message}
We encourage you to use our **Security Vulnerability Report Form** for reporting security vulnerabilities: https://forms.nhcarrigan.com/o/docs/forms/wgdbBkS4tjCGoVZTqtmMNx/4
This form helps ensure we collect all necessary information to investigate and address security issues efficiently and securely.
:::
- **Security Vulnerability Report Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/wgdbBkS4tjCGoVZTqtmMNx/4
- **Public Security Reports:** View aggregated and sanitized security vulnerability reports for all our products at: https://security.nhcarrigan.com/report/
- Email: security@nhcarrigan.com (for general security questions or if you prefer email)
- Use for:
- Reporting security vulnerabilities
- Questions about our security practices
- Concerns about potential security breaches
### 6.6 Legal Inquiries
### 5.6. Legal Inquiries
- Email: legal@nhcarrigan.com
:::tip[Preferred Method]{icon=message}
We encourage you to use the [**Legal Notices**](https://support.nhcarrigan.com/c/legal-notices/12) category on our support forum for legal inquiries. This allows for public discussion and transparency. If you need to share sensitive legal information, you can ask staff to make your thread private, or contact us via email for urgent matters requiring immediate confidentiality.
:::
- **Support Forum:** [Legal Notices](https://support.nhcarrigan.com/c/legal-notices/12) (preferred for most inquiries)
- Email: legal@nhcarrigan.com (for urgent legal matters requiring immediate confidentiality)
- Use for:
- Legal questions or concerns
- Copyright or trademark issues
- Requests for legal documentation
- Formal notices or communications
### 6.7 Feedback and Suggestions
### 5.7. Feedback and Suggestions
- Email: feedback@nhcarrigan.com
:::tip[Preferred Method]{icon=message}
We encourage you to use our support forum for different types of feedback:
- [**Community Feedback**](https://support.nhcarrigan.com/c/community-feedback/8) for general feedback about our community, services, events, and initiatives
- [**Policy Ideation**](https://support.nhcarrigan.com/c/policy-ideation/9) for suggestions about community policies and governance
- [**Accessibility Feedback**](https://support.nhcarrigan.com/c/accessibility-feedback/10) for reporting accessibility barriers and improvement suggestions
:::
- **Support Forum:**
- [Community Feedback](https://support.nhcarrigan.com/c/community-feedback/8) (preferred for general feedback)
- [Policy Ideation](https://support.nhcarrigan.com/c/policy-ideation/9) (preferred for policy suggestions)
- [Accessibility Feedback](https://support.nhcarrigan.com/c/accessibility-feedback/10) (preferred for accessibility matters)
- Email: feedback@nhcarrigan.com (if you prefer email communication)
- Use for:
- Providing feedback on our work or projects
- Suggesting improvements or new features
- Sharing your experience with our services
- Offering ideas for future developments
### 6.8 Press/Media Inquiries
### 5.8. Press/Media Inquiries
- Email: press@nhcarrigan.com
:::tip[Preferred Method]{icon=message}
We encourage you to use the [**Press Inquiries**](https://support.nhcarrigan.com/c/press-inquiries/14) category on our support forum for media inquiries. This allows for public discussion and community visibility. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for highly sensitive media matters requiring complete confidentiality.
:::
- **Support Forum:** [Press Inquiries](https://support.nhcarrigan.com/c/press-inquiries/14) (preferred for most inquiries)
- Email: press@nhcarrigan.com (for highly sensitive media matters requiring complete confidentiality)
- Use for:
- Requesting comment regarding news
- Scheduling interviews for your media outlet
- Attribution requests in academic articles
### 6.9 Event Requests
### 5.9. Event Requests
- Email: events@nhcarrigan.com
- Use for:
@@ -364,16 +349,21 @@ We offer several email addresses for specific types of inquiries. Please use the
- Workshop or training session requests
- Event sponsorship inquiries
### 6.10 Marketing Inquiries
### 5.10. Marketing Inquiries
- Email: marketing@nhcarrigan.com
:::tip[Preferred Method]{icon=message}
We encourage you to use the [**Marketing Proposals**](https://support.nhcarrigan.com/c/marketing-proposals/15) category on our support forum for marketing inquiries. This allows for public discussion and community input. If you need to share highly confidential business information, you can ask staff to make your thread private, or contact us via email for proposals requiring complete privacy.
:::
- **Support Forum:** [Marketing Proposals](https://support.nhcarrigan.com/c/marketing-proposals/15) (preferred for most inquiries)
- Email: marketing@nhcarrigan.com (for highly confidential business proposals requiring complete privacy)
- Use for:
- Marketing collaboration proposals
- Brand partnership opportunities
- Advertising inquiries
- Content licensing requests
### 6.11 Career Information
### 5.11. Career Information
- Email: careers@nhcarrigan.com
- Use for:
@@ -382,39 +372,47 @@ We offer several email addresses for specific types of inquiries. Please use the
- Inquiries
- Following up on job applications
### 6.12 Partnerships
### 5.12. Partnerships
- Email: partners@nhcarrigan.com
:::tip[Preferred Method]{icon=message}
We encourage you to use the [**Partnership Requests**](https://support.nhcarrigan.com/c/partnership-requests/11) category on our support forum for partnership inquiries. This allows for public discussion and community input on potential partnerships. If you need to share sensitive business information, you can ask staff to make your thread private, or contact us via email if you need complete confidentiality from the start.
:::
- **Support Forum:** [Partnership Requests](https://support.nhcarrigan.com/c/partnership-requests/11) (preferred for most inquiries)
- Email: partners@nhcarrigan.com (if you need complete confidentiality from the start)
- Use for:
- Requesting a collaboration between our organisation and yours
- Sponsorship opportunities for our work
- Brand ambassador programmes
- Product placement or sponsored content inquiries
### 6.13 Email Communication Guidelines
### 5.13. Email Communication Guidelines
- Subject Line: Please use a clear, concise subject line that summarizes your inquiry.
- Content: Provide all relevant details in your initial email to expedite the response process.
- Attachments: If sending attachments, please mention them in the email body and ensure they are in common file formats.
- Response Time: We aim to respond to all emails within 2 business days. Complex inquiries may require additional time.
- Follow-ups: If you haven't received a response after 3 business days, feel free to send a polite follow-up.
- Response Time: We aim to respond to all emails within 7-10 business days. Complex inquiries may require additional time.
- Follow-ups: If you haven't received a response after 10 business days, feel free to send a polite follow-up.
### 6.14 Email Privacy and Security
### 5.14. Email Privacy and Security
All email communications are treated as confidential.
**Reference to Comprehensive Privacy Framework**: Detailed privacy protections, data handling procedures, and security measures are set forth in our Privacy Policy, which is incorporated herein by reference.
We do not share your email address or the content of your messages with third parties unless:
All email communications are treated as confidential and subject to our comprehensive privacy protections.
- Required by law; OR
- As part of a public warning related to a violation of our Code of Conduct
We do not share your email address or the content of your messages with third parties except as outlined in our Privacy Policy, including:
### 6.15 Spam and Unsolicited Emails
- When required by law or legal process
- As part of public safety measures related to Code of Conduct violations
- As necessary for service provision and technical operations
### 5.15. Spam and Unsolicited Emails
We have a strict no-spam policy. If you receive any unsolicited emails claiming to be from us, please report them to security@nhcarrigan.com.
By using the appropriate email address for your inquiry, you help us provide you with the most efficient and accurate response possible. If you're unsure which email to use, feel free to send your inquiry to contact@nhcarrigan.com, and we'll direct it to the appropriate team.
### 6.16 Acceptable Use and Consequences
### 5.16. Acceptable Use and Consequences
We are committed to maintaining a respectful and productive communication environment. To ensure this:
@@ -433,20 +431,13 @@ We reserve the right to report serious abuses to relevant authorities if necessa
By communicating with us via email, you agree to adhere to these guidelines and understand the consequences of misuse.
## 7. Direct Messages
## 6. DIRECT MESSAGES
:::caution
Direct messages (DMs) are considered a paid service and will be invoiced at $25 per message we receive.
:::
### 6.1. Direct Message Policy
### 7.1 Direct Message Policy
We offer direct messaging as a private, personalised communication channel. However, to manage our time effectively and ensure the highest quality of service, direct messages are the lowest priority of communication. Instead, we strongly encourage you to reach out via our Discord community.
We offer direct messaging as a premium, personalized communication channel. However, to manage our time effectively and ensure the highest quality of service, we have implemented the following policy for direct messages:
- Each direct message received will be invoiced at $25.
- This applies to all platforms where direct messaging is available.
### 7.2 Purpose and Use
### 6.2. Purpose and Use
Direct messages should be used for:
@@ -454,37 +445,91 @@ Direct messages should be used for:
- Sensitive information that shouldn't be shared publicly
- Personalized support or consultation requests
### 7.3 Invoicing and Payment
### 6.3. Response Time
- An invoice will be generated for each direct message received.
- Payment is required before a response will be provided.
- Invoices will be sent to you via the direct message channel on the platform where the direct message was received.
### 7.4 Response Time
- Once payment is received, we aim to respond to direct messages within 1-2 business days.
- We aim to respond to direct messages within 5-7 business days.
- Complex inquiries may require additional time, which will be communicated to you.
### 7.5 Refund Policy
- Due to the immediate nature of the service, refunds for direct messages are not typically offered.
- In exceptional circumstances, refund requests will be considered on a case-by-case basis.
### 7.6 Appropriate Use
### 6.4. Appropriate Use
- Direct messages should be used responsibly and for legitimate purposes only.
- Abusive, harassing, or spam messages will not be tolerated and may result in blocking or reporting to the platform.
### 7.7 Alternatives
### 6.5. Alternatives
We encourage users to consider the following alternatives before sending a direct message:
- Use our public support channels for general inquiries (see Section 1.1)
- Check our FAQ or documentation for commonly asked questions
- Post in our community forums for non-urgent matters
- Post in our Discord community forum channels for non-urgent matters
### 7.8 Consent and Acknowledgment
### 6.6. Consent and Acknowledgment
By sending a direct message, you acknowledge that you have read and agreed to this policy, including the fee structure and invoicing process.
By sending a direct message, you acknowledge that you have read and agreed to this Policy.
Remember, while we value direct communication, we encourage the use of our public channels whenever possible to foster community engagement and shared learning.
**IMPORTANT: While we value direct communication, we strongly encourage the use of our public channels whenever possible to foster community engagement and shared learning. Direct messages are the lowest priority communication channel and may experience significant response delays.**
## 7. RESPONSE TIME GUIDELINES
### 7.1. Standard Response Times
All inquiries and communications are handled with a standard response time of **7-10 business days**. This applies to:
- General inquiries and questions
- Support requests
- Policy clarification requests
- Programme-related inquiries
- Technical support requests
- Security reports
- Content reports and moderation appeals
- All other communications
### 7.2. Business Days Definition
Business days are defined as Monday through Friday, excluding weekends and holidays. Response times are calculated from the time your message is received during business hours.
### 7.3. Complex Inquiries
Complex inquiries may require additional time beyond the standard 7-10 business days. In such cases, we will acknowledge your inquiry within the standard timeframe and provide an estimated completion date.
### 7.4. Follow-Up Communications
If you have not received a response after 10 business days, you may send a polite follow-up. Please avoid sending multiple follow-ups at shorter intervals, as this may delay response processing.
## 8. LIMITATION OF LIABILITY AND DISCLAIMERS
### 7.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all matters related to communications and contact with our organisation.**
### 7.2. Communication-Specific Disclaimers
**Additional Limitations:**
**(a)** We are not liable for delays, failures, or errors in communication delivery or processing;
**(b)** We do not guarantee response times or availability of any communication channel;
**(c)** We are not responsible for third-party platform failures or communication service interruptions;
**(d)** Our liability is limited to the maximum extent permitted by applicable law.
## 8. CONTACT INFORMATION AND SUPPORT
### 8.1. General Contact
For general inquiries about this Policy or our communication channels:
**Email:** contact@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
**Response Time:** Within 7-10 business days for general inquiries
### 8.2. Policy Questions
For questions about this Contact Policy:
**Email:** contact@nhcarrigan.com
**Subject Line:** Contact Policy Inquiry - [Brief Description]
---
*This Contact Policy establishes the terms and standards governing all communications with our organisation. By engaging in communication with us, you acknowledge that you have read, understood, and agree to comply with this Policy and all incorporated legal frameworks. For questions about this Policy, please contact us at contact@nhcarrigan.com.*
@@ -0,0 +1,291 @@
---
title: Development Review Policy
---
**POLICY GOVERNING REQUESTS FOR CODE REVIEWS, PROJECT PLANNING CONSULTATIONS, AND TECHNICAL WRITING REVIEWS**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Overview
This Development Review Policy ("Policy") establishes the terms, conditions, and procedures governing requests for code reviews, project planning consultations, and technical writing reviews from NHCarrigan ("we," "us," "our," or "the Company"). This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference.
### 1.2. Service Availability and Eligibility
**IMPORTANT: Development reviews are provided as a FREE service EXCLUSIVELY to active members of our community. These services are NOT available to the general public. To be eligible, you MUST be an active, engaged member of our community with demonstrated participation and engagement. We reserve the right to verify community membership and activity before accepting any development review request.**
### 1.3. Legal Framework Integration
**IMPORTANT: This Policy does not create any binding obligations to provide development reviews or feedback. All development review requests are subject to our sole discretion and assessment of our relationship with the requester. Comprehensive disclaimers, warranty limitations, and liability protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 1.4. Scope of Application
This Policy applies to:
**(a)** All requests for code reviews and feedback;
**(b)** All requests for project planning consultations;
**(c)** All requests for technical writing reviews;
**(d)** All development review-related communications and interactions.
## 2. TYPES OF DEVELOPMENT REVIEWS AVAILABLE
### 2.1. Code Reviews
**Code Review Services:**
**(a)** Review of specific code submissions, pull requests, or codebase sections;
**(b)** Feedback on code quality, best practices, and potential improvements;
**(c)** Suggestions for code organisation, structure, and maintainability;
**(d)** Recommendations for performance optimisation, security considerations, and testing;
**(e)** Code reviews are provided based on industry best practices and professional standards;
**(f)** We reserve the right to decline code reviews if code is incomplete, inaccessible, or exceeds reasonable scope;
**(g)** Code reviews focus on specific, bounded submissions rather than entire codebases.
### 2.2. Project Planning Consultations
**Project Planning Consultation Services:**
**(a)** Written consultation responses to plan new projects or side projects;
**(b)** Guidance on project architecture, technology stack selection, and technical decisions;
**(c)** Assistance with project scope definition, milestone planning, and timeline estimation;
**(d)** Recommendations for project structure, development workflows, and best practices;
**(e)** Project planning consultations are provided in WRITTEN FORMAT ONLY; we do NOT schedule calls or video meetings for consultations;
**(f)** Project planning consultations are provided based on industry best practices and professional experience;
**(g)** We reserve the right to decline project planning consultations if projects exceed our expertise or if we cannot provide meaningful guidance;
**(h)** Consultations are one-time written responses focused on planning rather than ongoing project management.
### 2.3. Technical Writing Reviews
**Technical Writing Review Services:**
**(a)** Review of technical blog posts, articles, documentation, README files, or other technical writing;
**(b)** Feedback on clarity, structure, technical accuracy, and audience appropriateness;
**(c)** Suggestions for improving readability, organisation, and presentation of technical content;
**(d)** Recommendations for formatting, code examples, and visual aids;
**(e)** Technical writing reviews are provided based on technical communication best practices and professional standards;
**(f)** We reserve the right to decline technical writing reviews if content is incomplete, inaccessible, or exceeds reasonable scope;
**(g)** Reviews focus on specific pieces of writing rather than ongoing content creation.
### 2.4. Development Review Limitations
**IMPORTANT DISCLAIMERS:**
**(a)** Development reviews are provided for educational and improvement purposes only;
**(b)** We provide constructive feedback based on industry best practices and professional standards;
**(c)** We reserve the right to decline any development review request at our sole discretion;
**(d)** We are not obligated to provide reasons for declining development review requests;
**(e)** Development reviews do not guarantee improved outcomes, project success, or publication acceptance;
**(f)** Reviews are provided as one-off services and do not include ongoing support or follow-up consultations.
## 3. REQUEST ELIGIBILITY AND REQUIREMENTS
### 3.1. Relationship Requirements
**ELIGIBILITY REQUIREMENT - ACTIVE COMMUNITY MEMBERSHIP:**
**IMPORTANT: Development reviews are FREE services provided EXCLUSIVELY to active members of our community. These services are NOT available to the general public or individuals who are not actively engaged in our community.**
For comprehensive eligibility requirements, eligibility criteria, and information about becoming an active community member, please refer to our [Community Membership Eligibility Policy](/about/community-membership-eligibility).
### 3.2. Request Information Requirements
**Required Information:**
**(a)** **Review Type**: Specify which type of development review is requested (code review, project planning consultation, or technical writing review);
**(b)** **Materials Access**: Provide access links, attachments, or materials to be reviewed;
**(c)** **Review Purpose**: Clear explanation of why the review is needed and what you hope to achieve;
**(d)** **Specific Focus Areas**: Any particular areas, concerns, or questions you'd like addressed;
**(e)** **Deadline Information**: Specific deadline for when feedback is needed, if applicable;
**(f)** **Relationship Context**: Brief summary of connection to our community or organisation.
### 3.3. Material Submission Requirements
**Submission Standards:**
**(a)** **Code Reviews**: Code must be accessible via GitHub, GitLab, or similar platform, or provided as files; code should be substantially complete and ready for review;
**(b)** **Project Planning**: Project ideas or proposals should be clearly described; existing project materials may be provided for context;
**(c)** **Technical Writing**: Writing must be substantially complete and accessible; documents should be provided via web URL;
**(d)** Materials must be substantially complete and ready for review;
**(e)** Incomplete or inaccessible materials may result in request decline or delay;
**(f)** We reserve the right to request additional information or clarification before accepting a development review request.
### 3.4. Request Submission Process
**Submission Requirements:**
**(a)** All development review requests must be submitted through our official development review request form;
**(b)** Requests submitted through other channels may not be processed or may experience delays;
**(c)** Incomplete requests may be returned for additional information before processing;
**(d)** We reserve the right to request additional information or clarification before accepting a development review request.
## 4. DEVELOPMENT REVIEW PROCESS AND TIMELINES
### 4.1. Request Review and Acceptance
**Review Process:**
**(a)** We review all development review requests to assess eligibility, material completeness, and our ability to provide meaningful feedback;
**(b)** Request review typically occurs within five (5) business days of submission;
**(c)** We will notify requesters of acceptance or decline within five (5) business days;
**(d)** Request acceptance does not guarantee review completion if materials are later determined to be incomplete or inaccessible.
### 4.2. Review Preparation Timeline
**Timeline Expectations:**
**(a)** Accepted code reviews and technical writing reviews are typically completed within seven (7) to ten (10) business days of acceptance;
**(b)** Project planning consultations are typically completed within seven (7) to fourteen (14) business days of acceptance;
**(c)** Rush requests may be accommodated at our sole discretion but are not guaranteed;
**(d)** Requesters should provide a minimum of two (2) weeks advance notice for development review requests;
**(e)** Requests with less than two (2) weeks notice may be declined or may not be completed by the requested deadline;
**(f)** We are not liable for missed deadlines if insufficient notice is provided or if requesters fail to provide required materials in a timely manner.
### 4.3. Review Delivery
**Delivery Methods:**
**(a)** All development reviews are provided in WRITTEN FORMAT ONLY and are delivered via email to the requester;
**(b)** We do NOT schedule calls or video meetings to conduct development reviews; all feedback is provided in written format;
**(c)** Review content includes written comments, suggestions, and recommendations;
**(d)** Requesters are responsible for providing accurate contact information;
**(e)** We are not responsible for delivery failures caused by incorrect contact information or email system failures;
**(f)** Requesters will be notified when reviews have been completed and delivered.
## 5. REVIEW CONTENT AND STANDARDS
### 5.1. Review Accuracy and Honesty
**Content Standards:**
**(a)** All development reviews are provided honestly and constructively based on industry best practices and professional standards;
**(b)** We will provide actionable feedback and specific recommendations for improvement;
**(c)** Reviews reflect our genuine assessment of materials based on professional standards and best practices;
**(d)** We reserve the right to decline requests if we cannot provide constructive feedback in good faith.
### 5.2. Review Scope
**Content Limitations:**
**(a)** Reviews address materials submitted and focus on professional best practices and improvement opportunities;
**(b)** We will not verify all factual claims or test all code functionality in detail;
**(c)** Reviews focus on quality, best practices, structure, and professional presentation;
**(d)** We are not obligated to address every aspect requested if it falls outside our expertise or review scope;
**(e)** Reviews do not include rewriting code, creating content, or implementing changes; feedback is provided for requester implementation.
### 5.3. Confidentiality and Privacy
**Privacy Protections:**
**(a)** Review content and submitted materials are confidential and shared only with designated reviewers;
**(b)** Review content and materials are subject to our Privacy Policy and data protection practices;
**(c)** We maintain confidentiality of development review requests and materials except as necessary for review provision or as required by law.
## 6. LIMITATIONS AND RESTRICTIONS
### 6.1. Development Review Limitations
**Service Limitations:**
**(a)** We reserve the right to decline any development review request at our sole discretion;
**(b)** We will not provide reviews if we cannot do so constructively and helpfully;
**(c)** We are not obligated to provide reasons for declining development review requests;
**(d)** Development review provision does not guarantee any specific outcome or result for the requester;
**(e)** Development reviews are provided for educational purposes and do not guarantee project success, code acceptance, or publication.
### 6.2. Frequency Limitations
**Request Frequency:**
**(a)** We may limit the number of development reviews provided to the same requester within a specified time period;
**(b)** Multiple simultaneous requests from the same requester may be consolidated or prioritised at our discretion;
**(c)** We reserve the right to decline requests if we determine development review provision would be excessive or burdensome;
**(d)** Requesters should coordinate multiple review needs to minimise burden and ensure timely completion;
**(e)** Updated materials may be submitted for re-review after implementing previous feedback.
### 6.3. Scope Limitations
**Review Scope Restrictions:**
**(a)** **Code Reviews**: Limited to specific, bounded code submissions (e.g., single pull requests, specific features, or codebase sections); entire codebase reviews are a separate paid service;
**(b)** **Project Planning Consultations**: Limited to planning sessions; ongoing project management or implementation support is a separate paid service;
**(c)** **Technical Writing Reviews**: Limited to specific pieces of writing; ongoing content creation or editing services are a separate paid service;
**(d)** Development reviews are one-off services and do not include ongoing support, follow-up consultations, or iterative review cycles.
If you require long-term review, consider [hiring us as a consultant](/about/hire).
### 6.4. Prohibited Uses
**Restrictions:**
**(a)** Development reviews may not be used for purposes other than professional development and improvement;
**(b)** Requesters may not misrepresent review feedback or claim endorsements that were not provided;
**(c)** Development reviews may not be used to support fraudulent, illegal, or unethical activities;
**(d)** Violation of these restrictions may result in refusal of future requests.
## 7. LIMITATION OF LIABILITY AND DISCLAIMERS
### 7.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, maximum liability caps, and all related legal protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all matters related to development review requests and provision.**
### 7.2. Development Review-Specific Disclaimers
**Additional Limitations:**
**(a)** Development reviews are provided as FREE services offered in good faith, to the best of our ability and knowledge;
**(b)** We are NOT liable for ANY outcomes, decisions, or results that arise from development reviews we provide, including but not limited to project success, code acceptance, publication, professional opportunities, or any consequences of implementing our feedback;
**(c)** What you do with the information, feedback, and recommendations provided in development reviews is YOUR OWN RESPONSIBILITY;
**(d)** We do not guarantee project success, code acceptance, publication, or professional opportunities based on our reviews;
**(e)** We are not responsible for third-party decisions, evaluation criteria, or acceptance processes;
**(f)** Our liability is limited to the maximum extent permitted by applicable law;
**(g)** Development reviews are provided "as is" without warranties of any kind;
**(h)** We are not responsible for requester implementation of feedback or changes made to materials based on our reviews.
## 8. REQUEST FORM AND SUBMISSION
### 8.1. Official Request Form
**Submission Channel:**
**(a)** All development review requests must be submitted through our official development review request form;
**(b)** The development review request form is available at: [Development Review Request Form](https://forms.nhcarrigan.com/o/docs/forms/3s8FCSwo4YtpMoptRmWxgU/4);
**(c)** Requests submitted through other channels may not be processed or may experience significant delays;
**(d)** The form collects all required information for development review request processing and preparation.
### 8.2. Form Completion Requirements
**Form Requirements:**
**(a)** Requesters must complete all required fields in the development review request form;
**(b)** Incomplete forms may be returned for additional information before processing;
**(c)** Requesters should provide accurate, complete information to ensure timely and accurate development review preparation;
**(d)** False or misleading information in request forms may result in request denial or review refusal.
## 9. CONTACT INFORMATION AND INQUIRIES
### 9.1. Development Review Inquiries
For questions about this Policy or development review requests:
**Email:** contact@nhcarrigan.com
**Subject Line:** Development Review Policy Inquiry - [Brief Description]
**Response Time:** See our [Contact Policy](/about/contact) for response time expectations.
### 9.2. Request Status Inquiries
For questions about the status of submitted development review requests:
**Email:** contact@nhcarrigan.com
**Subject Line:** Development Review Request Status - [Your Name]
**Response Time:** See our [Contact Policy](/about/contact) for response time expectations.
### 9.3. General Contact
For general inquiries about our organisation or services:
**Email:** contact@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
## 10. ACKNOWLEDGEMENT AND AGREEMENT
### 10.1. Policy Acceptance
By submitting a development review request, you acknowledge that you have:
**(a)** Read, understood, and agree to comply with this Policy;
**(b)** Understood that development review provision is at our sole discretion;
**(c)** Provided accurate and complete information in your request;
**(d)** Acknowledged all disclaimers, limitations, and legal protections incorporated by reference.
### 10.2. Request Accuracy
**IMPORTANT: By submitting a development review request, you represent and warrant that all information provided is accurate, complete, and truthful. False or misleading information may result in request denial or refusal of future requests.**
---
*This Development Review Policy establishes the terms and procedures governing development review requests. This Policy does not create binding obligations to provide development reviews. All development review requests are subject to our sole discretion and assessment of our relationship with requesters. For questions about this Policy or to submit a development review request, please use the official development review request form or contact us at contact@nhcarrigan.com.*
+219 -25
View File
@@ -1,43 +1,237 @@
---
title: Support Our Work 💜
title: Donation and Support Policy
---
We are passionate about creating and maintaining free-to-use projects and providing guidance in various programming communities. Your support helps us continue this mission and expand our efforts.
**SUPPORTING OUR MISSION THROUGH VOLUNTARY CONTRIBUTIONS**
## 1. Why Support Us?
## 1. INTRODUCTION AND PURPOSE
- **Free Resources**: We offer numerous projects that are free for everyone to use and learn from.
- **Community Guidance**: We actively participate in programming communities, offering help and mentorship.
- **Open Source Contributions**: Your support enables us to dedicate more time to open source development.
- **Continuous Improvement**: Donations help us improve existing projects and create new ones.
### 1.1. Policy Overview
## 2. How Your Support Helps
This Donation and Support Policy ("Policy") establishes the terms, conditions, and procedures governing voluntary financial contributions and other forms of support to NHCarrigan ("we," "us," "our," or "the Company"). This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference.
- Covers hosting and infrastructure costs
- Allows us to dedicate more time to project development and community support
- Enables us to invest in better tools and resources
- Supports our ongoing education and skill development
### 1.2. Legal Framework Integration
## 3. Ways to Support
**IMPORTANT: All donations and support are voluntary contributions. This Policy does not create any contractual obligations, warranties, or guarantees regarding the use of donated funds or the provision of any services or benefits. Comprehensive disclaimers and liability limitations are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
You can make a $5 monthly donation via https://buy.stripe.com/cN24iTfqu1j6b3afZ2
### 1.3. Scope of Application
Or, if you'd like to make a one-off donation: https://donate.stripe.com/8wMcPp1zE8Ly2wEcMR
This Policy applies to:
**(a)** All voluntary financial contributions made to NHCarrigan;
**(b)** All forms of non-financial support and contributions;
**(c)** All donation platforms and payment processors used for contributions;
**(d)** All benefits, recognition, or acknowledgements associated with contributions.
## 4. Other Ways to Help
## 2. DONATION PURPOSE AND USE
- **Spread the Word**: Share our projects and resources with others who might benefit.
- **Contribute**: If you have skills to offer, consider contributing to our open source projects.
- **Provide Feedback**: Your input helps us improve and refine our work.
### 2.1. Mission and Objectives
## 5. Thank You!
We are committed to creating and maintaining free-to-use projects and providing guidance in various programming communities. Voluntary contributions support our mission to:
Every contribution, no matter the size, makes a significant impact. We deeply appreciate your support and are committed to using it to benefit the wider programming community.
**(a)** **Free Resource Development**: Create and maintain projects that are free for everyone to use and learn from;
**(b)** **Community Guidance**: Provide active participation in programming communities, offering help and mentorship;
**(c)** **Open Source Contributions**: Enable dedicated time to open source development and community support;
**(d)** **Continuous Improvement**: Improve existing projects and create new resources for the community.
For any questions about donations or to discuss other support options, please contact us at donors@nhcarrigan.com.
### 2.2. Use of Donated Funds
## 6. Perks
Donated funds may be used for:
Once you have donated, make sure to join our [community](https://forum.nhcarrigan.com)! Once there, DM Naomi to request access to our special supporters subforum!
**(a)** **Infrastructure Costs**: Hosting, servers, and technical infrastructure necessary for service provision;
**(b)** **Development Resources**: Tools, software licences, and resources necessary for project development;
**(c)** **Community Support**: Time and resources dedicated to community support and mentorship activities;
**(d)** **Educational Development**: Ongoing education and skill development to enhance service quality;
**(e)** **Organisational Operations**: Reasonable operational expenses necessary for organisational functioning.
You can also request access to our [private development notes](https://notes.nhcarrigan.com), which gives you a sneak peek into our roadmap and future plans. You'll need to provide an email address so we can add you to the access list.
### 2.3. Financial Transparency
We maintain transparency regarding our organisation's income and expenses through our publicly accessible [OpenCollective](https://opencollective.com/NHCarrigan) account, where donors may review financial information and contribute directly.
**IMPORTANT DISCLAIMER:**
The ledger is updated as our workload allows. We make no guarantee of timely accuracy.
### 2.4. No Guarantees or Obligations
**IMPORTANT DISCLAIMER:**
**(a)** Donations do not create any contractual obligations or guarantees regarding specific project outcomes or service levels;
**(b)** We reserve the right to allocate donated funds at our sole discretion in furtherance of our mission;
**(c)** Donations do not entitle donors to any ownership interest, voting rights, or control over organisational decisions;
**(d)** We are not obligated to provide any specific services, features, or benefits in exchange for donations.
## 3. DONATION METHODS AND PLATFORMS
### 3.1. Available Donation Platforms
We accept voluntary contributions through the following platforms:
**(a)** **OpenCollective**: [https://opencollective.com/NHCarrigan](https://opencollective.com/NHCarrigan) - Primary platform for organisational donations and financial transparency;
**(b)** **Discord Community**: Monthly subscription options available within our [Discord community](https://chat.nhcarrigan.com);
**(c)** **Patreon**: Monthly membership options available at [https://patreon.com/NHCarrigan](https://patreon.com/NHCarrigan);
**(d)** **Ko-Fi**: Monthly or one-time donations available at [https://ko-fi.com/NHCarrigan](https://ko-fi.com/NHCarrigan);
**(e)** **Throne**: Gift suggestions and purchases available at [https://throne.com/naomilgbt](https://throne.com/naomilgbt);
**(f)** **Twitch**: Subscription options available through our [Twitch streams](https://twitch.tv/naomilgbt);
**(g)** **PayPal**: Direct donations via [https://paypal.me/NHCarrigan](https://paypal.me/NHCarrigan);
**(h)** **CashApp**: Direct donations via [https://cash.app/$NHCarrigan](https://cash.app/$NHCarrigan);
**(i)** **GitHub Sponsors**: Sponsorship options through our [GitHub organisation](https://github.com/sponsors/NHCarrigan) or [Naomi's account](https://github.com/sponsors/naomi-lgbt);
**(j)** **Stripe**: Direct [monthly](https://buy.stripe.com/cN24iTfqu1j6b3afZ2) or [one-time](https://donate.stripe.com/8wMcPp1zE8Ly2wEcMR) donations.
### 3.2. Third-Party Platform Terms
All donations processed through third-party platforms are subject to:
**(a)** The terms of service and privacy policies of the respective platform;
**(b)** Platform-specific fees, processing charges, and payment terms;
**(c)** Platform security measures and data handling practices;
**(d)** Our Privacy Policy regarding collection and processing of donor information.
### 3.3. Payment Processing
**(a)** All payment processing is handled by third-party payment processors;
**(b)** We do not directly process or store payment card information;
**(c)** Payment security is the responsibility of the respective payment platform;
**(d)** We are not liable for any issues arising from third-party payment processing.
## 4. DONOR RECOGNITION AND BENEFITS
### 4.1. Recognition Programmes
We may provide recognition to donors through:
**(a)** Public acknowledgement in donor recognition lists (with explicit consent);
**(b)** Special roles or channels in our community platforms;
**(c)** Access to supporter-exclusive content or features;
**(d)** Other forms of recognition as determined at our sole discretion.
### 4.2. Supporter Benefits
Donors may be eligible for certain benefits, including:
**(a)** **Discord Community Access**: Access to special supporters channels and roles within our [Discord community](https://chat.nhcarrigan.com);
**(b)** **Early Access**: Early access to new features or content where applicable;
**(c)** **Recognition**: Public recognition in donor lists or supporter acknowledgements (with consent);
**(d)** **Community Engagement**: Enhanced engagement opportunities within our community platforms.
### 4.3. Benefit Limitations
**IMPORTANT:**
**(a)** Benefits are provided at our sole discretion and may be modified or discontinued at any time;
**(b)** Benefits do not create any contractual rights or obligations;
**(c)** We reserve the right to revoke benefits for violations of our Terms of Service or Community Code of Conduct;
**(d)** Benefits may vary based on donation amount, platform, or other factors determined by us.
### 4.4. Benefit Activation
To activate supporter benefits:
**(a)** Join our [Discord community](https://chat.nhcarrigan.com);
**(b)** Contact community leadership to request access to supporter channels and roles;
**(c)** Provide verification of donation if requested;
**(d)** Comply with all community standards and policies.
## 5. ALTERNATIVE FORMS OF SUPPORT
### 5.1. Non-Financial Contributions
We value and appreciate various forms of non-financial support:
**(a)** **Community Engagement**: Active participation in our community platforms and discussions;
**(b)** **Project Contributions**: Contributing code, documentation, or other resources to our open source projects;
**(c)** **Promotion and Advocacy**: Sharing our projects and resources with others who might benefit;
**(d)** **Feedback and Input**: Providing constructive feedback to help us improve and refine our work.
### 5.2. Contribution Guidelines
All non-financial contributions are subject to:
**(a)** Our Terms of Service and Acceptable Use Policy;
**(b)** Our Community Code of Conduct;
**(c)** Our Contributing Documentation for code and technical contributions;
**(d)** All applicable legal and policy frameworks.
## 6. DONATION TERMS AND CONDITIONS
### 6.1. Voluntary Nature
**(a)** All donations are strictly voluntary and non-refundable;
**(b)** Donations do not create any employment, partnership, or business relationship;
**(c)** Donations are not investments and do not provide any financial return or equity interest;
**(d)** We are not obligated to accept any donation and may refuse donations at our sole discretion.
### 6.2. Refund Policy
**(a)** Donations are generally non-refundable;
**(b)** Refund requests will be considered on a case-by-case basis for exceptional circumstances;
**(c)** Refund requests must be submitted within thirty (30) days of the donation date;
**(d)** Processing fees charged by payment platforms are non-refundable.
### 6.3. Tax Considerations
**(a)** We are not a tax-exempt organisation and cannot provide tax deduction documentation;
**(b)** Donors are responsible for determining the tax implications of their contributions;
**(c)** We recommend consulting with a tax professional regarding donation tax treatment;
**(d)** We do not provide tax advice or tax-related documentation.
### 6.4. Donation Modifications and Cancellations
**(a)** Recurring donations may be cancelled through the respective payment platform;
**(b)** We are not responsible for cancellation processes managed by third-party platforms;
**(c)** Cancellation of recurring donations does not affect benefits already provided;
**(d)** We reserve the right to modify or discontinue donation programmes at any time.
## 7. PRIVACY AND DATA PROTECTION
### 7.1. Donor Information
Donor information is handled in accordance with our Privacy Policy:
**(a)** We collect only information necessary for processing donations and providing benefits;
**(b)** Donor information is not sold or shared with third parties except as necessary for payment processing;
**(c)** Donors may request access to or deletion of their personal information;
**(d)** Public recognition requires explicit consent from donors.
### 7.2. Payment Information
**(a)** We do not directly process or store payment card information;
**(b)** Payment information is handled by third-party payment processors in accordance with their privacy policies;
**(c)** We are not responsible for data breaches or security incidents affecting third-party payment platforms;
**(d)** Donors should review payment platform privacy policies before making contributions.
## 8. LIMITATION OF LIABILITY AND DISCLAIMERS
### 8.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all matters related to donations and support.**
### 8.2. Donation-Specific Disclaimers
In addition to comprehensive liability limitations:
**(a)** We are not liable for any issues arising from third-party payment platform failures or errors;
**(b)** We are not responsible for benefits or recognition that cannot be provided due to technical or operational limitations;
**(c)** We do not guarantee that donations will result in specific project outcomes or service improvements;
**(d)** We are not liable for any tax consequences or legal implications of donations.
## 9. CONTACT INFORMATION
### 9.1. Donation Inquiries
For questions about donations or support options:
**Email:** donors@nhcarrigan.com
**Response Time:** Within 7-10 business days for donation-related inquiries
### 9.2. General Contact
For general inquiries about our organisation or services:
**Email:** contact@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
## 10. ACKNOWLEDGEMENT AND GRATITUDE
### 10.1. Appreciation Statement
We extend our sincere gratitude to all individuals and organisations who support our mission through voluntary contributions. Every contribution, regardless of size, makes a significant impact on our ability to serve the programming community and maintain free, accessible resources.
### 10.2. Commitment to Mission
We are committed to using all contributions responsibly and effectively to further our mission of creating inclusive, accessible technology resources and supporting programming communities worldwide.
---
*This Donation and Support Policy establishes the terms governing voluntary contributions to our organisation. By making a donation, you acknowledge that you have read, understood, and agree to the terms set forth in this Policy. For questions about donations, please contact us at donors@nhcarrigan.com.*
+242 -36
View File
@@ -1,59 +1,265 @@
---
title: Hire us!
title: Professional Services and Commission Policy
---
We're excited about the opportunity to collaborate with you and contribute to the success of your goals. Our team brings a wealth of experience and a passion for delivering high-quality solutions tailored to your specific needs.
**PROFESSIONAL SERVICES, CONSULTING, AND COMMISSION ENGAGEMENTS**
!["If you knew I was so unstable, why'd you hire me?](https://cdn.nhcarrigan.com/hire.jpeg)
## 1. INTRODUCTION AND SCOPE
## 1. Our Services
### 1.1. Policy Overview
- **Discord Bot Development**: Custom bots to enhance your server's functionality
- **Web Development**: From simple websites to complex web applications
- **Community Management**: Strategies to grow and maintain thriving online communities
- **Technical Consulting**: Expert advice on your tech-related projects and decisions
This Professional Services and Commission Policy ("Policy") establishes the terms, conditions, and procedures governing professional services, consulting engagements, and commission-based work provided by NHCarrigan ("we," "us," "our," or "the Company"). This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference.
## 2. Engagement Options
### 1.2. Legal Framework Integration
We offer flexible ways to work together, catering to projects of all sizes and complexities:
**IMPORTANT: This Policy does not create any binding service agreements. All professional services engagements require separate written agreements that supersede this Policy. Comprehensive disclaimers, warranty limitations, and liability protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 2.1. Quick Sync (15 minutes)
### 1.3. Scope of Application
For those with a well-defined product idea or seeking a quick review of their community plan, book a quick sync.
This Policy applies to:
**(a)** All professional services and consulting engagements;
**(b)** All commission-based development and technical work;
**(c)** All mentorship and training services;
**(d)** All initial consultations and project discussions.
- Ideal for: Initial project discussions, quick advice, or community plan reviews
- Duration: 15 minutes
- Outcome: Rapid insights and direction for your project
## 2. AVAILABLE SERVICES
### 2.2. In-Depth Consultation (30 minutes)
### 2.1. Service Categories
For more complex, long-term, or in-depth projects, we recommend booking an in-depth consultation.
We offer professional services in the following categories:
- Ideal for: Detailed project planning, technical strategy discussions, or exploring long-term collaborations
- Duration: 30 minutes
- Outcome: Comprehensive project assessment and tailored recommendations
**(a)** **Discord Bot Development**: Custom bot development to enhance server functionality, including feature implementation, integration services, and ongoing maintenance;
**(b)** **Web Development**: Website and web application development services, ranging from simple websites to complex web applications, including front-end and back-end development;
**(c)** **Community Management**: Strategic consulting and services for growing and maintaining thriving online communities, including moderation strategies, engagement programmes, and community growth planning;
**(d)** **Technical Consulting**: Expert technical advice and consultation on technology-related projects, decisions, and strategic planning.
### 2.3. Mentorship Session (60 minutes)
### 2.2. Service Limitations
:::tip
Individual mentorship sessions are made available for those who might need one-off guidance, but the best value is actually through our [Mentorship programme](/about/mentorship).
:::
**IMPORTANT DISCLAIMERS:**
**(a)** Services are provided subject to availability and our sole discretion to accept or decline engagements;
**(b)** Service scope, deliverables, and timelines are determined through separate written agreements;
**(c)** We reserve the right to refuse service for any reason, including conflicts of interest, resource constraints, or project incompatibility;
**(d)** All services are subject to our Terms of Service, Acceptable Use Policy, and applicable legal frameworks.
For those seeking personalized guidance and skill development, we offer a full mentorship session.
## 3. ENGAGEMENT OPTIONS AND CONSULTATION SERVICES
- Ideal for: Individuals looking to enhance their skills in development, community management, or related areas
- Duration: 60 minutes
- Outcome: Personalized learning path, hands-on projects, and ongoing support
### 3.1. Initial Consultation Services
## 3. Why Choose Us?
We offer structured consultation services to assess project needs and determine appropriate engagement approaches:
- **Expertise**: Years of experience in development and community management
- **Flexibility**: Multiple engagement options to suit your needs and preferences
- **Personalized Approach**: Tailored solutions for your unique challenges
- **Commitment to Quality**: Delivering high-value insights and solutions in every interaction
### 3.2. Quick Sync Consultation (15 Minutes)
## 4. Ready to Get Started?
**Purpose and Scope:**
**(a)** **Intended Use**: Initial project discussions, quick advice, or community plan reviews for well-defined product ideas;
**(b)** **Duration**: Fifteen (15) minutes;
**(c)** **Outcome**: Rapid insights and directional guidance for project planning;
**(d)** **Limitations**: Quick sync consultations provide preliminary guidance only and do not constitute comprehensive project planning or binding service commitments.
Submit a [meeting request](https://forms.nhcarrigan.com/session)!
### 3.3. In-Depth Consultation (30 Minutes)
Not sure which option is right for you? Feel free to contact us with any questions. We're excited to explore how we can help bring your ideas to life and contribute to your success!
**Purpose and Scope:**
**(a)** **Intended Use**: Detailed project planning, technical strategy discussions, or exploration of long-term collaboration opportunities for complex, long-term, or in-depth projects;
**(b)** **Duration**: Thirty (30) minutes;
**(c)** **Outcome**: Comprehensive project assessment and tailored recommendations;
**(d)** **Limitations**: In-depth consultations provide strategic guidance but do not constitute binding service agreements or guarantee project acceptance.
### 3.4. Mentorship Session (60 Minutes)
**Purpose and Scope:**
**(a)** **Intended Use**: Personalized guidance and skill development for individuals seeking to enhance skills in development, community management, or related technical areas;
**(b)** **Duration**: Sixty (60) minutes;
**(c)** **Outcome**: Personalized learning path recommendations, hands-on project guidance, and ongoing support planning;
**(d)** **Limitations**: Mentorship sessions provide educational guidance and do not create ongoing mentorship relationships unless separately agreed.
### 3.5. Consultation Terms and Conditions
**IMPORTANT:**
**(a)** Consultation services are provided for informational and planning purposes only;
**(b)** Consultations do not create any binding service agreements or commitments;
**(c)** All consultation outcomes, recommendations, and advice are provided "as is" without warranties;
**(d)** Consultation fees, if applicable, are non-refundable and do not guarantee project acceptance or service provision.
## 4. SERVICE ENGAGEMENT PROCESS
### 4.1. Initial Inquiry and Assessment
**Engagement Process:**
**(a)** **Commission Request Submission**: Submit initial inquiries through our [commission request form](https://forms.nhcarrigan.com/o/docs/forms/a9K6uzJkpnTfnKgo19b4Rp/4);
**(b)** **Initial Review**: We review all commission requests to assess project scope, compatibility, and resource availability;
**(c)** **Consultation Scheduling**: Appropriate consultation services may be scheduled to discuss project requirements and engagement options;
**(d)** **Project Assessment**: Comprehensive assessment of project feasibility, timeline, and resource requirements.
### 4.2. Service Agreement Requirements
**Formal Engagement:**
**(a)** All professional service engagements require separate written service agreements;
**(b)** Service agreements specify project scope, deliverables, timelines, compensation, and terms;
**(c)** No services are provided until a written service agreement is executed by both parties;
**(d)** Service agreements supersede this Policy and establish binding terms for specific engagements.
### 4.3. Project Acceptance and Rejection
**Engagement Decisions:**
**(a)** We reserve the right to accept or decline any project at our sole discretion;
**(b)** Project acceptance is subject to resource availability, project compatibility, and our assessment of project feasibility;
**(c)** We are not obligated to provide reasons for project rejection;
**(d)** Consultation fees, if paid, are non-refundable regardless of project acceptance or rejection.
## 5. SERVICE QUALITY AND DELIVERABLES
### 5.1. Service Standards
We are committed to delivering high-quality professional services:
**(a)** **Expertise**: Years of experience in development, community management, and technical consulting;
**(b)** **Flexibility**: Multiple engagement options to accommodate diverse project needs and preferences;
**(c)** **Personalized Approach**: Tailored solutions addressing unique project challenges and requirements;
**(d)** **Quality Commitment**: Focus on delivering high-value insights and solutions in every engagement.
### 5.2. Deliverable Specifications
**Service Deliverables:**
**(a)** All deliverables are specified in individual service agreements;
**(b)** Deliverables are provided in accordance with agreed specifications and timelines;
**(c)** We reserve the right to modify deliverables with client consent and appropriate agreement amendments;
**(d)** Deliverable acceptance and approval processes are established in service agreements.
### 5.3. Service Limitations and Disclaimers
**IMPORTANT DISCLAIMERS:**
**(a)** Services are provided "as is" subject to the limitations and disclaimers in our Limitation of Liability and Indemnification Policy;
**(b)** We do not guarantee specific project outcomes, business results, or performance metrics;
**(c)** Service quality and outcomes may vary based on project complexity, client cooperation, and external factors;
**(d)** We are not responsible for client decisions made based on our services or recommendations.
## 6. COMPENSATION AND PAYMENT TERMS
### 6.1. Fee Structure
**Compensation Arrangements:**
**(a)** Consultation fees, if applicable, are specified at the time of consultation scheduling;
**(b)** Professional service fees are established in individual service agreements;
**(c)** Payment terms, schedules, and methods are specified in service agreements;
**(d)** All fees are non-refundable except as specifically provided in service agreements.
### 6.2. Payment Processing
**Payment Methods:**
**(a)** Payments are processed through secure third-party payment processors;
**(b)** Payment processing is subject to third-party platform terms and conditions;
**(c)** We are not responsible for payment processing delays or issues caused by third-party platforms;
**(d)** Payment information is handled in accordance with our Privacy Policy and applicable data protection laws.
### 6.3. Refund Policy
**Refund Terms:**
**(a)** Consultation fees are non-refundable;
**(b)** Professional service refunds are governed by individual service agreements;
**(c)** Refund requests must be submitted in writing and are subject to our review and approval;
**(d)** We reserve the right to refuse refunds for services already provided or work already completed.
## 7. INTELLECTUAL PROPERTY AND OWNERSHIP
### 7.1. Work Product Ownership
**Intellectual Property Rights:**
**(a)** Work product ownership is specified in individual service agreements;
**(b)** Unless otherwise agreed, we retain ownership of pre-existing intellectual property, tools, and methodologies;
**(c)** Client-specific work product ownership is determined by service agreement terms;
**(d)** All intellectual property terms are subject to applicable laws and our Terms of Service.
### 7.2. License and Usage Rights
**Usage Rights:**
**(a)** Usage rights for work product are established in service agreements;
**(b)** We may retain rights to use anonymised work product for portfolio and marketing purposes;
**(c)** Client usage rights are limited to the scope specified in service agreements;
**(d)** Unauthorised use of work product may constitute intellectual property infringement.
## 8. CONFIDENTIALITY AND PRIVACY
### 8.1. Confidential Information
**Confidentiality Obligations:**
**(a)** Confidentiality terms are established in individual service agreements;
**(b)** We maintain confidentiality of client information in accordance with our Privacy Policy and service agreements;
**(c)** Client information is not shared with third parties except as necessary for service provision or as required by law;
**(d)** Confidentiality obligations survive termination of service agreements.
### 8.2. Data Protection
**Privacy and Data Security:**
**(a)** Client data is handled in accordance with our Privacy Policy and applicable data protection laws;
**(b)** We implement reasonable security measures to protect client information;
**(c)** We are not liable for data breaches caused by third-party systems or client security failures;
**(d)** Data retention and deletion policies are specified in service agreements.
## 9. LIMITATION OF LIABILITY AND DISCLAIMERS
### 9.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, maximum liability caps, and all related legal protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all matters related to professional services and consulting engagements.**
### 9.2. Service-Specific Disclaimers
**Additional Limitations:**
**(a)** We are not liable for business decisions, outcomes, or results based on our services or recommendations;
**(b)** We do not guarantee specific project outcomes, performance metrics, or business results;
**(c)** We are not responsible for third-party services, platforms, or tools used in connection with our services;
**(d)** Our liability is limited to the maximum extent permitted by applicable law and service agreements.
## 10. TERMINATION AND CANCELLATION
### 10.1. Service Termination
**Termination Rights:**
**(a)** Termination rights and procedures are specified in individual service agreements;
**(b)** We reserve the right to terminate services for violations of our Terms of Service or service agreements;
**(c)** Clients may terminate services in accordance with service agreement terms;
**(d)** Termination does not affect accrued obligations or rights established prior to termination.
### 10.2. Cancellation Policy
**Cancellation Terms:**
**(a)** Consultation cancellations are subject to our cancellation policy specified at the time of scheduling;
**(b)** Service engagement cancellations are governed by individual service agreements;
**(c)** Cancellation fees may apply as specified in service agreements;
**(d)** We reserve the right to refuse future services following cancellation or termination.
## 11. CONTACT INFORMATION AND INQUIRIES
### 11.1. Commission and Service Inquiries
For inquiries about professional services or to submit commission requests:
**Commission Request Form:** [https://forms.nhcarrigan.com/o/docs/forms/a9K6uzJkpnTfnKgo19b4Rp/4](https://forms.nhcarrigan.com/o/docs/forms/a9K6uzJkpnTfnKgo19b4Rp/4)
**Email:** contact@nhcarrigan.com
**Response Time:** Within 7-10 business days for service inquiries
### 11.2. General Contact
For general inquiries about our organisation or services:
**Email:** contact@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
## 12. ACKNOWLEDGEMENT AND AGREEMENT
### 12.1. Policy Acceptance
By engaging our professional services or submitting commission requests, you acknowledge that you have:
**(a)** Read, understood, and agree to comply with this Policy;
**(b)** Understood that this Policy does not create binding service agreements;
**(c)** Agreed that all professional services require separate written service agreements;
**(d)** Acknowledged all disclaimers, limitations, and legal protections incorporated by reference.
### 12.2. Service Agreement Supremacy
**IMPORTANT: This Policy provides general information about our professional services. All actual service engagements are governed by separate written service agreements that supersede this Policy and establish binding terms for specific projects.**
---
*This Professional Services and Commission Policy establishes general terms and information about our professional services offerings. This Policy does not create binding service agreements. All professional service engagements require separate written agreements. For questions about our services, please contact us through the commission request form or at contact@nhcarrigan.com.*
+241 -29
View File
@@ -2,60 +2,272 @@
title: Mentorship Programme Terms and Conditions
---
Here at NHCarrigan, we are dedicated to lowering the barriers of entry into tech and helping underprivileged/under-represented classes reach their goals. As part of this mission, we offer a mentorship programme ("Programme").
**COMPREHENSIVE TERMS AND CONDITIONS FOR MENTORSHIP PROGRAMME PARTICIPATION**
## 1. Introduction
## 1. INTRODUCTION AND SCOPE
These Terms and Conditions (“Terms”) outline the Programme provided by NHCarrigan (“Company”) and apply to all participants enrolled in the Programme. By enrolling, you (the "Mentee") agree to abide by these Terms. The Programme cost is $200 USD per month.
### 1.1. Policy Overview
### 1.1. Enrolment
This Mentorship Programme Terms and Conditions ("Terms" or "Agreement") establishes the terms, conditions, and procedures governing participation in the mentorship programme ("Programme") provided by NHCarrigan ("we," "us," "our," or "the Company"). This Agreement operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference.
To enrol in the Programme, [fill out the application](https://forms.nhcarrigan.com/mentorship).
### 1.2. Mission and Purpose
## 2. Programme Services
We are dedicated to lowering barriers of entry into technology and helping underprivileged and under-represented individuals reach their professional goals. The Programme is designed to provide structured mentorship, educational support, and career development opportunities to participants ("Mentees") who enrol in the Programme.
Upon successful enrolment, the Mentee receives the following benefits:
### 1.3. Legal Framework Integration
### 2.1 Monthly 1:1 Sessions
**IMPORTANT: Comprehensive warranty disclaimers, liability limitations, and all related legal protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all matters related to Programme participation. The Programme is provided "as is" without warranties of any kind.**
Participants are entitled to one monthly 1:1 session with a mentor to discuss progress, set goals, and address any questions. Scheduling of these sessions is subject to mutual agreement and the mentors availability.
### 1.4. Scope of Application
### 2.2 Private Discord Channel
This Agreement applies to:
**(a)** All Mentees enrolled in the Programme;
**(b)** All Programme services, benefits, and resources provided to Mentees;
**(c)** All interactions between Mentees and Programme staff, mentors, and resources;
**(d)** All Programme-related activities, projects, and collaborations.
Participants will have access to a private Discord channel exclusively for Mentees. This channel offers priority response times from the NHCarrigan team. All participants must adhere to the Discord Code of Conduct found [here](https://docs.nhcarrigan.com).
## 2. ENROLMENT AND PARTICIPATION
### 2.3 Group Meetings
### 2.1. Enrolment Requirements
If the Programme enrols five (5) or more participants within a given month, all Mentees will be invited to a monthly group meeting. This meeting will provide opportunities for group discussions, shared experiences, and networking.
**Enrolment Process:**
**(a)** Enrolment in the Programme requires joining our [Discord community](https://chat.nhcarrigan.com/) and selecting the mentorship role through our self-selectable role system;
**(b)** We reserve the right to remove access for violations of community standards or Programme terms;
**(c)** Enrolment is subject to Programme capacity and resource availability;
**(d)** We are not obligated to provide reasons for access removal.
### 2.4 Maintainer-Level Access to Open Source Projects
### 2.2. Agreement Acceptance
Participants will gain maintainer-level access to NHCarrigans open-source projects for hands-on work experience. This access is a privilege and requires adherence to project guidelines, which can be reviewed [here](https://docs.nhcarrigan.com).
By enrolling in the Programme, Mentees acknowledge and agree that they have:
**(a)** Read, understood, and agree to be bound by these Terms;
**(b)** Reviewed and agree to comply with our Community Code of Conduct and all applicable policies;
**(c)** Acknowledged all disclaimers, limitations, and legal protections incorporated by reference.
### 2.5 Internship and Resume Building
## 3. PROGRAMME SERVICES AND BENEFITS
Participants will have the opportunity to build their resumes through an internship with NHCarrigan. This includes eligibility for project contributions and collaboration with the NHCarrigan team.
### 3.1. Dedicated Discord Channels
### 2.6 Ongoing Support and Resources
**Channel Access:**
**(a)** Mentees receive access to private Discord channels exclusively for Programme participants;
**(b)** These channels provide a space for peer support, questions, and community engagement;
**(c)** All participants must adhere to our [Community Code of Conduct](/community/coc) and Programme-specific guidelines;
**(d)** We reserve the right to restrict or revoke channel access for violations of community standards or Programme terms;
**(e)** Response times from programme leadership vary based on availability; the programme is designed to be self-guided.
Mentees will receive continuous resume reviews, personalized learning roadmaps, and dedicated guidance for the duration of their membership. Additional resources and Programme updates will be provided as part of this lifetime membership support.
### 3.2. Flagship Project Development
## 3. Payment Terms
**Project Access and Support:**
**(a)** Mentees gain maintainer-level access to a repository under our [Mentorship GitHub organisation](https://github.com/NHCarrigan-mentorship);
**(b)** Mentees use this repository to build their flagship project using self-guided documentation and resources;
**(c)** Project support and guidance are available upon request, subject to mentor availability and Programme resources;
**(d)** The programme is designed to be self-guided with comprehensive documentation, templates, and examples;
**(e)** We do not guarantee specific project outcomes, completion, or success.
The Programme fee of $200 USD is due at the start of each month to retain membership. Failure to make payments may result in suspension or termination of services.
### 3.3. Career Preparation and Resume Building
## 4. Code of Conduct
**Career Development Resources:**
**(a)** Mentees have access to comprehensive career preparation resources including resume templates, LinkedIn guides, application examples, and interview preparation materials;
**(b)** Career preparation is primarily self-guided using provided resources and templates;
**(c)** Optional support and feedback are available upon request, subject to mentor availability;
**(d)** Career preparation resources are provided for educational and development purposes;
**(e)** We do not guarantee employment, job placement, or specific career outcomes.
Participants agree to uphold the Companys Code of Conduct and other policies, as outlined in the [NHCarrigan Documentation](https://docs.nhcarrigan.com/commnuity/coc.md).
### 3.4. Ongoing Resources and Support
## 5. Programme Modifications
**Resource Library and Support:**
**(a)** Mentees have access to a comprehensive resource library including templates, examples, guides, and checklists for all programme stages;
**(b)** The programme is designed to be self-guided with participants working at their own pace;
**(c)** Optional support, reviews, and feedback are available upon request, subject to mentor availability and Programme capacity;
**(d)** Additional resources and Programme updates are provided as part of programme participation;
**(e)** We reserve the right to modify or discontinue specific resources or support services with reasonable notice.
NHCarrigan reserves the right to modify Programme features, benefits, and terms at any time. Notification of such changes will be provided to participants with as much advance notice as possible.
### 3.5. Self-Guided Programme Structure
## 6. Termination and Cancellation
**Programme Philosophy:**
**(a)** The programme is designed to be self-guided and self-managed;
**(b)** Participants work at their own pace with no mandatory deadlines or review requirements;
**(c)** Comprehensive documentation, templates, and resources are provided to support independent learning;
**(d)** Reviews, approvals, and support are optional and available upon request, not guaranteed;
**(e)** Programme leadership and mentors are not monitoring every participant action or progress;
**(f)** **IMPORTANT: To get the most value from the programme experience, participants should actively ask mentors questions as much as possible. Mentors are available to help, but they rely on participants to initiate contact and ask for assistance when needed.**
Participants may cancel their membership at any time, effective at the end of the current billing cycle. Refunds will not be issued for partial months. NHCarrigan reserves the right to terminate membership if a participant violates any of these Terms.
### 3.6. Service Limitations and Disclaimers
## 7. Contact Information
**IMPORTANT DISCLAIMERS:**
**(a)** Programme services and resources are provided "as is" without warranties of any kind;
**(b)** The programme is self-guided; participants are responsible for their own learning and progress;
**(c)** We do not guarantee specific learning outcomes, skill development, or career advancement;
**(d)** Programme benefits, resources, and support may vary based on mentor availability, resource constraints, and Programme capacity;
**(e)** Reviews, approvals, and support are optional and provided when requested and available, not guaranteed;
**(f)** We reserve the right to modify Programme features, benefits, and services at any time with reasonable notice.
For questions or further information, please contact the NHCarrigan team through the official support channels listed in the [documentation](https://docs.nhcarrigan.com/about/contact).
## 4. CODE OF CONDUCT AND PARTICIPATION STANDARDS
### 4.1. Community Standards Compliance
**Code of Conduct Requirements:**
**(a)** All Mentees must comply with our [Community Code of Conduct](/community/coc) and all applicable community policies;
**(b)** Violations of community standards may result in Programme suspension or termination;
**(c)** We reserve the right to take disciplinary action for conduct that violates community standards or Programme terms;
**(d)** Programme participation does not exempt Mentees from community standards or disciplinary procedures.
### 4.2. Programme Participation Standards
**Participation Requirements:**
**(a)** Mentees are expected to actively engage with Programme resources and work through programme documentation at their own pace;
**(b)** Mentees must maintain respectful and professional conduct in all Programme interactions;
**(c)** Mentees are responsible for their own learning and development progress;
**(d)** The programme is self-guided; participants work independently using provided resources;
**(e)** We reserve the right to terminate Programme participation for failure to meet participation standards or violations of community standards.
## 5. PROGRAMME MODIFICATIONS AND CHANGES
### 5.1. Right to Modify Programme
**Modification Authority:**
**(a)** We reserve the right to modify Programme features, benefits, terms, and services at any time;
**(b)** Significant modifications will be communicated to enrolled Mentees with as much advance notice as possible;
**(c)** Modifications may include changes to Programme structure, benefits, fees, or participation requirements;
**(d)** Continued Programme participation following modifications constitutes acceptance of modified terms.
### 5.2. Programme Discontinuation
**Discontinuation Rights:**
**(a)** We reserve the right to discontinue the Programme at any time with reasonable notice to enrolled Mentees;
**(b)** In the event of Programme discontinuation, we will provide reasonable notice to participants;
**(c)** We are not liable for any consequences arising from Programme discontinuation;
**(d)** Programme discontinuation does not affect accrued obligations or rights established prior to discontinuation.
## 6. TERMINATION AND CANCELLATION
### 6.1. Mentee Cancellation Rights
**Cancellation Process:**
**(a)** Mentees may withdraw from the Programme at any time by providing written notice to our team;
**(b)** Withdrawal notices should indicate the Mentee's desire to withdraw and the reason for leaving;
**(c)** Withdrawal becomes effective immediately upon receipt of notice;
**(d)** No fees or penalties apply to voluntary withdrawal.
### 6.2. Company Termination Rights
**Termination Authority:**
**(a)** We reserve the right to terminate Programme participation for violations of these Terms, Community Code of Conduct, or applicable policies;
**(b)** We may terminate Programme participation for failure to meet participation standards or violations of community standards;
**(c)** Termination may be immediate for serious violations or with notice for other circumstances;
**(d)** We are not obligated to provide continued access following termination.
### 6.3. Effect of Termination
**Post-Termination:**
**(a)** Upon termination, Mentees lose access to Programme benefits, channels, and resources;
**(b)** Mentees retain ownership of work products created during Programme participation;
**(c)** Confidentiality and intellectual property obligations survive termination;
**(d)** We are not obligated to provide ongoing support or resources following termination.
## 7. INTELLECTUAL PROPERTY AND WORK PRODUCT
### 7.1. Mentee Work Product Ownership
**Ownership Rights:**
**(a)** Mentees retain ownership of work products, projects, and contributions created during Programme participation;
**(b)** Work products created in Programme repositories are subject to repository licensing terms;
**(c)** We may request permission to showcase Mentee work for Programme promotion and portfolio purposes;
**(d)** Mentees grant us a non-exclusive license to use anonymised work products for Programme improvement and promotion.
### 7.2. Programme Materials and Resources
**Company Intellectual Property:**
**(a)** All Programme materials, resources, and content remain our intellectual property;
**(b)** Mentees may use Programme materials for personal learning and development purposes;
**(c)** Programme materials may not be redistributed, sold, or used for commercial purposes without permission;
**(d)** Unauthorised use of Programme materials may constitute intellectual property infringement.
## 8. PRIVACY AND DATA PROTECTION
### 8.1. Information Collection and Use
**Data Handling:**
**(a)** Mentee information is collected and processed in accordance with our Privacy Policy;
**(b)** We collect information necessary for Programme administration, support, and improvement;
**(c)** Mentee information is not shared with third parties except as necessary for Programme provision or as required by law;
**(d)** Mentees may request access to or deletion of their personal information in accordance with our Privacy Policy.
### 8.2. Programme Communications
**Communication Practices:**
**(a)** Programme communications may include email, Discord messages, and other digital channels;
**(b)** Mentees consent to receive Programme-related communications;
**(c)** Communications are subject to our Privacy Policy and data protection practices;
**(d)** Mentees may opt out of non-essential communications while remaining enrolled in the Programme.
## 9. LIMITATION OF LIABILITY AND DISCLAIMERS
### 9.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, maximum liability caps, and all related legal protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all matters related to Programme participation.**
### 9.2. Programme-Specific Disclaimers
**Additional Limitations:**
**(a)** We are not liable for Mentee learning outcomes, career advancement, or professional success;
**(b)** We do not guarantee job placement, employment opportunities, or specific career outcomes;
**(c)** We are not responsible for Mentee decisions made based on Programme guidance or resources;
**(d)** Our liability is limited to the maximum extent permitted by applicable law.
## 10. PROGRAMME FEES
### 10.1. Free Programme
**No Fees:**
**(a)** The Mentorship Programme is offered entirely free of charge;
**(b)** We do not collect tuition fees, academic fees, or any other programme-related charges;
**(c)** Participants may incur costs for third-party services such as hosting for application deployment;
**(d)** All such costs are paid directly to third-party service providers;
**(e)** Our organisation does not collect, process, or receive any payments related to these third-party services.
### 10.2. Voluntary Donations
**Donation Policy:**
**(a)** We welcome voluntary donations to support programme operations;
**(b)** Donations are entirely optional and do not affect programme participation or outcomes;
**(c)** Information about donation options is available at: [https://donate.nhcarrigan.com/](https://donate.nhcarrigan.com/);
**(d)** Donations do not create any obligations or entitlements beyond those set forth in these Terms.
## 11. CONTACT INFORMATION AND SUPPORT
### 11.1. Programme Inquiries
For questions about the Programme or to submit cancellation notices:
**Email:** contact@nhcarrigan.com
**Response Time:** Within 7-10 business days for Programme-related inquiries
### 11.2. General Contact
For general inquiries about our organisation or services:
**Email:** contact@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
**Support Channels:** As specified in our [Contact Policy](/about/contact)
## 12. ACKNOWLEDGEMENT AND AGREEMENT
### 12.1. Terms Acceptance
By enrolling in the Programme, Mentees acknowledge that they have:
**(a)** Read, understood, and agree to be bound by these Terms;
**(b)** Reviewed and agree to comply with all applicable policies and community standards;
**(c)** Understood that the Programme is free and self-guided;
**(d)** Acknowledged all disclaimers, limitations, and legal protections incorporated by reference.
### 12.2. Entire Agreement
These Terms, together with all incorporated policies and agreements, constitute the entire agreement between Mentees and the Company regarding Programme participation and supersede all prior agreements and understandings.
---
*This Mentorship Programme Terms and Conditions establishes the terms governing participation in our mentorship programme. By enrolling in the Programme, you acknowledge that you have read, understood, and agree to be bound by these Terms. For questions about the Programme, please contact us at contact@nhcarrigan.com.*
+11 -11
View File
@@ -2,17 +2,17 @@
title: Mission Statement
---
This Mission Statement ("Statement") articulates the core values and guiding principles of [Company Name] in its efforts to build inclusive, ethical, and sustainable technology solutions.
This Mission Statement ("Statement") articulates the core values and guiding principles of NHCarrigan ("The Company") in its efforts to build inclusive, ethical, and sustainable technology solutions and foster welcoming online communities. This Statement operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference.
## 1. Core Values
### 1.1. Commitment to Inclusivity
The Company shall actively work to dismantle barriers and promote diversity in all areas of its operations. We seek to create spaces where all individuals, particularly from marginalized communities, feel supported and valued.
The Company shall actively work to dismantle barriers and promote diversity in all areas of its operations. We seek to create spaces where all individuals, particularly from marginalised communities, feel supported and valued.
### 1.2. Sustainability as a Priority
Environmental sustainability is integral to the Company's mission. We shall consistently minimize our carbon footprint, use eco-friendly technologies, and ensure that every project aligns with our environmental goals.
Environmental sustainability is integral to the Company's mission. We shall consistently minimise our carbon footprint, use eco-friendly technologies, and ensure that every project aligns with our environmental goals.
### 1.3. Ethical Responsibility
@@ -22,25 +22,25 @@ The Company adheres to a strict ethical code that guides our technological devel
We are dedicated to maintaining transparency with our stakeholders, whether clients, users, or community members. Clear communication and honesty are at the forefront of our interactions and decision-making.
### 1.5. Community-Driven Innovation
### 1.5. Community-Driven Innovation and Democratic Governance
Our projects are community-centric, encouraging collaboration and input from diverse voices. We believe in technology as a tool to uplift, empower, and serve communities through innovative solutions that address real-world challenges.
Our projects are community-centric, encouraging collaboration and input from diverse voices through democratic participation and transparent governance structures. We believe in technology as a tool to uplift, empower, and serve communities through innovative solutions that address real-world challenges, supported by comprehensive community leadership frameworks and participatory decision-making processes.
### 1.6. Breaking Down Barriers in Tech
The Company is committed to tearing down the systemic and social barriers that exist in the tech industry. We actively work to make the field more accessible to individuals from all backgrounds, particularly those who have historically been excluded.
### 1.7. Challenging Toxic Behaviors
### 1.7. Challenging Toxic Behaviours
We recognize that toxic behaviors and exclusionary practices harm communities. The Company shall take a proactive stance in challenging these behaviors within our industry and within the tech communities we interact with, fostering spaces where collaboration, respect, and growth thrive.
We recognise that toxic behaviours and exclusionary practices harm communities. The Company shall take a proactive stance in challenging these behaviours within our industry and within the tech communities we interact with, fostering spaces where collaboration, respect, and growth thrive.
### 1.8. Mentorship and Support for New Developers
### 1.8. Comprehensive Community Support and Member Welfare
The Company is dedicated to providing mentorship and support to new developers, particularly those from underrepresented groups. Through guided mentorship, educational resources, and hands-on support, we help individuals break into the industry, equipping them with the skills and confidence to succeed.
The Company is dedicated to providing comprehensive support systems for community members, including mentorship for new developers, recognition and appreciation programmes, and robust member welfare frameworks. Through guided mentorship, educational resources, crisis response systems, and hands-on support, we help individuals thrive within our communities and succeed in the tech industry, particularly focusing on support for underrepresented groups.
## 2. Strategic Goals
### 2.1. Elevating Marginalized Voices
### 2.1. Elevating Marginalised Voices
The Company is committed to using its platform to elevate the voices and contributions of individuals from underrepresented communities in tech and beyond.
@@ -64,7 +64,7 @@ We will continue to build and expand initiatives aimed at mentoring and supporti
### 3.1. Right to Amend
The Company reserves the right to amend this Statement as necessary to reflect evolving best practices and organizational goals.
The Company reserves the right to amend this Statement as necessary to reflect evolving best practices and organisational goals.
### 3.2. Notification of Changes
+289
View File
@@ -0,0 +1,289 @@
---
title: Mock Interview Policy
---
**POLICY GOVERNING REQUESTS FOR MOCK INTERVIEWS AND INTERVIEW PREPARATION**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Overview
This Mock Interview Policy ("Policy") establishes the terms, conditions, and procedures governing requests for mock interviews and interview preparation sessions from NHCarrigan ("we," "us," "our," or "the Company"). This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference.
### 1.2. Service Availability and Eligibility
**IMPORTANT: Mock interviews are provided as a FREE service EXCLUSIVELY to active members of our community. These services are NOT available to the general public. To be eligible, you MUST be an active, engaged member of our community with demonstrated participation and engagement. We reserve the right to verify community membership and activity before accepting any mock interview request.**
### 1.3. Legal Framework Integration
**IMPORTANT: This Policy does not create any binding obligations to provide mock interviews or interview preparation. All mock interview requests are subject to our sole discretion and assessment of our relationship with the requester. Comprehensive disclaimers, warranty limitations, and liability protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 1.4. Scope of Application
This Policy applies to:
**(a)** All requests for mock interview sessions;
**(b)** All requests for technical interview preparation;
**(c)** All requests for behavioural interview preparation;
**(d)** All requests for interview coaching and feedback;
**(e)** All interview preparation-related communications and interactions.
## 2. TYPES OF MOCK INTERVIEWS AVAILABLE
### 2.1. Technical Mock Interviews
**Technical Interview Services:**
**(a)** Mock interviews focused on technical skills, coding challenges, and problem-solving;
**(b)** Practice with algorithm and data structure questions;
**(c)** System design discussion and architecture questions;
**(d)** Technical deep-dives on specific technologies or frameworks;
**(e)** Technical interviews are provided based on industry-standard interview practices;
**(f)** We reserve the right to decline technical interviews if topics exceed our expertise or if we cannot provide meaningful practice.
### 2.2. Behavioural Mock Interviews
**Behavioural Interview Services:**
**(a)** Mock interviews focused on behavioural questions and situational scenarios;
**(b)** Practice with STAR (Situation, Task, Action, Result) method responses;
**(c)** Discussion of past experiences and project examples;
**(d)** Practice answering common behavioural questions;
**(e)** Behavioural interviews are provided based on professional interview best practices;
**(f)** We reserve the right to decline behavioural interviews if we cannot provide meaningful practice.
### 2.3. Combined Mock Interviews
**Combined Interview Services:**
**(a)** Mock interviews combining both technical and behavioural components;
**(b)** Full interview simulation matching real interview formats;
**(c)** Practice with mixed question types and interview styles;
**(d)** Comprehensive interview preparation covering multiple aspects;
**(e)** Combined interviews provide realistic interview experience;
**(f)** We reserve the right to decline combined interviews if scope exceeds our capacity or expertise.
### 2.4. Interview Preparation Limitations
**IMPORTANT DISCLAIMERS:**
**(a)** Mock interviews are provided for practice and preparation purposes only;
**(b)** We provide constructive feedback based on interview best practices and professional standards;
**(c)** We reserve the right to decline any mock interview request at our sole discretion;
**(d)** We are not obligated to provide reasons for declining mock interview requests;
**(e)** Mock interviews do not guarantee success in actual job interviews or job offers.
## 3. REQUEST ELIGIBILITY AND REQUIREMENTS
### 3.1. Relationship Requirements
**ELIGIBILITY REQUIREMENT - ACTIVE COMMUNITY MEMBERSHIP:**
**IMPORTANT: Mock interviews are FREE services provided EXCLUSIVELY to active members of our community. These services are NOT available to the general public or individuals who are not actively engaged in our community.**
For comprehensive eligibility requirements, eligibility criteria, and information about becoming an active community member, please refer to our [Community Membership Eligibility Policy](/about/community-membership-eligibility).
### 3.2. Request Information Requirements
**Required Information:**
**(a)** **Interview Type**: Specify which type of mock interview is requested (technical, behavioural, or combined);
**(b)** **Target Role**: Information about the position or type of role being interviewed for;
**(c)** **Company Information**: Name of company or type of company (if applicable and willing to share);
**(d)** **Interview Format**: Information about expected interview format (phone, video, in-person, panel, etc.);
**(e)** **Specific Focus Areas**: Any particular areas, topics, or concerns the requester would like addressed;
**(f)** **Interview Date**: Date of actual interview (if applicable) to determine preparation timeline;
**(g)** **Resume or Profile**: Link to resume, LinkedIn profile, or portfolio for interviewer context;
**(h)** **Relationship Context**: Brief summary of connection to our community or organisation.
### 3.3. Interview Session Requirements
**Session Standards:**
**(a)** Mock interviews are typically conducted via video call or voice call;
**(b)** Requesters must have reliable internet connection and appropriate technology for video/voice calls;
**(c)** Mock interviews typically last between thirty (30) and sixty (60) minutes;
**(d)** Requesters should be prepared to actively participate and engage in the mock interview;
**(e)** We reserve the right to reschedule or cancel sessions if technical issues prevent meaningful interaction.
### 3.4. Request Submission Process
**Submission Requirements:**
**(a)** All mock interview requests must be submitted through our official mock interview request form;
**(b)** Requests submitted through other channels may not be processed or may experience delays;
**(c)** Incomplete requests may be returned for additional information before processing;
**(d)** We reserve the right to request additional information or clarification before accepting a mock interview request.
## 4. MOCK INTERVIEW PROCESS AND TIMELINES
### 4.1. Request Review and Acceptance
**Review Process:**
**(a)** We review all mock interview requests to assess eligibility, interview type appropriateness, and our ability to provide meaningful practice;
**(b)** Request review typically occurs within five (5) business days of submission;
**(c)** We will notify requesters of acceptance or decline within five (5) business days;
**(d)** Request acceptance does not guarantee interview session if scheduling conflicts arise or if we later determine we cannot provide meaningful practice.
### 4.2. Interview Scheduling Timeline
**Timeline Expectations:**
**(a)** Accepted mock interview requests are typically scheduled within seven (7) to fourteen (14) business days of acceptance;
**(b)** Rush requests may be accommodated at our sole discretion but are not guaranteed;
**(c)** Requesters should provide a minimum of two (2) weeks advance notice for mock interview requests;
**(d)** Requests with less than two (2) weeks notice may be declined or may not be scheduled before the requester's actual interview date;
**(e)** We are not liable for missed scheduling if insufficient notice is provided or if requesters fail to respond to scheduling communications in a timely manner.
### 4.3. Interview Session Conduct
**Session Format:**
**(a)** Mock interviews are conducted in a professional, supportive environment;
**(b)** Sessions include interview questions, practice responses, and constructive feedback;
**(c)** Feedback is provided during and after the interview session;
**(d)** Requesters are expected to participate actively and engage authentically;
**(e)** Sessions may be recorded for feedback purposes with requester consent;
**(f)** We reserve the right to end sessions early if conduct becomes inappropriate or unprofessional.
### 4.4. Feedback Delivery
**Feedback Methods:**
**(a)** Feedback is typically provided verbally during and immediately after the interview session;
**(b)** Written feedback summaries may be provided via email following the session;
**(c)** Feedback includes strengths, areas for improvement, and specific recommendations;
**(d)** Requesters are responsible for providing accurate contact information for feedback delivery;
**(e)** We are not responsible for delivery failures caused by incorrect contact information or email system failures.
## 5. INTERVIEW CONTENT AND STANDARDS
### 5.1. Interview Accuracy and Realism
**Content Standards:**
**(a)** Mock interviews are designed to simulate real interview experiences based on industry standards;
**(b)** Questions and scenarios are based on common interview practices and professional standards;
**(c)** Interviews reflect realistic expectations and common interview formats;
**(d)** We reserve the right to decline requests if we cannot provide realistic interview practice in good faith.
### 5.2. Interview Scope
**Content Limitations:**
**(a)** Interviews address topics relevant to the requested interview type and target role;
**(b)** We will not provide actual interview questions from specific companies if we have insider knowledge;
**(c)** Interviews focus on general preparation, best practices, and skill demonstration;
**(d)** We are not obligated to address every topic requested if it falls outside our expertise or interview scope;
**(e)** Mock interviews do not guarantee coverage of all topics that may appear in actual interviews.
### 5.3. Confidentiality and Privacy
**Privacy Protections:**
**(a)** Mock interview content and discussions are confidential and shared only with designated interviewers;
**(b)** Requesters may request copies of feedback summaries in accordance with applicable laws and policies;
**(c)** Interview content and information are subject to our Privacy Policy and data protection practices;
**(d)** We maintain confidentiality of mock interview requests and sessions except as necessary for interview provision or as required by law;
**(e)** Recordings, if made, are used only for feedback purposes and are subject to our Privacy Policy.
## 6. LIMITATIONS AND RESTRICTIONS
### 6.1. Mock Interview Limitations
**Service Limitations:**
**(a)** We reserve the right to decline any mock interview request at our sole discretion;
**(b)** We will not provide mock interviews if we cannot do so constructively and helpfully;
**(c)** We are not obligated to provide reasons for declining mock interview requests;
**(d)** Mock interview provision does not guarantee any specific outcome or result for the requester;
**(e)** Mock interviews are provided for educational and preparation purposes and do not guarantee job offers, interview success, or professional opportunities.
### 6.2. Frequency Limitations
**Request Frequency:**
**(a)** We may limit the number of mock interviews provided to the same requester within a specified time period;
**(b)** Multiple simultaneous requests from the same requester may be consolidated or prioritized at our discretion;
**(c)** We reserve the right to decline requests if we determine mock interview provision would be excessive or burdensome;
**(d)** Requesters should coordinate multiple interview preparation needs to minimise burden and ensure timely scheduling;
**(e)** Follow-up mock interviews may be available after implementing previous feedback and additional preparation.
### 6.3. Prohibited Uses
**Restrictions:**
**(a)** Mock interviews may not be used for purposes other than professional interview preparation;
**(b)** Requesters may not record sessions without explicit consent and agreement;
**(c)** Mock interviews may not be used to support fraudulent, illegal, or unethical activities;
**(d)** Requesters may not share interview questions or content with others in ways that violate confidentiality;
**(e)** Violation of these restrictions may result in refusal of future requests.
## 7. LIMITATION OF LIABILITY AND DISCLAIMERS
### 7.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, maximum liability caps, and all related legal protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all matters related to mock interview requests and provision.**
### 7.2. Mock Interview-Specific Disclaimers
**Additional Limitations:**
**(a)** Mock interviews are provided as FREE services offered in good faith, to the best of our ability and knowledge;
**(b)** We are NOT liable for ANY outcomes, decisions, or results that arise from mock interviews we provide, including but not limited to job offers, interview success, hiring decisions, or professional opportunities;
**(c)** What you do with the information, feedback, and guidance provided during mock interviews is YOUR OWN RESPONSIBILITY;
**(d)** We do not guarantee job offers, interview success, or professional opportunities based on our mock interviews;
**(e)** We are not responsible for third-party interview decisions, evaluation criteria, or hiring processes;
**(f)** Our liability is limited to the maximum extent permitted by applicable law;
**(g)** Mock interviews are provided "as is" without warranties of any kind;
**(h)** We are not responsible for requester performance in actual interviews or implementation of feedback.
## 8. REQUEST FORM AND SUBMISSION
### 8.1. Official Request Form
**Submission Channel:**
**(a)** All mock interview requests must be submitted through our official mock interview request form;
**(b)** The mock interview request form is available at: [Mock Interview Request Form](https://forms.nhcarrigan.com/o/docs/forms/5eaR5UQ2nKYDT6vu3Ptdex/4);
**(c)** Requests submitted through other channels may not be processed or may experience significant delays;
**(d)** The form collects all required information for mock interview request processing and scheduling.
### 8.2. Form Completion Requirements
**Form Requirements:**
**(a)** Requesters must complete all required fields in the mock interview request form;
**(b)** Incomplete forms may be returned for additional information before processing;
**(c)** Requesters should provide accurate, complete information to ensure timely and appropriate mock interview preparation;
**(d)** False or misleading information in request forms may result in request denial or interview refusal.
## 9. CONTACT INFORMATION AND INQUIRIES
### 9.1. Mock Interview Inquiries
For questions about this Policy or mock interview requests:
**Email:** contact@nhcarrigan.com
**Subject Line:** Mock Interview Policy Inquiry - [Brief Description]
**Response Time:** See our [Contact Policy](/about/contact) for response time expectations.
### 9.2. Request Status Inquiries
For questions about the status of submitted mock interview requests:
**Email:** contact@nhcarrigan.com
**Subject Line:** Mock Interview Request Status - [Your Name]
**Response Time:** See our [Contact Policy](/about/contact) for response time expectations.
### 9.3. General Contact
For general inquiries about our organisation or services:
**Email:** contact@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
## 10. ACKNOWLEDGEMENT AND AGREEMENT
### 10.1. Policy Acceptance
By submitting a mock interview request, you acknowledge that you have:
**(a)** Read, understood, and agree to comply with this Policy;
**(b)** Understood that mock interview provision is at our sole discretion;
**(c)** Provided accurate and complete information in your request;
**(d)** Acknowledged all disclaimers, limitations, and legal protections incorporated by reference.
### 10.2. Request Accuracy
**IMPORTANT: By submitting a mock interview request, you represent and warrant that all information provided is accurate, complete, and truthful. False or misleading information may result in request denial or refusal of future requests.**
---
*This Mock Interview Policy establishes the terms and procedures governing mock interview requests. This Policy does not create binding obligations to provide mock interviews. All mock interview requests are subject to our sole discretion and assessment of our relationship with requesters. For questions about this Policy or to submit a mock interview request, please use the official mock interview request form or contact us at contact@nhcarrigan.com.*
+291
View File
@@ -0,0 +1,291 @@
---
title: Portfolio Review Policy
---
**POLICY GOVERNING REQUESTS FOR RESUME, LINKEDIN, GITHUB, AND PORTFOLIO REVIEWS**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Overview
This Portfolio Review Policy ("Policy") establishes the terms, conditions, and procedures governing requests for reviews of resumes, LinkedIn profiles, GitHub profiles, portfolios, and related professional materials from NHCarrigan ("we," "us," "our," or "the Company"). This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference.
### 1.2. Service Availability and Eligibility
**IMPORTANT: Portfolio reviews are provided as a FREE service EXCLUSIVELY to active members of our community. These services are NOT available to the general public. To be eligible, you MUST be an active, engaged member of our community with demonstrated participation and engagement. We reserve the right to verify community membership and activity before accepting any review request.**
### 1.3. Legal Framework Integration
**IMPORTANT: This Policy does not create any binding obligations to provide reviews or feedback. All review requests are subject to our sole discretion and assessment of our relationship with the requester. Comprehensive disclaimers, warranty limitations, and liability protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 1.4. Scope of Application
This Policy applies to:
**(a)** All requests for resume reviews and feedback;
**(b)** All requests for LinkedIn profile reviews and optimisation suggestions;
**(c)** All requests for GitHub profile reviews and improvement recommendations;
**(d)** All requests for portfolio website reviews and feedback;
**(e)** All requests for related professional profile materials reviews;
**(f)** All review-related communications and interactions.
## 2. TYPES OF REVIEWS AVAILABLE
### 2.1. Resume Reviews
**Resume Review Services:**
**(a)** Comprehensive review of resume content, formatting, and structure;
**(b)** Feedback on technical skills presentation and organisation;
**(c)** Suggestions for improving clarity, impact, and ATS (Applicant Tracking System) compatibility;
**(d)** Recommendations for highlighting relevant experience and projects;
**(e)** Resume reviews are provided based on industry best practices and professional standards;
**(f)** We reserve the right to decline resume reviews if materials are incomplete or if we cannot provide meaningful feedback.
### 2.2. LinkedIn Profile Reviews
**LinkedIn Profile Review Services:**
**(a)** Review of LinkedIn profile completeness and optimisation;
**(b)** Feedback on headline, summary, and experience sections;
**(c)** Suggestions for improving profile visibility and professional branding;
**(d)** Recommendations for skills, endorsements, and recommendations;
**(e)** LinkedIn reviews are provided based on professional networking best practices;
**(f)** We reserve the right to decline LinkedIn reviews if profiles are inaccessible or incomplete.
### 2.3. GitHub Profile Reviews
**GitHub Profile Review Services:**
**(a)** Review of GitHub profile README and pinned repositories;
**(b)** Feedback on repository organisation and documentation quality;
**(c)** Suggestions for improving contribution graph visibility and project presentation;
**(d)** Recommendations for profile optimisation and professional presentation;
**(e)** GitHub reviews are provided based on open source and developer community best practices;
**(f)** We reserve the right to decline GitHub reviews if profiles are private or inaccessible.
### 2.4. Portfolio Reviews
**Portfolio Review Services:**
**(a)** Review of portfolio website design, navigation, and user experience;
**(b)** Feedback on project presentation and case study quality;
**(c)** Suggestions for improving portfolio content and technical implementation;
**(d)** Recommendations for showcasing skills and achievements effectively;
**(e)** Portfolio reviews are provided based on web development and design best practices;
**(f)** We reserve the right to decline portfolio reviews if websites are inaccessible or incomplete.
### 2.5. Review Limitations
**IMPORTANT DISCLAIMERS:**
**(a)** Reviews are provided for educational and improvement purposes only;
**(b)** We provide constructive feedback based on industry best practices and professional standards;
**(c)** We reserve the right to decline any review request at our sole discretion;
**(d)** We are not obligated to provide reasons for declining review requests;
**(e)** Reviews do not guarantee improved outcomes in job applications, interviews, or professional opportunities.
## 3. REQUEST ELIGIBILITY AND REQUIREMENTS
### 3.1. Relationship Requirements
**ELIGIBILITY REQUIREMENT - ACTIVE COMMUNITY MEMBERSHIP:**
**IMPORTANT: Portfolio reviews are FREE services provided EXCLUSIVELY to active members of our community. These services are NOT available to the general public or individuals who are not actively engaged in our community.**
For comprehensive eligibility requirements, eligibility criteria, and information about becoming an active community member, please refer to our [Community Membership Eligibility Policy](/about/community-membership-eligibility).
### 3.2. Request Information Requirements
**Required Information:**
**(a)** **Review Type**: Specify which type of review is requested (resume, LinkedIn, GitHub, portfolio, or combination);
**(b)** **Materials Access**: Provide access links or attachments for materials to be reviewed;
**(c)** **Review Purpose**: Clear explanation of why the review is needed and what opportunity it supports;
**(d)** **Target Role or Industry**: Information about the type of positions or opportunities being pursued;
**(e)** **Specific Focus Areas**: Any particular areas or concerns the requester would like addressed;
**(f)** **Deadline Information**: Specific deadline for when feedback is needed, if applicable;
**(g)** **Relationship Context**: Brief summary of connection to our community or organisation.
### 3.3. Material Submission Requirements
**Submission Standards:**
**(a)** **Resumes**: Must be submitted as PDF files with current, accurate information;
**(b)** **LinkedIn Profiles**: Must be publicly accessible or access must be granted;
**(c)** **GitHub Profiles**: Must be publicly accessible or access must be granted;
**(d)** **Portfolios**: Must be accessible via URL and functional;
**(e)** Materials must be substantially complete and ready for review;
**(f)** Incomplete or inaccessible materials may result in request decline or delay;
**(g)** We reserve the right to request additional information or clarification before accepting a review request.
### 3.4. Request Submission Process
**Submission Requirements:**
**(a)** All review requests must be submitted through our official portfolio review request form;
**(b)** Requests submitted through other channels may not be processed or may experience delays;
**(c)** Incomplete requests may be returned for additional information before processing;
**(d)** We reserve the right to request additional information or clarification before accepting a review request.
## 4. REVIEW PROCESS AND TIMELINES
### 4.1. Request Review and Acceptance
**Review Process:**
**(a)** We review all portfolio review requests to assess eligibility, material completeness, and our ability to provide meaningful feedback;
**(b)** Request review typically occurs within five (5) business days of submission;
**(c)** We will notify requesters of acceptance or decline within five (5) business days;
**(d)** Request acceptance does not guarantee review completion if materials are later determined to be incomplete or inaccessible.
### 4.2. Review Preparation Timeline
**Timeline Expectations:**
**(a)** Accepted reviews are typically completed within seven (7) to ten (10) business days of acceptance;
**(b)** Rush requests may be accommodated at our sole discretion but are not guaranteed;
**(c)** Requesters should provide a minimum of two (2) weeks advance notice for review requests;
**(d)** Requests with less than two (2) weeks notice may be declined or may not be completed by the requested deadline;
**(e)** We are not liable for missed deadlines if insufficient notice is provided or if requesters fail to provide required materials in a timely manner.
### 4.3. Review Delivery
**Delivery Methods:**
**(a)** Reviews are provided in WRITTEN FORMAT ONLY and are delivered via email to the requester;
**(b)** We do NOT schedule calls or video meetings to conduct portfolio reviews; all feedback is provided in written format;
**(c)** Feedback includes written comments, suggestions, and recommendations;
**(d)** Reviews may reference specific sections or elements of submitted materials;
**(e)** Requesters are responsible for providing accurate contact information;
**(f)** We are not responsible for delivery failures caused by incorrect contact information or email system failures;
**(g)** Requesters will be notified when reviews have been completed and delivered.
## 5. REVIEW CONTENT AND STANDARDS
### 5.1. Review Accuracy and Honesty
**Content Standards:**
**(a)** All reviews are provided honestly and constructively based on industry best practices and professional standards;
**(b)** We will provide actionable feedback and specific recommendations for improvement;
**(c)** Reviews reflect our genuine assessment of materials based on professional standards and best practices;
**(d)** We reserve the right to decline requests if we cannot provide constructive feedback in good faith.
### 5.2. Review Scope
**Content Limitations:**
**(a)** Reviews address materials submitted and focus on professional presentation and best practices;
**(b)** We will not verify factual claims or verify accuracy of information presented;
**(c)** Reviews focus on formatting, structure, clarity, and professional presentation;
**(d)** We are not obligated to address every aspect requested if it falls outside our expertise or review scope;
**(e)** Reviews do not include rewriting or creating content; feedback is provided for requester implementation.
### 5.3. Confidentiality and Privacy
**Privacy Protections:**
**(a)** Review content and submitted materials are confidential and shared only with designated reviewers;
**(b)** Requesters may request copies of review feedback in accordance with applicable laws and policies;
**(c)** Review content and materials are subject to our Privacy Policy and data protection practices;
**(d)** We maintain confidentiality of review requests and materials except as necessary for review provision or as required by law.
## 6. LIMITATIONS AND RESTRICTIONS
### 6.1. Review Limitations
**Service Limitations:**
**(a)** We reserve the right to decline any review request at our sole discretion;
**(b)** We will not provide reviews if we cannot do so constructively and helpfully;
**(c)** We are not obligated to provide reasons for declining review requests;
**(d)** Review provision does not guarantee any specific outcome or result for the requester;
**(e)** Reviews are provided for educational purposes and do not guarantee job offers, interviews, or professional opportunities.
### 6.2. Frequency Limitations
**Request Frequency:**
**(a)** We may limit the number of reviews provided to the same requester within a specified time period;
**(b)** Multiple simultaneous requests from the same requester may be consolidated or prioritised at our discretion;
**(c)** We reserve the right to decline requests if we determine review provision would be excessive or burdensome;
**(d)** Requesters should coordinate multiple review needs to minimise burden and ensure timely completion;
**(e)** Updated materials may be submitted for re-review after implementing previous feedback.
### 6.3. Prohibited Uses
**Restrictions:**
**(a)** Reviews may not be used for purposes other than professional development and improvement;
**(b)** Requesters may not misrepresent review feedback or claim endorsements that were not provided;
**(c)** Reviews may not be used to support fraudulent, illegal, or unethical activities;
**(d)** Violation of these restrictions may result in refusal of future requests.
## 7. LIMITATION OF LIABILITY AND DISCLAIMERS
### 7.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, maximum liability caps, and all related legal protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all matters related to review requests and provision.**
### 7.2. Review-Specific Disclaimers
**Additional Limitations:**
**(a)** Portfolio reviews are provided as FREE services offered in good faith, to the best of our ability and knowledge;
**(b)** We are NOT liable for ANY outcomes, decisions, or results that arise from portfolio reviews we provide, including but not limited to job offers, interviews, hiring decisions, or professional opportunities;
**(c)** What you do with the information, feedback, and recommendations provided in portfolio reviews is YOUR OWN RESPONSIBILITY;
**(d)** We do not guarantee job offers, interviews, or professional opportunities based on our reviews;
**(e)** We are not responsible for third-party decisions, application processes, or evaluation criteria;
**(f)** Our liability is limited to the maximum extent permitted by applicable law;
**(g)** Reviews are provided "as is" without warranties of any kind;
**(h)** We are not responsible for requester implementation of feedback or changes made to materials.
## 8. REQUEST FORM AND SUBMISSION
### 8.1. Official Request Form
**Submission Channel:**
**(a)** All portfolio review requests must be submitted through our official portfolio review request form;
**(b)** The portfolio review request form is available at: [Portfolio Review Request Form](https://forms.nhcarrigan.com/o/docs/forms/5QTNipBUg9cbTwyDoPMxsQ/4);
**(c)** Requests submitted through other channels may not be processed or may experience significant delays;
**(d)** The form collects all required information for review request processing and preparation.
### 8.2. Form Completion Requirements
**Form Requirements:**
**(a)** Requesters must complete all required fields in the portfolio review request form;
**(b)** Incomplete forms may be returned for additional information before processing;
**(c)** Requesters should provide accurate, complete information to ensure timely and accurate review preparation;
**(d)** False or misleading information in request forms may result in request denial or review refusal.
## 9. CONTACT INFORMATION AND INQUIRIES
### 9.1. Review Inquiries
For questions about this Policy or portfolio review requests:
**Email:** contact@nhcarrigan.com
**Subject Line:** Portfolio Review Policy Inquiry - [Brief Description]
**Response Time:** See our [Contact Policy](/about/contact) for response time expectations.
### 9.2. Request Status Inquiries
For questions about the status of submitted portfolio review requests:
**Email:** contact@nhcarrigan.com
**Subject Line:** Portfolio Review Request Status - [Your Name]
**Response Time:** See our [Contact Policy](/about/contact) for response time expectations.
### 9.3. General Contact
For general inquiries about our organisation or services:
**Email:** contact@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
## 10. ACKNOWLEDGEMENT AND AGREEMENT
### 10.1. Policy Acceptance
By submitting a portfolio review request, you acknowledge that you have:
**(a)** Read, understood, and agree to comply with this Policy;
**(b)** Understood that review provision is at our sole discretion;
**(c)** Provided accurate and complete information in your request;
**(d)** Acknowledged all disclaimers, limitations, and legal protections incorporated by reference.
### 10.2. Request Accuracy
**IMPORTANT: By submitting a portfolio review request, you represent and warrant that all information provided is accurate, complete, and truthful. False or misleading information may result in request denial or refusal of future requests.**
---
*This Portfolio Review Policy establishes the terms and procedures governing portfolio review requests. This Policy does not create binding obligations to provide reviews. All review requests are subject to our sole discretion and assessment of our relationship with requesters. For questions about this Policy or to submit a portfolio review request, please use the official portfolio review request form or contact us at contact@nhcarrigan.com.*
+260
View File
@@ -0,0 +1,260 @@
---
title: Letter of Recommendation and Character Reference Policy
---
**POLICY GOVERNING REQUESTS FOR LETTERS OF RECOMMENDATION AND CHARACTER REFERENCES**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Overview
This Letter of Recommendation and Character Reference Policy ("Policy") establishes the terms, conditions, and procedures governing requests for letters of recommendation and character references from NHCarrigan ("we," "us," "our," or "the Company"). This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference.
### 1.2. Service Availability and Eligibility
**IMPORTANT: Letters of recommendation and character references are provided as a FREE service EXCLUSIVELY to active members of our community. These services are NOT available to the general public. To be eligible, you MUST be an active, engaged member of our community with demonstrated participation and engagement. We reserve the right to verify community membership and activity before accepting any recommendation request.**
### 1.3. Legal Framework Integration
**IMPORTANT: This Policy does not create any binding obligations to provide recommendations or references. All recommendation requests are subject to our sole discretion and assessment of our relationship with the requester. Comprehensive disclaimers, warranty limitations, and liability protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 1.4. Scope of Application
This Policy applies to:
**(a)** All requests for letters of recommendation for academic, professional, or other purposes;
**(b)** All requests for character references for employment, volunteer positions, or other opportunities;
**(c)** All requests for professional endorsements or testimonials;
**(d)** All recommendation-related communications and interactions.
## 2. TYPES OF RECOMMENDATIONS AND REFERENCES
### 2.1. Academic Recommendations
**Academic Recommendation Letters:**
**(a)** Letters supporting applications for academic programmes, scholarships, or educational opportunities;
**(b)** Letters addressing academic performance, potential, and suitability for educational programmes;
**(c)** Academic recommendations are provided based on our direct knowledge of the requester's academic work, performance, or collaboration;
**(d)** We reserve the right to decline academic recommendations if we lack sufficient knowledge of the requester's academic qualifications or performance.
### 2.2. Professional Recommendations
**Professional Recommendation Letters:**
**(a)** Letters supporting employment applications, job opportunities, or career advancement;
**(b)** Letters addressing professional skills, work performance, and professional character;
**(c)** Professional recommendations are provided based on our direct experience working with or supervising the requester;
**(d)** We reserve the right to decline professional recommendations if we lack sufficient professional relationship or direct work experience with the requester.
### 2.3. Character References
**Character Reference Letters:**
**(a)** Letters addressing personal character, integrity, and suitability for positions requiring trust or responsibility;
**(b)** Letters supporting applications for volunteer positions, community roles, or other opportunities requiring character assessment;
**(c)** Character references are provided based on our personal knowledge of the requester's character and conduct;
**(d)** We reserve the right to decline character references if we lack sufficient personal knowledge of the requester or cannot provide a positive reference in good faith.
### 2.4. Recommendation Limitations
**IMPORTANT DISCLAIMERS:**
**(a)** We only provide recommendations for individuals with whom we have a direct, meaningful relationship;
**(b)** We will not provide recommendations if we cannot do so honestly and positively;
**(c)** We reserve the right to decline any recommendation request at our sole discretion;
**(d)** We are not obligated to provide reasons for declining recommendation requests.
## 3. REQUEST ELIGIBILITY AND REQUIREMENTS
### 3.1. Relationship Requirements
**ELIGIBILITY REQUIREMENT - ACTIVE COMMUNITY MEMBERSHIP:**
**IMPORTANT: Letters of recommendation and character references are FREE services provided EXCLUSIVELY to active members of our community. These services are NOT available to the general public or individuals who are not actively engaged in our community.**
For comprehensive eligibility requirements, eligibility criteria, and information about becoming an active community member, please refer to our [Community Membership Eligibility Policy](/about/community-membership-eligibility).
### 3.2. Request Information Requirements
**Required Information:**
**(a)** **Request Purpose**: Clear explanation of why the recommendation is needed and what opportunity it supports;
**(b)** **Opportunity Details**: Information about the position, programme, or opportunity the recommendation supports;
**(c)** **Deadline Information**: Specific deadline for when the recommendation is needed;
**(d)** **Submission Instructions**: Detailed instructions for how and where to submit the recommendation;
**(e)** **Relevant Context**: Any specific points, skills, or experiences the requester would like us to address;
**(f)** **Relationship Context**: Brief summary of our relationship and how we know each other;
**(g)** **Additional Materials**: Any relevant materials such as resumes, portfolios, or application materials that may assist in writing the recommendation.
### 3.3. Request Submission Process
**Submission Requirements:**
**(a)** All recommendation requests must be submitted through our official recommendation request form;
**(b)** Requests submitted through other channels may not be processed or may experience delays;
**(c)** Incomplete requests may be returned for additional information before processing;
**(d)** We reserve the right to request additional information or clarification before accepting a recommendation request.
## 4. RECOMMENDATION PROCESS AND TIMELINES
### 4.1. Request Review and Acceptance
**Review Process:**
**(a)** We review all recommendation requests to assess eligibility, relationship sufficiency, and our ability to provide a meaningful recommendation;
**(b)** Request review typically occurs within five (5) business days of submission;
**(c)** We will notify requesters of acceptance or decline within five (5) business days;
**(d)** Request acceptance does not guarantee recommendation provision if we later determine we cannot provide a positive recommendation in good faith.
### 4.2. Recommendation Preparation Timeline
**Timeline Expectations:**
**(a)** Accepted recommendations are typically completed within ten (10) to fourteen (14) business days of acceptance;
**(b)** Rush requests may be accommodated at our sole discretion but are not guaranteed;
**(c)** Requesters must provide a minimum of three (3) weeks advance notice for recommendation requests;
**(d)** Requests with less than three (3) weeks notice may be declined or may not be completed by the requested deadline;
**(e)** We are not liable for missed deadlines if insufficient notice is provided or if requesters fail to provide required information in a timely manner.
### 4.3. Recommendation Delivery
**Delivery Methods:**
**(a)** Recommendations are provided in WRITTEN FORMAT ONLY;
**(b)** We do NOT schedule calls or video meetings to conduct recommendations; all recommendations are provided as written letters or documents;
**(c)** Recommendations may be delivered through methods specified in the request, including:
**(i)** Direct submission to the requesting organisation or institution;
**(ii)** Email delivery to the requester or designated recipient;
**(iii)** Physical letter delivery when required;
**(iv)** Online submission through designated portals or systems;
**(d)** Requesters are responsible for providing accurate submission instructions and contact information;
**(e)** We are not responsible for delivery failures caused by incorrect submission information or third-party system failures;
**(f)** Requesters will be notified when recommendations have been submitted or delivered.
## 5. RECOMMENDATION CONTENT AND STANDARDS
### 5.1. Recommendation Accuracy and Honesty
**Content Standards:**
**(a)** All recommendations are written honestly and accurately based on our direct knowledge and experience;
**(b)** We will not misrepresent facts, exaggerate qualifications, or provide false information in recommendations;
**(c)** Recommendations reflect our genuine assessment of the requester's qualifications, character, and suitability;
**(d)** We reserve the right to decline requests if we cannot provide a positive recommendation in good faith.
### 5.2. Recommendation Scope
**Content Limitations:**
**(a)** Recommendations address only matters within our direct knowledge and experience;
**(b)** We will not speculate about matters outside our direct knowledge;
**(c)** Recommendations focus on relevant qualifications, skills, and experiences related to the requested opportunity;
**(d)** We are not obligated to address every aspect requested if it falls outside our knowledge or experience.
### 5.3. Confidentiality and Privacy
**Privacy Protections:**
**(a)** Recommendation content is confidential and shared only with designated recipients;
**(b)** Requesters may request copies of recommendations in accordance with applicable laws and policies;
**(c)** Recommendation content is subject to our Privacy Policy and data protection practices;
**(d)** We maintain confidentiality of recommendation requests and content except as necessary for recommendation provision or as required by law.
## 6. LIMITATIONS AND RESTRICTIONS
### 6.1. Recommendation Limitations
**Service Limitations:**
**(a)** We reserve the right to decline any recommendation request at our sole discretion;
**(b)** We will not provide recommendations if we cannot do so honestly and positively;
**(c)** We are not obligated to provide reasons for declining recommendation requests;
**(d)** Recommendation provision does not guarantee any specific outcome or result for the requester.
### 6.2. Frequency Limitations
**Request Frequency:**
**(a)** We may limit the number of recommendations provided to the same requester within a specified time period;
**(b)** Multiple simultaneous requests from the same requester may be consolidated or prioritized at our discretion;
**(c)** We reserve the right to decline requests if we determine recommendation provision would be excessive or burdensome;
**(d)** Requesters should coordinate multiple recommendation needs to minimise burden and ensure timely completion.
### 6.3. Prohibited Uses
**Restrictions:**
**(a)** Recommendations may not be used for purposes other than those specified in the original request;
**(b)** Requesters may not alter, modify, or misrepresent recommendation content;
**(c)** Recommendations may not be used to support fraudulent, illegal, or unethical activities;
**(d)** Violation of these restrictions may result in revocation of recommendations and refusal of future requests.
## 7. LIMITATION OF LIABILITY AND DISCLAIMERS
### 7.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, maximum liability caps, and all related legal protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all matters related to recommendation requests and provision.**
### 7.2. Recommendation-Specific Disclaimers
**Additional Limitations:**
**(a)** Recommendations are provided as FREE services offered in good faith, to the best of our ability and knowledge;
**(b)** We are NOT liable for ANY outcomes, decisions, or results that arise from recommendations we provide, including but not limited to acceptance, approval, success, rejection, or any consequences related to opportunities supported by our recommendations;
**(c)** What you do with the information and recommendations provided is YOUR OWN RESPONSIBILITY;
**(d)** We do not guarantee acceptance, approval, or success in any opportunity supported by our recommendations;
**(e)** We are not responsible for third-party decisions, application processes, or evaluation criteria;
**(f)** Our liability is limited to the maximum extent permitted by applicable law;
**(g)** Recommendations are provided "as is" without warranties of any kind.
## 8. REQUEST FORM AND SUBMISSION
### 8.1. Official Request Form
**Submission Channel:**
**(a)** All recommendation requests must be submitted through our official recommendation request form;
**(b)** The recommendation request form is available at: [Recommendation Request Form](https://forms.nhcarrigan.com/o/docs/forms/kGfLxZpmevftGCgqBzjoGD/4);
**(c)** Requests submitted through other channels may not be processed or may experience significant delays;
**(d)** The form collects all required information for recommendation request processing and preparation.
### 8.2. Form Completion Requirements
**Form Requirements:**
**(a)** Requesters must complete all required fields in the recommendation request form;
**(b)** Incomplete forms may be returned for additional information before processing;
**(c)** Requesters should provide accurate, complete information to ensure timely and accurate recommendation preparation;
**(d)** False or misleading information in request forms may result in request denial or recommendation revocation.
## 9. CONTACT INFORMATION AND INQUIRIES
### 9.1. Recommendation Inquiries
For questions about this Policy or recommendation requests:
**Email:** contact@nhcarrigan.com
**Subject Line:** Recommendation Policy Inquiry - [Brief Description]
**Response Time:** See our [Contact Policy](/about/contact) for response time expectations.
### 9.2. Request Status Inquiries
For questions about the status of submitted recommendation requests:
**Email:** contact@nhcarrigan.com
**Subject Line:** Recommendation Request Status - [Your Name]
**Response Time:** See our [Contact Policy](/about/contact) for response time expectations.
### 9.3. General Contact
For general inquiries about our organisation or services:
**Email:** contact@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
## 10. ACKNOWLEDGEMENT AND AGREEMENT
### 10.1. Policy Acceptance
By submitting a recommendation request, you acknowledge that you have:
**(a)** Read, understood, and agree to comply with this Policy;
**(b)** Understood that recommendation provision is at our sole discretion;
**(c)** Provided accurate and complete information in your request;
**(d)** Acknowledged all disclaimers, limitations, and legal protections incorporated by reference.
### 10.2. Request Accuracy
**IMPORTANT: By submitting a recommendation request, you represent and warrant that all information provided is accurate, complete, and truthful. False or misleading information may result in request denial, recommendation revocation, or refusal of future requests.**
---
*This Letter of Recommendation and Character Reference Policy establishes the terms and procedures governing recommendation requests. This Policy does not create binding obligations to provide recommendations. All recommendation requests are subject to our sole discretion and assessment of our relationship with requesters. For questions about this Policy or to submit a recommendation request, please use the official recommendation request form or contact us at contact@nhcarrigan.com.*
+18 -8
View File
@@ -2,7 +2,7 @@
title: Environmental Impact Commitment
---
This Environmental Impact Commitment ("Commitment") outlines the principles and obligations that [Company Name] upholds to minimize its environmental impact and contribute to global sustainability efforts.
This Environmental Impact Commitment ("Commitment") outlines the principles and obligations that NHCarrigan ("The Company") upholds to minimise its environmental impact and contribute to global sustainability efforts. This Commitment operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Mission Statement, and all applicable legal protections by reference.
## 1. Definitions
@@ -26,7 +26,7 @@ A situation where the environmental harm caused by a project or activity exceeds
### 2.1. Commitment to Sustainability
The Company is committed to sustainability at all levels of its operations, actively seeking to minimize its environmental impact and promote long-term environmental health.
The Company is committed to sustainability at all levels of its operations, actively seeking to minimise its environmental impact and promote long-term environmental health.
### 2.2. Prioritization of Environmental Impact
@@ -34,7 +34,7 @@ Environmental considerations, including carbon footprint and resource consumptio
### 2.3. Responsible Technology Use
The Company shall only utilize technologies that align with its environmental goals, ensuring minimal energy consumption and environmental degradation.
The Company shall only utilise technologies that align with its environmental goals, ensuring minimal energy consumption and environmental degradation.
## 3. Carbon Offsetting
@@ -62,6 +62,12 @@ The Company reserves the right to refuse any project or contract that it determi
### 4.3. Continuous Monitoring
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
The Company shall continuously monitor the environmental impact of its ongoing operations and projects, making adjustments as necessary to remain aligned with its sustainability goals.
## 5. Legal and Ethical Compliance
@@ -74,12 +80,16 @@ The Company shall ensure that all its operations, projects, and partnerships com
Beyond legal compliance, the Company acknowledges its ethical responsibility to proactively mitigate environmental harm and contribute to a sustainable future.
## 6. Amendments and Updates
## 6. Legal Framework Integration and Amendments
### 6.1. Right to Amend
### 6.1. Policy Integration
The Company reserves the right to amend this Commitment as necessary to reflect evolving best practices and environmental standards.
**IMPORTANT: This Environmental Impact Commitment is integrated with and subject to our comprehensive legal and policy framework, including warranty disclaimers and liability limitations set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 6.2. Notification of Changes
### 6.2. Right to Amend
Significant amendments to this Commitment will be communicated through the Companys official channels.
The Company reserves the right to amend this Commitment as necessary to reflect evolving best practices, environmental standards, and legal requirements.
### 6.3. Notification of Changes
Significant amendments to this Commitment will be communicated through the Company's official channels in accordance with our standard policy update procedures.
+186 -22
View File
@@ -1,38 +1,202 @@
---
title: Appealing a Sanction
title: Community Disciplinary Appeals Policy
---
Our moderators exercise careful discretion when implementing disciplinary measures (including but not limited to temporary suspensions, permanent bans, or other access restrictions). However, we acknowledge that misunderstandings or errors may occasionally occur.
## 1. Preamble and Purpose
If you believe you have been unjustly restricted from participating in our community, you may initiate our formal appeal process as outlined below.
### 1.1. Introduction
:::caution[Warning!]
Submitting multiple appeals for the same sanction will result in our appeals team automatically denying your request.
This Community Disciplinary Appeals Policy (hereinafter referred to as "the Policy") establishes the formal procedures and requirements for appealing disciplinary sanctions imposed by our moderation team. Whilst our Community Leaders exercise careful discretion and professional judgement when implementing disciplinary measures, we acknowledge that human error or misunderstandings may occasionally occur within any moderation system.
### 1.2. Purpose and Scope
This Policy serves to:
- Provide a fair and transparent mechanism for reviewing disciplinary decisions
- Ensure adherence to principles of natural justice and procedural fairness
- Maintain the integrity of our community standards whilst protecting individual rights
- Establish clear procedures for both appellants and review panels
### 1.3. Right of Appeal
Every community member who receives a disciplinary sanction has the fundamental right to appeal such decision through the procedures outlined herein, subject to the conditions and limitations specified in this Policy.
## 2. Definitions and Interpretation
### 2.1. Key Definitions
For the purposes of this Policy:
- **"Appellant"** means any individual seeking to appeal a disciplinary sanction
- **"Disciplinary Sanction"** means any punitive measure imposed, including but not limited to warnings, temporary suspensions, permanent bans, or access restrictions
- **"Appeals Panel"** means the designated authority responsible for reviewing appeals
- **"Original Decision"** means the initial disciplinary action being appealed
- **"Community Leaders"** means moderators, administrators, and other authorised personnel
### 2.2. Interpretation
This Policy shall be interpreted in accordance with principles of fairness, natural justice, and the overarching objectives of maintaining community safety and standards.
## 3. Grounds for Appeal
### 3.1. Acceptable Grounds
Appeals may be submitted on the following grounds:
1. **Procedural Irregularity**: The disciplinary process was not followed correctly
2. **Disproportionate Sanction**: The penalty imposed was excessive relative to the violation
3. **Factual Error**: Material facts were incorrectly assessed or considered
4. **New Evidence**: Relevant evidence has become available that was not considered in the original decision
5. **Misinterpretation of Policy**: The community guidelines or terms of service were incorrectly applied
### 3.2. Inadmissible Appeals
Appeals will not be considered on the following grounds:
1. General disagreement with community policies or guidelines
2. Claims that rules are unfair or unreasonable
3. Arguments that other members engaged in similar conduct without sanction
4. Emotional distress or inconvenience caused by the sanction
## 4. Pre-Appeal Requirements
### 4.1. Mandatory Preparation
Prior to submitting an appeal, appellants must complete the following preparatory steps:
1. **Policy Review**: Conduct a thorough review and demonstrate understanding of:
- Community Guidelines and Code of Conduct
- Terms of Service
- This Appeals Policy
2. **Sanction Verification**: Access and review the specific details of the imposed sanction via our [sanctions database](https://hikari.nhcarrigan.com/sanctions)
3. **Self-Assessment**: Complete a comprehensive self-assessment of the circumstances leading to the sanction
### 4.2. Required Documentation
Appeals must include the following information:
1. **Identity Verification**: Full account details and contact information
2. **Sanction Details**: Complete description of the disciplinary action being appealed
3. **Grounds Statement**: Clear identification of the specific grounds for appeal as outlined in Section 3.1
4. **Evidence Portfolio**: All relevant documentation, screenshots, or other evidence supporting the appeal
5. **Commitment Declaration**: Written commitment to adhere to all community standards and policies
6. **Contribution Statement**: Detailed explanation of intended positive contributions to the community upon reinstatement
## 5. Appeal Submission Procedures
### 5.1. Formal Submission Process
Appeals must be submitted through our official appeals portal: [Community Appeals Form](https://forms.nhcarrigan.com/o/docs/forms/4w5VHsYiEkiS2mewvtuJYL/4)
### 5.2. Submission Requirements
All appeals must:
- Be submitted within thirty (30) days of the original sanction
- Include all required documentation as specified in Section 4.2
- Be written in clear, professional language
- Demonstrate good faith engagement with the appeals process
### 5.3. Multiple Appeal Prohibition
:::caution[Critical Warning]
Submitting multiple appeals for the same disciplinary sanction will result in automatic dismissal of all subsequent appeals and may constitute abuse of process, potentially leading to additional sanctions.
:::
## 1. Preparing Your Appeal
## 6. Review Process and Procedures
Prior to submitting an appeal, please ensure you have the following information ready:
### 6.1. Initial Review
1. Confirmation that you have thoroughly reviewed and understood our Community Guidelines and Terms of Service.
2. An explicit statement of your commitment to adhere to all applicable rules and policies.
3. Your understanding of the specific sanction levied against you and the alleged violation(s) cited.
4. A clear and concise explanation of why you believe the moderation decision was erroneous or disproportionate.
5. A statement detailing your motivations for seeking reinstatement and the potential positive contributions you intend to make to our community.
Upon receipt, all appeals undergo an initial administrative review to ensure:
- Compliance with submission requirements
- Timeliness of submission
- Completeness of documentation
- Identification of appropriate grounds for appeal
Please note that incomplete or inadequately prepared appeals may be summarily dismissed. You can [find your sanction in our logs](https://moderation.nhcarrigan.com) to review.
### 6.2. Substantive Review
## 2. Appeal Submission Process
Appeals meeting initial requirements proceed to substantive review, wherein the Appeals Panel shall:
1. Examine all evidence and documentation
2. Review the original decision and its rationale
3. Consider the appellant's submissions and arguments
4. Assess whether the appeal has merit under the established grounds
To submit your appeal, please complete the form available at the following link:
### 6.3. Review Timeline
[Submit a Sanction Appeal](https://forms.nhcarrigan.com/appeal)
The Appeals Panel endeavours to complete reviews within fourteen (14) business days of receipt, though complex cases may require additional time.
## 3. Important Disclaimers
## 7. Possible Outcomes and Decisions
- Submission of an appeal does not guarantee its approval.
- The decision of the appeals review panel is final and binding.
- We reserve the right to deny or revoke access to our services at any time, for any reason, at our sole discretion.
- Repeated violations or abuse of the appeals process may result in permanent ineligibility for reinstatement.
### 7.1. Appeal Outcomes
By submitting an appeal, you acknowledge that you have read, understood, and agree to abide by the terms outlined in this document.
Following review, the Appeals Panel may:
1. **Uphold the Appeal**: Overturn the original sanction entirely
2. **Partially Uphold the Appeal**: Reduce the severity of the original sanction
3. **Dismiss the Appeal**: Confirm the original sanction remains in full effect
4. **Remit for Reconsideration**: Return the matter for fresh consideration with specific directions
### 7.2. Decision Communication
All appeal decisions shall be communicated in writing to the appellant, including:
- The outcome of the appeal
- Detailed reasoning for the decision
- Any conditions or requirements for reinstatement
- Information regarding the finality of the decision
## 8. Finality and Limitations
### 8.1. Decision Finality
Decisions of the Appeals Panel are final and binding. No further appeals or reviews are available through our internal processes.
### 8.2. Discretionary Rights Reserved
Notwithstanding this appeals process, we reserve the absolute right to:
- Deny or revoke access to our services at any time
- Modify community standards and policies
- Take additional action based on new information or circumstances
- Refuse service to any individual at our sole discretion
### 8.3. Abuse of Process
Repeated abuse of the appeals process, including but not limited to:
- Submitting frivolous or vexatious appeals
- Providing false or misleading information
- Harassment of Appeals Panel members
- Multiple appeals for the same sanction
May result in permanent ineligibility for future appeals and additional disciplinary sanctions.
## 9. Compliance and Acknowledgement
### 9.1. Terms Acceptance
By submitting an appeal through this process, appellants explicitly acknowledge that they have:
- Read and understood this Appeals Policy in its entirety
- Reviewed and understand all applicable community standards and policies
- Agreed to accept the decision of the Appeals Panel as final and binding
- Committed to full compliance with all community standards upon any reinstatement
### 9.2. Legal Framework Integration
This appeals process operates within our comprehensive legal and policy framework, including:
**(a)** **Terms of Service**: Fundamental legal relationship and user obligations;
**(b)** **Limitation of Liability and Indemnification Policy**: Legal protections and risk allocation;
**(c)** **Content and Moderation Policy**: Enforcement procedures and standards;
**(d)** **All applicable policies**: Privacy, acceptable use, and specialised policies incorporated by reference.
**IMPORTANT**: This appeals process is provided as an internal community service and does not create any legal rights or obligations beyond those established in our comprehensive legal policies. The availability of this process does not limit our right to take any action deemed necessary for community safety and integrity.
## 10. Policy Updates and Amendments
### 10.1. Amendment Rights
This Policy may be updated, modified, or amended at any time without prior notice. Appellants are responsible for ensuring familiarity with the current version of this Policy.
### 10.2. Policy Implementation
This Policy applies to all appeals submitted after its implementation.
---
*This Community Disciplinary Appeals Policy.*
File diff suppressed because it is too large Load Diff
+186
View File
@@ -0,0 +1,186 @@
---
title: Fan Art Guidelines
---
## 1. Introduction and Purpose
### 1.1. Welcome to Our Fan Art Community!
Are you interested in creating art for our lovely Naomi? We absolutely love seeing creative interpretations of our characters and would be thrilled to feature your work! These guidelines will help you understand what we're looking for and how to submit your creations.
### 1.2. Scope
These guidelines apply to:
- Fan art of Naomi and her various designs
- Fan art of Original Characters (OCs) shared in our #characters channel (Naomi's OCs)
- Any artistic interpretations of our characters and community
## 2. Content Guidelines
### 2.1. Content Standards
#### 2.1.1. Family-Friendly Public Submissions
For art that will be shared in our public spaces (such as our fan art channel), we maintain family-friendly standards:
**(a)** **No Obscene or NSFW Content**: Public submissions must be appropriate for all audiences. We want to show your work off to everyone!
**(b)** **Original Works Only**: Please no AI-generated content. We want to see your original works! If Naomi wanted AI-generated art, she would generate it herself.
**(c)** **Creative Freedom**: You are free to give Naomi whatever outfit you would like. Refer to our reference channel for reference images to get an idea of her style.
#### 2.1.2. NSFW Content Policy
We understand that some artists may wish to create mature content featuring our characters. We have the following policy for such works:
**(a)** **DM Submission Required**: NSFW works must be sent to us via direct message (DM) only. Do not post NSFW content in any public channels.
**(b)** **Private Appreciation**: While we appreciate all artistic interpretations, NSFW works will not be shared in our public spaces as we are a family-friendly community.
**(c)** **Respectful Content**: Even for private submissions, we reserve the right to decline content that we find inappropriate or that violates our community standards.
**(d)** **Recognition**: Accepted NSFW submissions will still qualify for the role!
### 2.2. Original Characters (OCs)
We have a dedicated **#characters** channel where Naomi shares her Original Characters! You are welcome and encouraged to create fan art of these OCs as well. When creating art of Naomi's OCs:
**(a)** **Respect Character Design**: Please respect the original character designs and creator intentions.
**(b)** **Follow Same Guidelines**: All content guidelines (family-friendly for public, NSFW via DM only) apply to OC fan art as well.
## 3. Reference Materials and Resources
### 3.1. Available Reference Materials
#### 3.1.1. Reference Images
We maintain reference images in our Discord reference channel. These images can help you understand Naomi's style, color palette, and design elements.
### 3.2. Important Disclaimer About Reference Materials
:::warning[AI-Generated Reference Materials Disclaimer]
**Please be aware that our current reference sheets and other visual assets are AI-generated. This is a temporary situation.**
We operate at a significant loss and do not currently have the budget to commission proper, human-created art for all of our reference materials. However, we are committed to replacing these AI-generated assets with proper commissioned art as funds become available.
**How You Can Help:**
- **Financial Support**: If you would like to help us replace our AI-generated assets with proper art, you can donate at [donate.nhcarrigan.com](https://donate.nhcarrigan.com). All donations help us work toward commissioning proper reference art.
- **Art Donations**: We would be absolutely thrilled to accept donated art to replace our AI-generated assets! If you're interested in creating reference art or other assets for us, please reach out via DM to discuss.
We appreciate your understanding and patience as we work to improve our resources. Our goal is to have all human-created, properly commissioned art, and we're working toward that goal every day.
:::
## 4. Submission Process
### 4.1. How to Submit Your Art
#### 4.1.1. Public Submissions (Family-Friendly Content)
To submit family-friendly fan art for public sharing:
1. **Create Your Art**: Follow the guidelines above to ensure your work meets our standards.
2. **DM Your Submission**: Send your artwork to Naomi directly via DM.
3. **Review Process**: If accepted, your art will be shared in our fan art channel (with full credit - you will be tagged in the post).
4. **Recognition**: Accepted submissions will receive a special role recognizing your contribution!
#### 4.1.2. Private Submissions (NSFW Content)
For NSFW works:
1. **DM Only**: Send your NSFW artwork directly to Naomi via DM.
2. **Private Appreciation**: These works will be appreciated privately and will not be shared in public spaces.
3. **No Public Sharing**: Please do not post NSFW content in any public channels, even if you think it might be acceptable.
4. **Recognition**: Accepted submissions will still qualify for the role!
### 4.2. What Happens After Submission
#### 4.2.1. Review Timeline
We review submissions as quickly as possible, but please be patient. We want to give each piece the attention it deserves!
#### 4.2.2. Acceptance and Sharing
If your public submission is accepted:
- Your art will be posted in our fan art channel
- You will be tagged and credited in the post
- You will receive a special role recognizing your contribution
- We may share your work on other platforms (with credit)
#### 4.2.3. If Your Submission Isn't Accepted
If we decline a submission, we'll do our best to explain why. Common reasons include:
- Content doesn't meet our family-friendly standards (for public submissions)
- Quality concerns (though we appreciate all skill levels!)
- Copyright or intellectual property issues
- Other community guideline violations
We're always happy to provide feedback and work with artists to create content that fits our community!
## 5. Rights and Permissions
### 5.1. Artist Rights and Rights Transfer
**(a)** **Rights Transfer**: By submitting your art to us, you transfer the rights to your creation to us. This transfer occurs upon submission and acceptance of your work.
**(b)** **Credit Always Given**: We will always credit you when sharing your work, even though rights have been transferred.
**(c)** **Usage Rights**: Once rights are transferred, we have the right to use, display, share, and distribute your submitted artwork in our community spaces and on other platforms with proper credit.
### 5.2. Character Rights
**(a)** **Character Ownership**: Naomi and other official characters remain the property of NHCarrigan.
**(b)** **Fan Art Rights**: Creating fan art is generally considered fair use, but please be respectful of the characters and community.
**(c)** **Commercial Use**: If you're interested in commercial use of our characters, please contact us to discuss licensing.
## 6. Community Support and Appreciation
### 6.1. We Love Your Art!
We genuinely appreciate every piece of art created for our community. Whether it's a quick sketch or a detailed masterpiece, your creativity and effort mean the world to us!
### 6.2. Growing Together
We're always working to improve our resources and support for artists. As we grow and develop better reference materials (see our disclaimer above), we hope to make it even easier for artists to create amazing fan art!
### 6.3. Questions or Concerns?
If you have any questions about these guidelines, the submission process, or anything else related to fan art, please don't hesitate to reach out via DM or ask in our community channels!
---
## Summary: Quick Reference
**✅ DO:**
- Create original, family-friendly art for public sharing
- DM your submissions to Naomi
- Feel free to be creative with outfits and styles
- Create art of Naomi's OCs from our #characters channel
- Send NSFW works via DM only (they won't be shared publicly)
**❌ DON'T:**
- Submit AI-generated content
- Post NSFW content in public channels
- Disrespect character designs when making OC fan art
- Submit content that violates our community standards
**📝 Remember:**
- Reference materials are currently AI-generated (temporary!)
- You can help us get proper art by donating or creating art donations
- By submitting art, you transfer rights to your creation to us
- We always credit artists when sharing their work
- Questions? Just ask!
---
*Thank you for your interest in creating art for our community! We can't wait to see what you create!*
+440
View File
@@ -0,0 +1,440 @@
---
title: Community Feedback and Participation Policy
---
## 1. Foundation and Democratic Principles
### 1.1. Introduction and Purpose
This Community Feedback and Participation Policy (hereinafter referred to as "the Policy") establishes our comprehensive framework for meaningful community member engagement in governance, policy development, and community improvement processes. This Policy embodies our commitment to participatory governance, ensuring that community members have multiple accessible pathways to influence decisions that affect their community experience and contribute to the continuous improvement of our shared environment.
### 1.2. Core Democratic Principles
Our community feedback and participation approach is founded upon:
**(a)** **Participatory Governance**: Community members have meaningful opportunities to influence decisions affecting them;
**(b)** **Transparent Decision-Making**: Clear communication about how community input influences policy and governance decisions;
**(c)** **Inclusive Participation**: Multiple accessible pathways for engagement that accommodate diverse needs and preferences;
**(d)** **Responsive Leadership**: Leadership commitment to actively seeking, considering, and responding to community input;
**(e)** **Continuous Improvement**: Regular assessment and enhancement of community feedback systems and participation opportunities;
**(f)** **Democratic Accountability**: Mechanisms ensuring leadership remains accountable to the community they serve.
### 1.3. Participation Philosophy
We believe that community members are the ultimate experts on their own experience and needs, and our governance systems should reflect this expertise by:
- Actively seeking diverse community perspectives on policies and decisions
- Creating multiple pathways for participation that accommodate different preferences and circumstances
- Ensuring that community input meaningfully influences policy development and implementation
- Building community ownership and investment in shared governance and improvement processes
- Fostering a culture of collaborative decision-making and mutual responsibility
### 1.4. Legal Framework Integration
This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Community Leadership and Governance Policy, and all applicable legal protections by reference.
## 2. Feedback Channels and Communication Systems
### 2.1. Regular Feedback Opportunities
#### 2.1.1. Daily and Ongoing Feedback Channels
**Open Communication Channels:**
- Dedicated feedback forum categories accessible to all community members for ongoing input and suggestions
- Community: [Community Feedback](https://support.nhcarrigan.com/c/community-feedback/8) category on our support forum
- Products: [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) categories on our support forum
- Policies: [Policy Ideation](https://support.nhcarrigan.com/c/policy-ideation/9) category on our support forum
- Direct messaging opportunities with community leadership for individual concerns and suggestions
- Public discussion forums for community-wide conversation about policies and improvements
**Structured Feedback Systems:**
- Regular feedback forms targeting specific community areas and improvement opportunities
- Suggestion box systems for ongoing community enhancement ideas and proposals
- Incident reporting systems for policy effectiveness assessment and improvement identification
- Accessibility feedback channels specifically designed to identify and address inclusion barriers
- `#accessibility` on Discord.
#### 2.1.2. Scheduled Feedback Collection
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
**Monthly Community Input Sessions:**
- Structured community meetings focused on specific policy areas or community improvements
- Rotating focus areas ensuring comprehensive coverage of community operations and policies
- Multiple participation formats (live discussion, written input, asynchronous participation) to accommodate diverse preferences
- Clear agendas and preparation materials enabling meaningful community participation
**Quarterly Community Assessments:**
- Comprehensive community satisfaction surveys covering all aspects of community experience
- Policy effectiveness assessments gathering detailed feedback on existing policies and procedures
- Community needs assessments identifying emerging priorities and improvement opportunities
- Leadership performance evaluations providing community input on governance effectiveness
### 2.2. Accessible Participation Methods
#### 2.2.1. Universal Design in Feedback Systems
**Multiple Communication Formats:**
- Written feedback forms available in multiple languages and accessible formats
- Audio and video feedback submission options for members with different communication preferences
- Visual feedback tools including graphics, diagrams, and interactive elements for diverse learning styles
- Real-time and asynchronous participation options accommodating different time zones and availability patterns
**Accessibility Accommodations:**
- Screen reader compatible feedback systems for members using assistive technology
- Large print and high contrast options for members with visual accessibility needs
- Simple language versions of feedback requests and policy summaries for improved comprehension
- Alternative format materials and documentation available upon request
#### 2.2.2. Cultural and Linguistic Inclusion
**Culturally Responsive Feedback Collection:**
- Feedback systems designed with cultural sensitivity and diverse communication style accommodation
- Translation services available for feedback submission in languages other than English
- Cultural liaison positions to facilitate feedback collection from diverse community groups
- Recognition and accommodation of cultural differences in feedback expression and participation preferences
**Inclusive Participation Support:**
- Mentorship and support systems helping new or less experienced community members engage in feedback processes
- Education about feedback systems and participation opportunities for members unfamiliar with democratic participation
- Peer support networks connecting members interested in collaborative participation and governance engagement
- Special outreach to ensure participation from underrepresented community groups and perspectives
## 3. Policy Development and Change Processes
### 3.1. Community Consultation Requirements
#### 3.1.1. Mandatory Consultation Procedures
**Significant Policy Changes:**
All significant policy changes must include:
- **Minimum 30-day public comment period** with multiple opportunities for community input and feedback
- **Community impact assessment** analysing how proposed changes will affect different community groups and members
- **Alternative proposal consideration** including community-suggested modifications and improvements
- **Transparent rationale communication** explaining the need for changes and how community input influenced final decisions
**New Policy Development:**
- **Community needs assessment** identifying the necessity and community support for new policies
- **Draft policy review period** allowing community input on proposed policy language and implementation plans
- **Stakeholder consultation** ensuring input from community members who would be most affected by new policies
- **Implementation planning** involving community input on effective policy rollout and communication strategies
#### 3.1.2. Community Input Integration Process
**Systematic Input Analysis:**
- **Comprehensive review** of all community feedback and input received during consultation periods
- **Thematic analysis** identifying common concerns, suggestions, and priorities expressed by community members
- **Response development** addressing each significant concern or suggestion raised during consultation processes
- **Policy modification** incorporating feasible community suggestions and addressing identified concerns
**Transparent Decision Communication:**
- **Detailed summaries** of community input received and how it influenced policy decisions
- **Clear explanations** of why certain community suggestions were or were not incorporated into final policies
- **Implementation timelines** and community preparation information for policy changes
- **Ongoing evaluation commitments** outlining how policy effectiveness will be assessed with community input
### 3.2. Emergency and Urgent Change Procedures
#### 3.2.1. Emergency Policy Modifications
**Crisis Response Policy Changes:**
When immediate policy changes are necessary for community safety:
- **Immediate implementation** with clear communication about emergency nature of changes
- **Retroactive community consultation** conducted as soon as practically possible after emergency implementation
- **Community input integration** for permanent policy changes following emergency measures
- **Transparent review process** evaluating emergency decisions and incorporating community feedback for future improvements
#### 3.2.2. Urgent Community Need Response
**Expedited Change Procedures:**
- **Accelerated consultation timelines** with intensive community outreach and input collection
- **Community priority assessment** ensuring urgent changes address genuine community needs and priorities
- **Rapid response implementation** with continuous community feedback collection and policy adjustment
- **Follow-up evaluation** assessing urgent change effectiveness and incorporating lessons learned
## 4. Transparency and Decision-Making Communication
### 4.1. Open Governance Practices
#### 4.1.1. Decision-Making Transparency
**Public Decision Records:**
- **Meeting minutes and records** available to all community members for transparency and accountability
- **Decision rationales** clearly documented and communicated to explain leadership reasoning and community input consideration
- **Policy change logs** tracking all modifications and their justifications for comprehensive transparency
- **Community impact tracking** documenting how decisions affect different community groups and members
**Leadership Accessibility:**
- **Regular office hours** where community members can directly engage with leadership about governance and policy matters
- **Public Q&A sessions** addressing community concerns and providing transparent answers about decision-making processes
- **Leadership communication channels** accessible to all community members for ongoing dialogue and feedback
- **Community liaison programmes** facilitating communication between leadership and diverse community groups
#### 4.1.2. Information Accessibility and Sharing
**Comprehensive Information Access:**
- **Policy documentation** available in multiple formats and accessible language for broad community understanding
- **Decision-making process guides** helping community members understand how to participate effectively in governance
- **Historical records** of community decisions and their outcomes available for transparency and learning
- **Resource libraries** providing educational materials about community governance and participation opportunities
**Proactive Communication:**
- **Regular community updates** about governance activities, policy development, and decision-making processes
- **Advance notice** of upcoming decisions, consultation opportunities, and participation deadlines
- **Multiple communication channels** ensuring information reaches community members through their preferred methods
- **Follow-up communication** about decision outcomes and implementation progress
### 4.2. Community Accountability Mechanisms
#### 4.2.1. Leadership Accountability Systems
**Performance Monitoring and Evaluation:**
- **Regular community confidence surveys** assessing leadership effectiveness and community satisfaction
- **360-degree feedback systems** incorporating input from community members, peers, and external partners
- **Public performance reporting** sharing leadership evaluation outcomes and improvement commitments with the community
- **Community review processes** enabling community members to formally evaluate leadership performance and effectiveness
**Response and Improvement Commitments:**
- **Public commitments** to address community concerns and feedback identified through accountability processes
- **Improvement timelines** with specific milestones and progress reporting to demonstrate leadership responsiveness
- **Community follow-up** ensuring leadership commitments are fulfilled and community concerns are adequately addressed
- **Continuous improvement integration** incorporating accountability feedback into leadership development and governance enhancement
#### 4.2.2. Policy Effectiveness Assessment
**Community-Centred Evaluation:**
- **Regular policy effectiveness surveys** gathering community input on how well policies are meeting their intended objectives
- **Community impact assessment** evaluating policy effects on different community groups and addressing unintended consequences
- **Policy modification processes** incorporating community feedback and assessment results into ongoing policy improvement
- **Community success metrics** developed collaboratively to measure progress towards shared community goals and values
## 5. Special Consultation and Participation Programs
### 5.1. Demographic and Identity-Based Consultation
#### 5.1.1. Targeted Community Outreach
**Underrepresented Group Engagement:**
- **Specific consultation programmes** ensuring input from community members who may not participate in general feedback processes
- **Identity-affirming participation opportunities** creating safe spaces for marginalised community members to provide honest feedback
- **Cultural competency** in consultation design and facilitation to encourage authentic participation from diverse community members
- **Language and accessibility support** removing barriers to participation for community members with diverse needs
**Specialised Advisory Groups:**
- **Rotating advisory panels** including community members from diverse backgrounds and experience levels
- **Issue-specific consultation groups** bringing together community members with relevant expertise or lived experience
- **Accessibility advisory groups** providing ongoing input on inclusion and accommodation needs and improvements
- **Community youth and senior advisory panels** ensuring intergenerational perspectives in community governance
#### 5.1.2. Community-Driven Initiative Support
**Grassroots Proposal Development:**
- **Community member proposal processes** enabling members to suggest and develop new community initiatives and improvements
- **Collaborative development support** providing resources and assistance for community members developing improvement proposals
- **Peer review and community refinement** processes helping improve community-driven proposals through collaborative development
- **Implementation support** for community-approved initiatives including resource allocation and ongoing assistance
**Community Organising and Advocacy:**
- **Community organising support** for members who want to advocate for specific changes or improvements
- **Coalition building assistance** helping community members with shared interests collaborate effectively on improvement initiatives
- **Advocacy training and resources** empowering community members to effectively participate in governance and change processes
- **Community campaign support** for democratic initiatives that build broad community support for positive changes
#### 5.1.3. Demographic Self-Identification
**Voluntary Self-Identification Process:**
- **Anonymous demographic self-identification form** enabling community members to voluntarily share demographic information to help us understand community diversity and identify participation barriers
- **New member onboarding requirement** all new community members are encouraged to complete the self-identification form when joining the community
- **Annual demographic update** all community members are encouraged to complete the self-identification form at the start of each calendar year to measure demographic trends and changes over time
- **Complete anonymity** all responses are completely anonymous and aggregated for statistical analysis only; individual responses cannot be linked to specific community members
**Purpose and Use:**
- **Demographic diversity assessment** understanding the diversity of our community across various dimensions including age, geographic location, language, gender identity, sexual orientation, race/ethnicity, disability status, neurodivergence, and socioeconomic background
- **Participation barrier identification** identifying barriers to engagement affecting different demographic groups
- **Feedback system evaluation** ensuring feedback systems and participation opportunities effectively reach and engage diverse community members
- **Accessibility improvement** measuring progress toward inclusive representation and identifying areas where accessibility and accommodation efforts need enhancement
- **Trend measurement** tracking demographic changes and trends over time to understand community evolution
**Privacy and Confidentiality:**
- **Complete anonymity** no identifying information is collected; responses cannot be linked to individual community members
- **Aggregated analysis only** all data is used only in aggregate form for statistical analysis and community improvement purposes
- **Voluntary participation** participation is completely voluntary; all questions include a "Prefer not to answer" option
- **Secure data handling** all demographic data is stored securely and handled in accordance with our Privacy Policy and applicable data protection laws
**Self-Identification Form:**
Community members can complete the anonymous self-identification form at: https://forms.nhcarrigan.com/o/docs/forms/p7fkz5yJN9GKrQjw5zhX6U/4
**Completion Requirements:**
- **New members:** All new community members are encouraged to complete the self-identification form as part of the onboarding process
- **Annual updates:** All community members are encouraged to complete the self-identification form at the start of each calendar year (January) to help us measure demographic trends and changes over time
- **Voluntary nature:** While completion is encouraged, participation remains completely voluntary and anonymous
### 5.2. Crisis and Emergency Community Consultation
#### 5.2.1. Emergency Response Input
**Crisis Communication and Consultation:**
- **Emergency communication protocols** ensuring community members receive timely information about crisis decisions affecting them
- **Rapid consultation processes** gathering essential community input even during emergency situations
- **Community safety prioritisation** balancing community input with immediate safety and security requirements
- **Post-crisis evaluation** involving comprehensive community consultation on emergency response effectiveness and improvements
#### 5.2.2. Community Healing and Recovery Participation
**Collective Recovery Planning:**
- **Community-wide healing initiatives** developed with broad community input and participation
- **Recovery goal setting** involving community members in establishing priorities and metrics for post-crisis improvement
- **Community resilience building** through collaborative planning and resource development
- **Trauma-informed consultation** ensuring crisis consultation processes are sensitive to community member well-being and recovery needs
## 6. Feedback Response and Follow-Up Systems
### 6.1. Comprehensive Response Protocols
#### 6.1.1. Individual Feedback Acknowledgment
**Personal Response Commitments:**
- **Acknowledgment within 7-10 business days** for all individual feedback submissions and policy input
- **Detailed responses within 14 days** addressing specific concerns, suggestions, and questions raised by community members
- **Follow-up communication** ensuring community members feel heard and providing updates on how their input is being considered
- **Personal consultation opportunities** for community members who need additional discussion or clarification about their feedback
**Resolution and Implementation Tracking:**
- **Issue tracking systems** following feedback items from submission through resolution and implementation
- **Progress updates** provided to feedback submitters about how their input is being addressed and implemented
- **Outcome communication** sharing results and impacts of changes made in response to community feedback
- **Satisfaction follow-up** ensuring community members are satisfied with how their feedback was handled and addressed
#### 6.1.2. Community-Wide Response Communication
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
**Public Feedback Summaries:**
- **Monthly summary reports** highlighting community feedback themes, concerns, and suggestions received
- **Response action reports** detailing how community feedback has influenced policies, decisions, and community improvements
- **Implementation progress updates** showing community members how their collective input is creating positive changes
- **Appreciation and recognition** of community members who provide valuable feedback and participate in governance processes
**Community Learning and Improvement:**
- **Best practice sharing** about effective feedback integration and community input utilisation
- **Process improvement updates** showing how community feedback systems themselves are being enhanced based on member input
- **Success story communication** celebrating positive changes that resulted from community feedback and participation
- **Challenge identification** and collaborative problem-solving when feedback systems need improvement or enhancement
### 6.2. Continuous Feedback System Enhancement
#### 6.2.1. Meta-Feedback and System Improvement
**Feedback System Effectiveness Assessment:**
- **Annual evaluation** of community feedback systems and their effectiveness in enabling meaningful participation
- **Community satisfaction surveys** specifically assessing feedback and participation system accessibility and responsiveness
- **Process improvement recommendations** developed collaboratively with community members who use feedback systems regularly
- **Innovation and enhancement implementation** continuously improving feedback systems based on community needs and technological advances
**Community Participation Analytics:**
- **Participation pattern analysis** identifying barriers to engagement and opportunities for increased community involvement
- **Demographic participation assessment** ensuring feedback systems are effectively reaching and engaging diverse community members
- **Response quality evaluation** assessing whether community input is receiving appropriate attention and consideration
- **Impact measurement** documenting how community feedback creates positive changes in community policies and experience
## 7. Training and Support for Community Participation
### 7.1. Civic Engagement Education
#### 7.1.1. Participation Skills Development
**Democratic Participation Training:**
- **Civic engagement workshops** teaching community members effective advocacy, communication, and participation skills
- **Policy analysis training** helping community members understand policy implications and provide more informed feedback
- **Meeting facilitation and participation skills** empowering community members to lead and contribute effectively to governance processes
- **Conflict resolution and collaborative decision-making** training supporting constructive participation in community debates and discussions
**Communication and Advocacy Skills:**
- **Public speaking and presentation training** for community members interested in more active governance participation
- **Written communication skills** development for effective policy feedback and proposal development
- **Research and analysis training** helping community members gather information and develop evidence-based suggestions
- **Coalition building and organising skills** for community members interested in leading community improvement initiatives
#### 7.1.2. Community Governance Education
**Governance Literacy Programs:**
- **Community governance orientation** for new members explaining how community decision-making works and how to participate
- **Policy development process education** teaching community members how policies are created, modified, and implemented
- **Leadership and governance roles education** explaining different governance positions and how community members can become involved
- **Community history and values education** helping members understand the context and principles guiding community governance
### 7.2. Participation Support and Mentorship
#### 7.2.1. New Member Integration
**Participation Mentorship Programmes:**
- **Governance mentorship** pairing experienced community members with newcomers interested in participation and feedback
- **Peer support networks** connecting community members with similar interests in governance and community improvement
- **Guided participation experiences** providing supported opportunities for new members to engage in feedback and governance processes
- **Community leadership pipeline development** identifying and supporting community members interested in greater governance involvement
#### 7.2.2. Ongoing Participation Support
**Sustained Engagement Assistance:**
- **Resource libraries** providing ongoing access to materials, tools, and information supporting effective community participation
- **Consultation and guidance services** offering individualized support for community members developing proposals or providing complex feedback
- **Peer collaboration platforms** facilitating community member connections and collaborative work on governance and improvement initiatives
- **Recognition and appreciation systems** acknowledging and celebrating community members who contribute consistently to governance and feedback processes
## 8. Policy Implementation and Continuous Improvement
### 8.1. Policy Effectiveness Evaluation
#### 8.1.1. Regular Assessment and Enhancement
**Quarterly System Review:**
- **Participation metrics assessment** analysing community engagement levels and identifying areas for improvement
- **Feedback quality evaluation** ensuring community input is meaningful, comprehensive, and effectively integrated into decision-making
- **Response effectiveness assessment** measuring how well feedback systems serve community needs and promote positive change
- **Accessibility and inclusion evaluation** ensuring feedback systems effectively reach and engage all community members
**Annual Comprehensive Evaluation:**
- **Community satisfaction with governance** assessment including feedback system effectiveness and responsiveness
- **Democratic participation impact** measuring how community feedback creates positive changes in policies and community experience
- **Community capacity building** evaluation assessing how participation systems support community member skill development and engagement
- **System innovation and improvement** planning for enhanced feedback systems and participation opportunities
### 8.2. Community-Driven Policy Evolution
#### 8.2.1. Responsive Policy Development
**Community-Initiated Policy Changes:**
- **Community proposal processes** enabling members to suggest policy modifications and improvements through structured democratic processes
- **Community prioritisation systems** allowing members to identify which policy areas most need attention and improvement
- **Collaborative policy development** involving community members in drafting, reviewing, and refining policy changes
- **Democratic approval processes** ensuring community input and consent for significant policy modifications and new policy development
**Continuous Improvement Integration:**
- **Policy effectiveness monitoring** with regular community feedback integration and responsive improvement implementation
- **Best practice adoption** incorporating lessons learned from community governance experience and external research
- **Innovation in participation** continuously developing new and improved methods for community engagement and democratic participation
- **Community ownership development** building community members' sense of agency and investment in shared governance and community improvement
---
## Democratic Commitment to Community Voice
This Community Feedback and Participation Policy represents our fundamental commitment to democratic governance and community self-determination. We believe that community members are the ultimate authorities on their own needs and experiences, and our governance systems must reflect this reality through meaningful participation opportunities and responsive leadership.
Through this Policy, we pledge to maintain transparent, accessible, and effective systems for community input, ensure that community feedback meaningfully influences decision-making, and continuously improve our democratic processes to better serve our community's evolving needs and priorities.
---
*This Community Feedback and Participation Policy provides comprehensive information about community participation opportunities. For questions about community participation opportunities or to provide feedback on this Policy, please contact our Community Leaders through the designated channels outlined in our Community Code of Conduct.*
File diff suppressed because it is too large Load Diff
+705
View File
@@ -0,0 +1,705 @@
---
title: Community Leadership and Governance Policy
---
## 1. Foundation and Purpose
### 1.1. Introduction
This Community Leadership and Governance Policy (hereinafter referred to as "the Policy") establishes the framework for transparent, accountable, and effective leadership within our community ecosystem. This Policy ensures that community leadership operates with integrity, serves the best interests of all community members, and maintains the highest standards of conduct whilst fostering a safe, welcoming, and inclusive environment.
### 1.2. Core Principles
Our community leadership operates on the following foundational principles:
**(a)** **Servant Leadership**: Leaders serve the community rather than wielding authority for personal benefit. For a comprehensive explanation of servant leadership principles and how they apply to all staff roles, see [Staff Role Definition and Principles](/staff/handbook#22-staff-role-definition-and-principles) in the Staff Handbook;
**(b)** **Transparency**: Decision-making processes and rationales are clearly communicated to the community;
**(c)** **Accountability**: Leaders are answerable for their actions and decisions to the community they serve;
**(d)** **Inclusivity**: Leadership reflects and promotes the diversity of our community;
**(e)** **Collaborative Governance**: Community input is actively sought and valued in decision-making processes.
### 1.3. Legal Framework Integration
This Policy operates within our comprehensive legal and policy framework, including our Terms of Service, Community Code of Conduct, Content and Moderation Policy, and Limitation of Liability and Indemnification Policy, all of which are incorporated herein by reference.
## 2. Leadership Structure and Roles
### 2.1. Leadership Hierarchy
Our community leadership operates through a structured hierarchy designed to ensure effective governance whilst maintaining accessibility and accountability:
#### 2.1.1. Executive Leadership
- **Community Director**: Overall strategic direction and final decision-making authority
- **Deputy Director**: Support for Community Director and succession planning
- **Legal and Policy Advisor**: Oversight of legal compliance and policy development
#### 2.1.2. Operational Leadership
- **Head Moderator**: Oversight of moderation team and enforcement consistency
- **Community Managers**: Day-to-day community operations and member engagement
- **Technical Manager**: Day-to-day technical operations, code reviews, and technical contributor coordination
- **Technical Administrators**: Platform infrastructure management and strategic technical planning
#### 2.1.3. Specialist Leadership
- **Accessibility Coordinator**: Ensuring inclusive design and accommodation
- **Crisis Response Coordinator**: Mental health and emergency situation management
- **Events Coordinator**: Community activities and engagement programmes
- **Communications and Outreach Coordinator**: External communications and community messaging
- **Training and Development Coordinator**: Leadership development and educational programming
- **Partnership and Collaboration Coordinator**: External relationships and collaborative initiatives
- **Support Team Leader**: Oversight and coordination of community support operations
- **Community Growth Specialist**: Member recruitment, retention, and community expansion initiatives
#### 2.1.4. Volunteer Leadership
- **Moderators**: Front-line community moderation and member support
- **Mentors**: New member guidance and peer support programmes
- **Subject Matter Experts**: Specialised knowledge and educational support
- **Technical Contributors**: Development support and technical expertise for community platforms and tools
- **Quality Assurance Coordinator**: Testing and quality control for community platforms and resources
- **Data and Analytics Coordinator**: Community metrics analysis and reporting
#### 2.1.5. Support Team
- **Community Support Specialists**: General member assistance and issue resolution
- **Technical Support Representatives**: Platform and technical assistance for community members
- **Content Support Coordinators**: Content creation assistance and resource management
- **Member Relations Specialists**: Member onboarding and relationship management
- **Documentation Support Technicians**: Maintenance and improvement of community documentation
### 2.2. Role Responsibilities
#### 2.2.1. Executive Leadership Responsibilities
**Community Director:**
- Establish overall community vision and strategic objectives
- Make final decisions on significant policy changes and disciplinary matters
- Represent the community in external relationships and partnerships
- Ensure leadership team accountability and performance
- Oversee crisis management and emergency response coordination
**Deputy Director:**
- Support Community Director in strategic planning and implementation
- Lead specific initiatives and projects as assigned
- Serve as primary succession candidate for Community Director role
- Coordinate cross-functional leadership team activities
**Legal and Policy Advisor:**
- Oversee legal compliance across all community operations and policies
- Review and approve policy changes for legal and regulatory compliance
- Provide legal guidance to leadership team on governance matters
- Coordinate with external legal counsel when necessary
- Maintain awareness of relevant laws and regulations affecting community operations
#### 2.2.2. Operational Leadership Responsibilities
**Head Moderator:**
- Ensure consistent application of community standards across all platforms
- Train, support, and evaluate moderation team performance
- Develop and refine moderation procedures and best practices
- Handle escalated disciplinary matters and appeals coordination
- Maintain moderation transparency and accountability systems
**Community Managers:**
- Foster positive community culture and engagement
- Coordinate community activities, discussions, and initiatives
- Serve as primary liaison between community members and leadership
- Monitor community health and member satisfaction
- Implement community feedback and suggestion programmes
**Technical Manager:**
- Oversee daily technical operations including code reviews and issue triage
- Coordinate Technical Contributor team activities and project management
- Provide technical guidance and mentorship to Technical Contributors
- Serve as liaison between Technical Administrators and Technical Contributors
- Monitor technical project progress and ensure timely task completion
- Facilitate technical discussions and decision-making for community projects
**Technical Administrators:**
- Manage platform infrastructure, servers, and technical systems
- Implement security protocols and system monitoring
- Coordinate strategic technical planning and architecture decisions
- Oversee system upgrades, maintenance, and disaster recovery procedures
- Collaborate with Technical Manager on technical project prioritisation
- Ensure platform scalability and performance optimisation
#### 2.2.3. Specialist Leadership Responsibilities
**Accessibility Coordinator:**
- Develop and maintain accessibility standards and guidelines
- Provide consultation on inclusive design and accommodation needs
- Coordinate assistive technology support and resources
- Evaluate platform accessibility and recommend improvements
- Serve as primary contact for accessibility-related concerns and requests
**Crisis Response Coordinator:**
- Develop and maintain crisis response protocols and emergency procedures
- Coordinate mental health support and intervention services
- Lead crisis management teams during emergency situations
- Provide training on crisis recognition and de-escalation techniques
- Maintain relationships with external mental health and emergency services
- Oversee post-crisis community healing and support processes
**Events Coordinator:**
- Plan and organise community activities, events, and engagement programmes
- Coordinate with other leadership roles to ensure event alignment with community goals
- Manage event logistics, scheduling, and resource allocation
- Develop community engagement strategies to increase participation
- Evaluate event success and gather feedback for continuous improvement
- Maintain calendar of community activities and special initiatives
**Communications and Outreach Coordinator:**
- Manage external communications and public relations for the community
- Coordinate community newsletters, updates, and public announcements
- Oversee social media presence and community messaging consistency
- Facilitate communication between different community platforms and channels
- Manage partnerships and external relationship communications
- Develop and maintain community brand voice and messaging guidelines
- Coordinate crisis communications and public response strategies
**Training and Development Coordinator:**
- Develop and maintain comprehensive training curricula for all leadership roles
- Coordinate onboarding programmes for new leaders and community members
- Manage mentorship programme structure, matching, and effectiveness monitoring
- Oversee professional development opportunities and educational resources
- Ensure consistent training standards and quality across all programmes
- Coordinate with external training providers and professional development opportunities
- Evaluate training effectiveness and implement continuous improvements
**Partnership and Collaboration Coordinator:**
- Manage relationships with other communities, organisations, and external partners
- Coordinate collaborative projects and cross-community initiatives
- Oversee guest speaker programmes and external educational opportunities
- Manage sponsorship agreements and partnership development
- Facilitate inter-community events and collaborative activities
- Develop and maintain partnership agreements and memoranda of understanding
- Represent the community in external collaborative forums and networks
**Support Team Leader:**
- Oversee and coordinate all community support operations and team activities
- Train, support, and evaluate support team member performance and development
- Develop and maintain support procedures, standards, and best practices
- Monitor support quality metrics and member satisfaction with support services
- Handle escalated support issues and complex member concerns requiring leadership intervention
- Coordinate support team scheduling and coverage to ensure consistent availability
- Collaborate with other leadership roles to identify support needs and resource requirements
- Implement support team improvements and process optimisations based on feedback and analytics
- Serve as primary liaison between support team and executive/operational leadership
- Manage support team knowledge base and ensure consistent information sharing
**Community Growth Specialist:**
- Develop and implement comprehensive community growth strategies and member recruitment initiatives
- Analyse community growth metrics, member acquisition trends, and retention patterns
- Design and execute outreach campaigns to attract new members from target demographics
- Coordinate with Communications and Outreach Coordinator on growth-focused messaging and content
- Implement member retention programmes and initiatives to reduce community churn
- Identify and develop community growth opportunities through partnerships and collaborations
- Monitor and optimise member onboarding processes to improve new member experience and retention
- Conduct market research and competitive analysis to identify growth opportunities
- Create and manage referral programmes and member advocacy initiatives
- Track and report on key growth metrics including member acquisition, retention, and lifetime value
- Collaborate with Events Coordinator to design growth-focused community activities and engagement programmes
#### 2.2.4. Volunteer Leadership Responsibilities
**Moderators:**
- Enforce community standards and guidelines consistently across platforms
- Respond to reports and complaints from community members
- Document moderation actions and maintain accurate records
- Escalate complex issues to Head Moderator or appropriate leadership
- Provide initial support and guidance to community members
- Participate in ongoing moderation training and development programmes
**Mentors:**
- Provide guidance and support to new community members
- Facilitate peer support programmes and buddy systems
- Offer one-on-one mentorship relationships as needed
- Coordinate new member orientation and onboarding processes
- Share expertise and knowledge to support member growth and development
- Collaborate with Community Managers to identify members needing additional support
**Subject Matter Experts:**
- Provide specialised knowledge and expertise in designated areas
- Create educational content and resources for community members
- Offer technical support and guidance within their areas of expertise
- Lead workshops, discussions, and educational initiatives
- Serve as consultants to leadership team on specialised topics
- Mentor other community members in developing specialised skills
**Technical Contributors:**
- Contribute to development and maintenance of community platforms and tools
- Participate in code reviews and collaborative development processes
- Implement features and fixes under Technical Manager guidance
- Document technical work and maintain code quality standards
- Support technical troubleshooting and issue resolution
- Collaborate with Technical Administrators and Technical Manager on project priorities
**Quality Assurance Coordinator:**
- Test community platforms and tools for bugs, usability issues, and performance problems
- Coordinate documentation reviews and updates to ensure accuracy and completeness
- Manage feedback collection and analysis processes for continuous improvement
- Oversee accessibility testing and compliance verification across all platforms
- Ensure consistency and quality across community resources and materials
- Develop and maintain quality assurance standards and testing procedures
- Collaborate with Technical Contributors and Technical Administrators on issue resolution
**Data and Analytics Coordinator:**
- Collect and analyse community engagement metrics and participation data
- Prepare regular reports on community health, growth trends, and member satisfaction
- Manage community surveys and feedback analysis for leadership decision-making
- Support leadership team with data insights and trend identification
- Maintain privacy-compliant data collection and analysis practices
- Develop dashboards and visualisation tools for community metrics monitoring
- Coordinate with other leadership roles to identify key performance indicators and success metrics
#### 2.2.5. Support Team Responsibilities
**Community Support Specialists:**
- Provide general assistance and guidance to community members with questions and concerns
- Handle initial intake and triage of member support requests and issues
- Assist members with platform navigation, account issues, and general community participation
- Escalate complex issues to appropriate leadership roles or specialists
- Maintain detailed records of support interactions and common issue patterns
- Collaborate with other support team members to ensure consistent service quality
- Participate in support team training and knowledge sharing initiatives
**Technical Support Representatives:**
- Provide technical assistance to community members experiencing platform or tool issues
- Troubleshoot and resolve common technical problems with community systems
- Create and maintain technical support documentation and troubleshooting guides
- Coordinate with Technical Contributors and Technical Administrators on complex technical issues
- Monitor technical support channels and respond to member technical questions
- Identify recurring technical problems and recommend system improvements
- Assist members with accessibility tools and assistive technology integration
**Content Support Coordinators:**
- Assist community members with content creation, formatting, and publishing
- Provide guidance on community content guidelines and best practices
- Help members optimise their contributions for accessibility and engagement
- Coordinate with Subject Matter Experts to ensure content accuracy and quality
- Manage content creation resources, templates, and style guides
- Support community content initiatives and collaborative projects
- Monitor content quality and provide constructive feedback to contributors
**Member Relations Specialists:**
- Facilitate new member onboarding and integration into community culture
- Serve as primary point of contact for member concerns and relationship issues
- Coordinate welcome programmes and new member orientation activities
- Monitor member satisfaction and engagement levels across the community
- Mediate minor conflicts and facilitate communication between members
- Collect member feedback and suggestions for community improvements
- Maintain positive relationships and foster sense of belonging amongst community members
**Documentation Support Technicians:**
- Maintain accuracy and currency of all community documentation and resources
- Update policy documents, guides, and informational materials as needed
- Coordinate documentation reviews and ensure consistency across all materials
- Assist with translation and localization of documentation for diverse audiences
- Create and update visual aids, diagrams, and multimedia support materials
- Collaborate with leadership roles to document new processes and procedures
- Ensure documentation accessibility and usability for all community members
## 3. Selection and Appointment Processes
### 3.1. Leadership Selection Criteria
All community leaders must demonstrate:
#### 3.1.1. Essential Qualifications
- **Community Standing**: Minimum six (6) months of positive community participation
- **Conduct Record**: Clean disciplinary record with no serious violations
- **Skills Demonstration**: Relevant competencies for the specific leadership role
- **Commitment Availability**: Adequate time and energy to fulfil role responsibilities
- **Values Alignment**: Strong commitment to community principles and inclusive practices
#### 3.1.2. Preferred Qualifications
- **Prior Leadership Experience**: Previous volunteer or professional leadership roles
- **Specialised Knowledge**: Relevant expertise in moderation, community management, or technical areas
- **Mentorship Capability**: Demonstrated ability to guide and support other community members
- **Crisis Management Experience**: Skills in conflict resolution and emergency response
### 3.2. Selection Processes
#### 3.2.1. Application and Nomination Process
**Open Applications:**
- Leadership positions are posted publicly with clear role descriptions and requirements
- Applications are evergreen and may be found at https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4
- Community members may self-nominate or nominate others with consent
- Applications include personal statements, relevant experience, and community references
**Community Input Phase:**
- Public comment periods allow community feedback on candidates
- Anonymous feedback mechanisms protect community members from potential retaliation
- Existing leadership team provides assessments of candidate suitability
- Transparent scoring rubrics ensure fair and consistent evaluation
#### 3.2.2. Interview and Assessment Process
**Structured Interviews:**
- All candidates participate in structured interviews with existing leadership
- Scenario-based questions assess decision-making capabilities and values alignment
- Technical competency assessments for roles requiring specialised skills
- Cultural fit evaluation ensures compatibility with community values and practices
**Community Engagement Assessment:**
- Candidates demonstrate understanding of community needs and priorities
- Problem-solving scenarios test practical leadership capabilities
- Ethical decision-making assessments ensure integrity and sound judgement
- Commitment verification confirms availability and dedication to the role
### 3.3. Appointment and Transition
#### 3.3.1. Final Selection and Announcement
**Decision Making:**
- Selection committees include diverse representation from existing leadership
- Decisions are made through consensus-building processes when possible
- Final appointments require approval from Executive Leadership
- Community announcement includes rationale for selection and role expectations
**Transition Planning:**
- New leaders receive comprehensive orientation and training programmes
- Mentorship partnerships with experienced leaders provide ongoing support
- Progressive responsibility increases ensure successful role adaptation
- Regular check-ins during transition period assess progress and provide assistance
## 4. Leadership Accountability and Oversight
### 4.1. Performance Standards and Expectations
#### 4.1.1. Ongoing Performance Metrics
All community leaders are evaluated on:
**Community Impact Measures:**
- Member satisfaction with leadership support and responsiveness
- Community health indicators including participation rates and member retention
- Conflict resolution effectiveness and community harmony metrics
- Accessibility and inclusivity improvements and implementation
**Individual Performance Standards:**
- Adherence to community values and ethical standards
- Responsiveness to community needs and concerns
- Professional development and skills enhancement
- Collaboration effectiveness with other leadership team members
#### 4.1.2. Regular Review Processes
**Quarterly Performance Reviews:**
- Structured feedback sessions with direct supervisors or peer review panels
- Community feedback collection through anonymous surveys and input forms
- Goal-setting for upcoming quarter with specific, measurable objectives
- Professional development planning and resource allocation
**Annual Comprehensive Assessments:**
- 360-degree feedback including community members, peers, and supervisors
- Achievement evaluation against annual goals and community impact metrics
- Leadership development planning and career progression discussions
- Reappointment decisions based on performance and community needs
### 4.2. Community Feedback and Input Mechanisms
#### 4.2.1. Regular Feedback Channels
**Monthly Community Forums:**
- Open forums where community members can directly engage with leadership
- Structured question and answer sessions on community concerns and priorities
- Anonymous submission options for sensitive feedback or concerns
- Public response commitments with timeline expectations for issue resolution
**Leadership Accessibility Programs:**
- Regular "office hours" where leaders are available for individual community member concerns
- Dedicated communication channels for leadership feedback and suggestions
- Community liaison positions to facilitate communication between members and leadership
- Transparent communication about leadership decisions and their rationales
#### 4.2.2. Formal Accountability Processes
**Community Confidence Measures:**
- Annual community confidence surveys to assess leadership effectiveness
- No-confidence vote procedures for community members to request leadership changes
- Transparent reporting of community feedback themes and leadership responses
- Regular town hall meetings for community-wide discussion of governance issues
### 4.3. Leadership Standards Enforcement
#### 4.3.1. Misconduct Investigation Procedures
When concerns about leadership conduct arise:
**Initial Assessment:**
- Formal complaint procedures with clear submission guidelines and protection for complainants
- Independent investigation teams to avoid conflicts of interest
- Transparent timelines and process communication to maintain community trust
- Interim protective measures when necessary to ensure community safety
**Investigation Process:**
- Comprehensive evidence collection including witness statements and documentation
- Fair hearing procedures with opportunity for accused leaders to respond
- Independent review panels including community member representation
- Clear standards of evidence and burden of proof requirements
#### 4.3.2. Disciplinary Measures and Consequences
**Progressive Disciplinary System:**
- Formal warnings with clear performance improvement expectations
- Temporary suspension from leadership duties pending improvement demonstration
- Role restriction or reassignment to positions with appropriate oversight
- Removal from leadership positions with detailed rationale provided to community
**Community Protection Measures:**
- Immediate removal authority for leaders who pose risks to community safety
- Public disclosure requirements for serious misconduct to maintain community trust
- Appeals processes for leaders facing disciplinary action
- Community healing and repair processes following leadership misconduct incidents
## 5. Leadership Development and Support
### 5.1. Training and Professional Development
#### 5.1.1. Mandatory Training Programs
All community leaders must complete:
**Foundation Training:**
- Community values, mission, and strategic objectives orientation
- Legal and policy framework comprehensive training
- Conflict resolution and mediation skills development
- Accessibility and inclusive practices certification
**Comprehensive Training Document Review**: All staff members must review and acknowledge completion of ALL training documents and materials, including those that may not appear directly relevant to their specific role, to ensure comprehensive understanding of community standards and cross-functional awareness
**Role-Specific Training:**
- Moderation techniques and tools for moderation team members
- Crisis intervention and mental health first aid for support roles
- Technical administration and security for technical leadership
- Event planning and community engagement for activities coordinators
#### 5.1.2. Ongoing Development Opportunities
**Skill Enhancement Programs:**
- Leadership coaching and mentorship opportunities
- External training and conference attendance support
- Cross-functional experience and role shadowing programmes
- Community management and governance best practices workshops
**Personal Development Support:**
- Stress management and burnout prevention resources
- Communication skills development and public speaking training
- Cultural competency and diversity, equity, inclusion education
- Technology skills and platform administration training
### 5.2. Leadership Support Systems
#### 5.2.1. Peer Support Networks
**Leadership Team Collaboration:**
- Regular leadership team meetings for coordination and mutual support
- Peer mentoring partnerships for experience sharing and guidance
- Cross-training programmes to ensure coverage and capability development
- Team-building activities and relationship-strengthening initiatives
**External Professional Networks:**
- Participation in community management professional organisations
- Networking opportunities with other community leadership teams
- Industry conference attendance and professional development events
- Access to external coaching and consultation resources
#### 5.2.2. Wellness and Burnout Prevention
**Workload Management:**
- Clear role boundaries and expectation setting to prevent overextension
- Regular workload assessment and redistribution when necessary
- Mandatory rest periods and vacation time for volunteer leaders
- Recognition and appreciation programmes to maintain motivation and satisfaction
**Mental Health Support:**
- Peer support groups for leadership stress and challenge management
- Regular wellness check-ins and proactive intervention when needed
- Flexible role arrangements to accommodate personal circumstances
## 6. Succession Planning and Continuity
### 6.1. Leadership Succession Framework
#### 6.1.1. Planned Succession Processes
**Leadership Pipeline Development:**
- Identification and mentorship of potential future leaders
- Progressive responsibility assignments to prepare succession candidates
- Cross-training programmes to ensure multiple qualified candidates for key roles
- Regular succession planning reviews and candidate development assessment
**Transition Management:**
- Comprehensive handover procedures for departing leaders
- Knowledge transfer protocols to maintain institutional memory
- Interim leadership arrangements during transition periods
- Community communication strategies for leadership changes
#### 6.1.2. Emergency Succession Procedures
**Crisis Leadership Arrangements:**
- Predefined emergency succession chains for critical leadership roles
- Emergency decision-making authority delegation procedures
- Rapid response team formation for crisis management
- Community communication protocols for emergency leadership changes
### 6.2. Knowledge Management and Institutional Memory
#### 6.2.1. Documentation and Record-Keeping
**Leadership Knowledge Base:**
- Comprehensive documentation of policies, procedures, and decision-making rationales
- Historical record-keeping of significant community events and leadership decisions
- Best practices documentation and lessons learned compilation
- Regular updates and maintenance of institutional knowledge resources
**Training Materials and Resources:**
- Standardised training curricula for new leaders
- Decision-making frameworks and guidance documents
- Community history and cultural context documentation
- Technical procedures and platform administration guides
## 7. Community Transparency and Communication
### 7.1. Transparency Requirements
#### 7.1.1. Public Reporting and Disclosure
**Regular Community Updates:**
- Monthly leadership reports on community health, activities, and initiatives
- Quarterly transparency reports including disciplinary action summaries and community metrics
- Annual comprehensive reviews of community progress and leadership effectiveness
- Public disclosure of significant policy changes and their rationales
**Decision-Making Transparency:**
- Public documentation of major leadership decisions and their reasoning
- Community consultation processes for significant changes affecting members
- Open meeting minutes and records for community leadership discussions
- Clear communication of appeals processes and outcomes
#### 7.1.2. Community Engagement and Input
**Participatory Governance:**
- Regular community surveys to assess satisfaction and gather input on priorities
- Public comment periods for proposed policy changes and community initiatives
- Community advisory panels with rotating membership
- Open forums for community concerns and suggestions
## 8. Policy Implementation and Review
### 8.2. Regular Review and Updates
#### 8.2.1. Policy Review Schedule
**Annual Reviews:**
- Comprehensive policy effectiveness assessment
- Community feedback integration and policy refinement
- Best practices research and external benchmarking
- Leadership team input and improvement recommendations
**Continuous Improvement:**
- Quarterly review of policy implementation and effectiveness
- Community feedback integration and responsive policy adjustments
- Regular benchmarking against community management best practices
- Ongoing legal and regulatory compliance verification
### 8.2. Amendment Procedures
#### 8.2.1. Policy Change Process
**Community Input Requirements:**
- Minimum thirty (30) day public comment period for significant policy changes
- Community advisory panel review and recommendation processes
- Leadership team consensus-building and impact assessment
- Legal and policy compliance verification before implementation
**Implementation and Communication:**
- Clear communication of policy changes
- Training updates for all leadership team members
- Community education and awareness programmes for new requirements
- Regular monitoring of policy effectiveness and community impact
---
## Acknowledgement and Compliance
By accepting leadership roles within our community, all leaders explicitly acknowledge that they have read, understood, and agreed to comply with this Community Leadership and Governance Policy in its entirety. This commitment includes ongoing adherence to all accountability measures, transparency requirements, and community service obligations outlined herein.
This Policy represents our collective commitment to maintaining excellent leadership standards that serve our community's mission of fostering a safe, welcoming, and inclusive environment for all members.
---
_This Community Leadership and Governance Policy provides comprehensive information about leadership and governance. For questions about this Policy or to provide feedback on leadership performance, please contact our Community Leaders through the designated channels outlined in our Community Code of Conduct._
+442
View File
@@ -0,0 +1,442 @@
---
title: Community Recognition and Appreciation Policy
---
## 1. Foundation and Philosophy
### 1.1. Introduction and Purpose
This Community Recognition and Appreciation Policy (hereinafter referred to as "the Policy") establishes our comprehensive framework for acknowledging, celebrating, and appreciating the diverse contributions of community members. This Policy recognises that fostering a truly welcoming and inclusive environment requires intentional appreciation of member efforts, celebration of diverse talents and contributions, and creation of meaningful recognition systems that motivate continued positive engagement.
### 1.2. Core Principles
Our recognition and appreciation approach is founded upon:
**(a)** **Inclusive Recognition**: Celebrating diverse types of contributions and varying levels of participation;
**(b)** **Authentic Appreciation**: Genuine, specific, and meaningful acknowledgement of member efforts;
**(c)** **Equitable Access**: Recognition opportunities available to all community members regardless of background or status;
**(d)** **Cultural Sensitivity**: Recognition practices that respect diverse cultural approaches to appreciation and celebration;
**(e)** **Sustainable Systems**: Long-term recognition programmes that maintain motivation and community engagement;
**(f)** **Community-Driven Values**: Recognition that reinforces positive community culture and shared values.
### 1.3. Recognition Philosophy
We believe that every community member contributes value in unique ways, and our recognition systems are designed to:
- Acknowledge contributions both large and small
- Celebrate effort and growth as well as achievement
- Promote inclusive participation and diverse engagement styles
- Build community connections and mutual appreciation
- Encourage continued positive contribution and community involvement
### 1.4. Legal Framework Integration
This Policy operates within our comprehensive legal and policy framework, including our Terms of Service, Privacy Policy, Community Code of Conduct, and Community Leadership and Governance Policy, all of which are incorporated herein by reference.
## 2. Recognition Categories and Programs
### 2.1. Regular Recognition Programmes
#### 2.1.1. Daily Appreciation Initiatives
**Community Gratitude Practices:**
- Daily appreciation messages highlighting specific member contributions
- "Spotlight Saturday" featuring different community members and their positive impact
- Peer appreciation systems allowing members to acknowledge each other's contributions
- Weekly gratitude threads celebrating community achievements and member efforts
**Micro-Recognition Systems:**
- Thank-you reactions and appreciation emojis for helpful contributions
- Positive feedback highlighting specific instances of community support
- Recognition of members who provide assistance, answer questions, or offer guidance
- Acknowledgement of members who demonstrate inclusive and welcoming behaviour
#### 2.1.2. Recognition Programmes
**Member Recognition Awards:**
- Recognition for outstanding community contribution and positive impact
- Focus on different types of contributions (helping others, creative contributions, community building)
- Nominated by community members and selected by leadership team
- Featured spotlight with member interview and contribution celebration
**Contribution Category Awards:**
- **Helper Award**: Members who consistently provide support and assistance to others
- **Mentor Award**: Members who guide and support newcomers or less experienced community members
- **Innovator Award**: Members who bring creative ideas, solutions, or new perspectives
- **Inclusivity Champion**: Members who actively promote inclusive practices and welcoming environments
### 2.2. Special Recognition Programmes
#### 2.2.1. Achievement Awards
**Excellence in Community Building:**
- Outstanding Community Leader Award for members who demonstrate exceptional leadership qualities
- Community Catalyst Award for members who inspire positive change and growth
- Diversity and Inclusion Champion Award for members who actively promote inclusive practices
- Lifetime Achievement Award for long-term contributors who have significantly shaped community culture
**Special Category Recognition:**
- **Rising Star Award**: Newer members who have made significant positive impact
- **Comeback Achievement**: Members who have overcome challenges and returned to positive participation
- **Behind-the-Scenes Hero**: Members who contribute significantly in less visible but essential ways
- **Community Bridge Builder**: Members who facilitate connections and resolve conflicts constructively
#### 2.2.2. Milestone Celebration Programs
**Participation Milestone Recognition:**
- Anniversary celebrations for community membership milestones (1 year, 2 years, 5 years)
- Growth milestone celebrations acknowledging member development and learning
- Community service milestone recognition for volunteer contributions and leadership
**Community Achievement Celebrations:**
- Community growth milestones (membership numbers, activity levels, positive outcomes)
- Collective achievement celebrations (successful events, community projects, positive changes)
- Anniversary celebrations of significant community moments and developments
- Recognition of community resilience and positive responses to challenges
## 3. Nomination and Selection Processes
:::tip
Nomination form can be found at https://forms.nhcarrigan.com/o/docs/forms/to2oFocVgALyr23EC84xM9/4
:::
### 3.1. Community-Driven Nomination Systems
#### 3.1.1. Peer Nomination Processes
**Open Nomination Process:**
- Continuous nomination system allowing any community member to nominate others at any time
- Anonymous nomination options to encourage participation without social pressure
- Self-nomination opportunities for members to highlight their own contributions
- Group nomination options for collaborative projects and team achievements
**Nomination Criteria and Guidelines:**
- Specific, detailed descriptions of contributions and positive impact
- Examples of how nominees demonstrate community values and inclusive practices
- Focus on effort, growth, and positive community impact rather than just results
- Consideration of diverse contribution types and varying participation styles
#### 3.1.2. Selection and Review Processes
**Diverse Selection Committees:**
- Rotating committee membership ensuring diverse perspectives and fair evaluation
- Include community members from different backgrounds, experience levels, and community areas
- Balance of leadership team members and community volunteers in selection processes
- Training for selection committee members on bias awareness and inclusive evaluation
**Fair and Transparent Evaluation:**
- Clear evaluation criteria shared publicly and applied consistently
- Anonymous evaluation processes to reduce bias and ensure fair consideration
- Multiple reviewer assessment system for important recognition decisions
- Continuous review of nominations by selection committee with awards issued upon approval
- Regular review of selection processes to ensure equity and effectiveness
### 3.2. Recognition Frequency and Distribution
#### 3.2.1. Balanced Recognition Distribution
**Inclusive Recognition Practices:**
- Ensure recognition reaches members from all community areas and participation styles
- Actively seek out and acknowledge contributions from less visible community members
- Balance recognition between new members and long-term contributors
- Promote recognition of diverse types of contributions and community involvement
**Geographic and Cultural Inclusion:**
- Recognition that considers different time zones and participation patterns
- Cultural sensitivity in recognition practices and celebration methods
- Accessibility considerations in recognition events and appreciation activities
- Language and communication accessibility in recognition announcements and celebrations
## 4. Types of Contributions Valued
### 4.1. Direct Community Contributions
#### 4.1.1. Active Participation and Engagement
**Discussion and Content Contributions:**
- Thoughtful questions that promote community learning and engagement
- Helpful responses and information sharing that assists other community members
- Creative contributions including original content, resources, and educational materials
- Constructive feedback and suggestions that improve community experience
**Community Support Activities:**
- Welcoming new members and helping them integrate into community culture
- Providing technical assistance and platform navigation support
- Mentoring and guidance for less experienced community members
- Conflict resolution assistance and constructive mediation efforts
#### 4.1.2. Leadership and Initiative
**Volunteer Leadership Roles:**
- Moderation activities and community standards enforcement
- Event planning and community activity organisation
- Educational initiative development and implementation
- Policy development input and community improvement suggestions
**Innovation and Problem-Solving:**
- Creative solutions to community challenges and improvement opportunities
- New programme or initiative development and implementation
- Technology improvements and platform enhancement contributions
- Process improvements that enhance community experience and accessibility
### 4.2. Indirect and Supporting Contributions
#### 4.2.1. Community Culture Building
**Positive Environment Creation:**
- Consistent demonstration of inclusive and welcoming behaviour
- Cultural bridge-building between different community groups and perspectives
- Emotional support and encouragement for community members during difficult times
- Celebration of other members' achievements and positive contribution acknowledgement
**Values Demonstration and Modeling:**
- Exemplary adherence to community standards and positive behaviour modelling
- Advocacy for inclusive practices and accessibility improvements
- Support for marginalised community members and inclusive representation
- Constructive engagement with community policies and improvement processes
#### 4.2.2. Behind-the-Scenes Contributions
**Administrative and Organisational Support:**
- Documentation improvement and resource organisation activities
- Research and information gathering for community benefit
- Quality assurance and error reporting for community resources and platforms
- Accessibility testing and improvement suggestions for community tools
**Community Maintenance Activities:**
- Content curation and organisation for community resources
- Link checking, information updates, and resource maintenance
- Translation services and language accessibility improvements
- Community data collection and analysis for improvement purposes
## 5. Recognition Methods and Formats
### 5.1. Public Recognition and Celebration
#### 5.1.1. Community Announcements and Features
**Regular Recognition Announcements:**
- Regular appreciation announcements highlighting specific member contributions
- Feature articles celebrating member achievements and community impact
- Recognition ceremony events with community-wide celebration
- Special milestone announcements for significant member achievements
**Profile and Achievement Highlighting:**
- Member spotlight features with interviews and contribution celebration
- Achievement badges and recognition symbols displayed on member profiles
- "Wall of Fame" or recognition gallery featuring outstanding contributors
- Newsletter features and external communication highlighting member achievements
#### 5.1.2. Community Events and Celebrations
**Recognition Ceremony Events:**
- Awards ceremonies with community-wide attendance and celebration
- Appreciation events featuring award presentations and community gathering
- Special milestone celebration events for significant community achievements
- Recognition reception events providing networking and appreciation opportunities
**Interactive Celebration Activities:**
- Community appreciation events with member participation and engagement
- Recognition games and activities that celebrate diverse contributions
- Peer appreciation sessions where members can acknowledge each other's contributions
- Storytelling events where members share impact stories and appreciation experiences
### 5.2. Private and Personal Recognition
#### 5.2.1. Individual Appreciation Communications
**Personal Recognition Messages:**
- Direct appreciation messages from community leadership acknowledging specific contributions
- Personalized thank-you notes for exceptional community service and positive impact
- One-on-one appreciation conversations recognising member efforts and growth
- Private acknowledgement of sensitive contributions that require confidential appreciation
**Tailored Recognition Approaches:**
- Recognition methods adapted to individual preferences and comfort levels
- Cultural considerations in recognition style and appreciation expressions
- Accessibility accommodations in recognition delivery and participation
- Personal achievement celebration that respects individual privacy preferences
## 6. Accessibility and Inclusion in Recognition
### 6.1. Universal Design Recognition Systems
#### 6.1.1. Accessible Recognition Participation
**Inclusive Nomination Processes:**
- Multiple nomination methods accommodating different communication preferences and abilities
- Anonymous nomination options for members who prefer not to be publicly associated with nominations
- Alternative format nominations including audio, video, or alternative text submissions
- Language translation support for nominations submitted in languages other than English
**Accessible Recognition Events:**
- Recognition events planned with accessibility considerations including mobility, sensory, and cognitive accessibility
- Multiple participation formats (in-person, virtual, asynchronous) to accommodate different needs and preferences
- Clear communication about accessibility features and accommodation availability
- Alternative participation methods for members unable to attend live recognition events
#### 6.1.2. Diverse Recognition Styles
**Cultural Sensitivity in Recognition:**
- Recognition practices that respect diverse cultural approaches to appreciation and celebration
- Multiple celebration styles accommodating different comfort levels with public recognition
- Individual preference accommodation for recognition style and publicity level
- Culturally appropriate celebration methods that honour diverse community member backgrounds
**Neurodiversity Considerations:**
- Recognition systems that accommodate different social and sensory preferences
- Alternative recognition methods for members who may find traditional recognition formats challenging
- Clear communication about recognition expectations and optional participation levels
- Flexible recognition formats that allow members to engage in ways that work best for them
### 6.2. Equity in Recognition Distribution
#### 6.2.1. Bias Awareness and Prevention
**Systematic Bias Prevention:**
- Regular analysis of recognition distribution patterns to identify and address potential bias
- Training for recognition committee members on unconscious bias recognition and prevention
- Diverse perspectives inclusion in recognition decision-making processes
- Transparent recognition criteria that promote equity and inclusive evaluation
**Inclusive Recognition Criteria:**
- Recognition criteria that value diverse types of contributions and participation styles
- Appreciation for growth and effort rather than only final achievements or outcomes
- Recognition of contributions that may be less visible but equally valuable to community health
- Consideration of different life circumstances and availability levels in recognition evaluation
#### 6.2.2. Representative Recognition Outcomes
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
**Demographic Equity Monitoring:**
- Regular assessment of recognition distribution across different community demographic groups
- Proactive outreach to ensure recognition opportunities reach all community segments
- Special recognition categories that highlight contributions from underrepresented community members
- Community feedback collection on recognition equity and inclusive representation
## 7. Volunteer Appreciation and Support
### 7.1. Leadership and Staff Recognition
#### 7.1.1. Volunteer Appreciation Programs
**Regular Volunteer Recognition:**
- Volunteer appreciation events with special recognition for leadership contributions
- Volunteer appreciation celebrations acknowledging the significant time and effort invested
- Volunteer milestone recognition for length of service and depth of contribution
- Public acknowledgement of volunteer efforts and their positive impact on community experience
**Professional Development and Growth Support:**
- Training and skill development opportunities for volunteers as appreciation for their service
- Leadership development programmes and advancement opportunities within community structure
- Professional reference and recommendation support for volunteers seeking career opportunities
- Networking opportunities and community connections that benefit volunteer development
#### 7.1.2. Volunteer Wellness and Burnout Prevention
**Volunteer Support Systems:**
- Regular check-ins with volunteers to assess satisfaction, challenges, and support needs
- Burnout prevention resources and workload management support
- Flexible volunteer arrangements accommodating changing life circumstances and availability
- Peer support networks connecting volunteers for mutual encouragement and assistance
**Recognition of Volunteer Limits and Boundaries:**
- Appreciation for volunteer contributions without creating pressure for continued overextension
- Support for volunteers who need to reduce involvement or take breaks from community service
- Recognition that volunteer contributions are gifts to the community rather than obligations
- Celebration of volunteers' other life priorities and achievements outside of community service
## 8. Community Feedback and Recognition Evolution
### 8.1. Community Input on Recognition Programmes
#### 8.1.1. Regular Feedback Collection
**Recognition Programme Evaluation:**
- Annual surveys collecting community feedback on recognition programme effectiveness and satisfaction
- Focus groups with community members who have received recognition to assess programme impact
- Input collection from community members who have not received recognition to identify barriers and improvements
- Regular assessment of recognition programme accessibility and inclusive representation
**Continuous Improvement Integration:**
- Community suggestion processes for recognition programme enhancement and new recognition categories
- Responsive programme modification based on community feedback and changing needs
- Transparent communication about recognition programme changes and improvement rationales
- Community involvement in recognition programme planning and development processes
### 8.2. Recognition Programme Evolution and Innovation
#### 8.2.1. Adaptive Recognition Systems
**Emerging Recognition Opportunities:**
- Regular evaluation of community needs and new types of contributions that merit recognition
- Innovation in recognition methods and celebration formats to maintain engagement and relevance
- Technology integration to enhance recognition accessibility and community participation
- Partnership development with external organisations to expand recognition opportunities and resources
**Long-Term Program Sustainability:**
- Planning for recognition programme continuity during leadership transitions and community growth
- Resource allocation and volunteer development to support ongoing recognition activities
- Documentation and knowledge preservation to maintain recognition programme quality and consistency
- Strategic planning for recognition programme expansion and enhancement as community evolves
## 9. Policy Implementation and Review
### 9.1. Regular Review and Enhancement
#### 9.1.1. Continuous Improvement Process
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
**Monthly Program Assessment:**
- Recognition programme effectiveness evaluation and participant satisfaction assessment
- Recognition distribution analysis to ensure equity and inclusive representation
- Community feedback integration and programme adjustment based on member input
- Volunteer appreciation programme evaluation and enhancement planning
**Annual Comprehensive Review:**
- Community-wide recognition programme impact assessment and satisfaction evaluation
- Recognition criteria and selection process review for effectiveness and fairness
- Accessibility and inclusion evaluation with improvement planning and implementation
- Strategic planning for recognition programme expansion and innovation
### 9.2. Community Celebration and Recognition Culture
#### 9.2.1. Culture Development and Reinforcement
**Recognition Culture Promotion:**
- Community education about the importance and impact of appreciation and recognition
- Peer-to-peer recognition encouragement and facilitation
- Leadership modelling of appreciation and recognition practices
- Integration of recognition and appreciation into regular community activities and interactions
**Long-Term Community Impact:**
- Recognition programme contribution to overall community health and member satisfaction
- Appreciation culture development and maintenance as community grows and evolves
- Recognition programme role in member retention and continued positive community engagement
- Community reputation enhancement through recognition of excellence and positive contribution
---
## Community Commitment to Appreciation
This Community Recognition and Appreciation Policy represents our deep commitment to acknowledging, celebrating, and appreciating every community member's unique contributions and positive impact. We believe that genuine appreciation and meaningful recognition are essential components of creating truly welcoming and inclusive environments where all members can thrive.
Through this Policy, we pledge to maintain systems that celebrate diverse contributions, provide equitable recognition opportunities, and foster a culture of mutual appreciation that strengthens our community bonds and encourages continued positive engagement.
---
*This Community Recognition and Appreciation Policy provides comprehensive information about recognition programmes. For questions about recognition programmes or to nominate community members for appreciation, please contact our Community Leaders through the designated channels outlined in our Community Code of Conduct.*
+161 -147
View File
@@ -2,13 +2,21 @@
title: Contributing Documentation
---
## 1. Scope and General Contribution Guidelines
**ESTABLISHING CONTRIBUTION GUIDELINES AND REQUIREMENTS FOR ALL PROJECTS**
### 1.1 Overview
## 1. INTRODUCTION AND LEGAL FRAMEWORK
This document outlines the general guidelines for contributing to our projects. It serves as a high-level framework for all contributors, whether you're submitting code, documentation, or other forms of contribution.
### 1.1. Policy Overview
### 1.2 Project-Specific Instructions
This Contributing Documentation (hereinafter referred to as "the Guidelines") establishes mandatory guidelines, procedures, and requirements for all contributions to projects maintained by our organisation. These Guidelines operate within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Contributor Covenant, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
These Guidelines apply to all forms of contribution, including but not limited to code, documentation, artwork, design, and other materials submitted to any project maintained by our organisation. All contributors, regardless of status or experience level, are required to comply with these Guidelines.
**IMPORTANT: Failure to comply with these Guidelines may result in rejection of contributions, requests for modification, or other appropriate actions as determined by project maintainers.**
### 1.3. Project-Specific Instructions
While these guidelines apply broadly, individual projects may have unique requirements or processes. Always refer to the specific project's documentation for:
@@ -20,151 +28,118 @@ While these guidelines apply broadly, individual projects may have unique requir
In case of any discrepancy between this document and project-specific guidelines, the project-specific instructions take precedence.
### 1.3 Commit Signing Requirements
### 1.4. Commit Signing Requirements
All commits must be cryptographically signed using either GPG or SSH. This requirement serves to verify the authenticity and integrity of your contributions.
- For GPG signing, ensure your GPG key is associated with your GitHub or Codeberg account.
- For SSH signing, use a key linked to your GitHub or Codeberg account.
- For GPG signing, ensure your GPG key is associated with your Github or NHCarrigan Git account.
- For SSH signing, use a key linked to your Github or NHCarrigan Git account.
By signing your commit, you are certifying that:
- The commit adheres to our [Contributor Covenant](/covenant.md)
- The commit adheres to our [Contributor Covenant](/dev/covenant)
- You have the right to submit the contribution under our project license.
- You understand and agree to our contribution terms.
### 1.4 Contributor Covenant
### 1.5. Contributor Covenant
All contributors are expected to adhere to our Contributor Covenant. The full text of the Contributor Covenant can be found in [its own document](/covenant.md).
All contributors are expected to adhere to our Contributor Covenant. The full text of the Contributor Covenant can be found in [its own document](/dev/covenant).
### 1.5 Licensing of Contributions
### 1.6. Licensing of Contributions
All contributions to our projects, including but not limited to code, documentation, artwork, and other materials, will be licensed under our global software license. By submitting a contribution, you are agreeing to license your work under the terms of this license.
All contributions to our projects, including but not limited to code, documentation, artwork, and other materials, will be licensed under our global software licence. By submitting a contribution, you are agreeing to license your work under the terms of this license.
- Our global software license: Naomi's Public License
- Full text of the license: https://docs.nhcarrigan.com/#/license
- Our global software licence: Naomi's Public Licence
- Full text of the license: [License Page](/legal/license)
### 1.6 Intellectual Property
### 1.7. Intellectual Property
By contributing to our projects, you affirm that:
- You own the copyright to your contribution or have authorization from the copyright owner to submit it under our license.
- You own the copyright to your contribution or have authorisation from the copyright owner to submit it under our license.
- Your contribution does not infringe on any third-party intellectual property rights.
- You grant us a perpetual, worldwide, non-exclusive, royalty-free license to use, modify, and distribute your contribution.
### 1.7 Legal Compliance
### 1.8. Legal Compliance
Ensure all contributions comply with relevant laws and regulations, including export controls and data protection laws.
### 1.8 Acceptance of Contributions
### 1.9. Acceptance of Contributions
While we appreciate all contributions, we reserve the right to reject any contribution that doesn't meet our standards or align with our project goals. The project maintainers have final say on the inclusion of any contribution.
## 2. Secrets Management
## 2. SECRETS MANAGEMENT
### 2.1 Overview
### 2.1. Overview
Proper management of secrets is crucial for maintaining the security and integrity of our projects. We use 1Password as our centralized secrets management solution. This section outlines our policies and procedures for handling secrets.
Proper management of secrets is crucial for maintaining the security and integrity of our projects. We use 1Password as our centralised secrets management solution. This section outlines our policies and procedures for handling secrets.
### 2.2 General Policy
### 2.2. General Policy
- Plain-text secrets should never be stored on personal machines, development environments, or our servers.
- All secrets should be stored and managed through 1Password.
### 2.3 1Password Setup and Usage
### 2.3. 1Password Setup and Usage
To work with secrets locally, you must set up the 1Password CLI (Command Line Interface) and integrate it with your 1Password desktop application.
#### 2.3.1 Setup Instructions
#### 2.3.1. Setup Instructions
- Install the 1Password desktop application if you haven't already.
- Install the 1Password CLI. Instructions can be found at: https://developer.1password.com/docs/cli/get-started/
- Authenticate the CLI with your 1Password account.
- Configure your development environment to use the 1Password CLI for secret retrieval. https://developer.1password.com/docs/cli/secrets-environment-variables/
#### 2.3.2 Best Practices
#### 2.3.2. Best Practices
- Use environment variables to store secrets retrieved from 1Password during runtime.
- Never log or display secrets in any form.
- Rotate secrets regularly.
### 2.4 Handling Secrets in Code
### 2.4. Handling Secrets in Code
- Development environment variables should be set in `dev.env` - changes to this file should generally be excluded from your contributions.
- Use 1Password references instead of actual secret values in configuration files.
## 3. Setting Up Your Development Environment
## 3. SETTING UP YOUR DEVELOPMENT ENVIRONMENT
### 3.1 Forking the Repository
### 3.1. Gaining a Contributor Account
1. Navigate to the original repository on Codeberg.
2. Click the "Fork" button in the upper right corner of the page.
3. Select your account as the destination for the fork.
4. Wait for Codeberg to create a copy of the repository in your account.
Contributor accounts are provided only to members of our team. If you wish to join our volunteer team, please [apply](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4) for our Technical Contributor position.
### 3.2 Cloning Your Fork
Once accepted, you will be granted credentials as part of your onboarding.
1. Go to your forked repository on Codeberg.
2. Click the "Code" button and copy the URL (HTTPS or SSH, depending on your setup).
### 3.2. Cloning A Project
1. Go to repository on NHCarrigan's Git instance.
2. Click the "Code" button and copy the HTTPS URL.
3. Open your terminal or command prompt.
4. Navigate to the directory where you want to store the project.
5. Run the following command, replacing `<url>` with the URL you copied:
```
```bash
git clone <url>
```
6. Enter your GitHub credentials if prompted.
6. Enter your Git credentials if prompted.
### 3.3 Setting Up the Upstream Remote
### 3.3. Keeping Your Clone Up-to-Date
Adding the original repository as an upstream remote allows you to easily keep your fork up-to-date.
Regularly update your clone to incorporate changes from the upstream repository:
1. Change into the project directory:
1. Check out the main branch:
```
cd <project-name>
```
2. Add the upstream remote:
```
git remote add upstream <original-repository-url>
```
Replace `<original-repository-url>` with the **git** URL of the original repository.
3. Verify the new remote:
```
git remote -v
```
You should see entries for both `origin` (your fork) and `upstream`.
### 3.4 Keeping Your Fork Up-to-Date
Regularly update your fork to incorporate changes from the upstream repository:
1. Fetch the branches and commits from the upstream repository:
```
git fetch upstream
```
2. Check out your fork's local main branch:
```
```bash
git checkout main
```
3. Merge changes from upstream/main into your local main branch:
2. Pull changes from upstream to your local clone:
```
git merge upstream/main
```bash
git pull
```
### 3.5 Troubleshooting
### 3.4. Troubleshooting
If you encounter any issues during setup:
@@ -172,28 +147,33 @@ If you encounter any issues during setup:
2. Search for similar issues in the project's issue tracker.
3. If the problem persists, open a new issue with detailed information about the problem and steps to reproduce it.
You can also reach out to us on our forum: https://forum.nhcarrigan.com
You can also reach out to us in our Discord community: https://chat.nhcarrigan.com
## 4. Claiming an Issue
## 4. CLAIMING AN ISSUE
### 4.1 Finding an Issue
### 4.1. Finding an Issue
**For Team Members:** All properly triaged tickets that are ready to be worked on are available on our **Staff Tickets** project board: https://git.nhcarrigan.com/nhcarrigan/-/projects/2
Team members should refer to this project board to find tickets that are ready for work.
**For All Contributors:**
1. Navigate to the project's issue tracker.
2. Browse open issues or use filters to find tasks that interest you.
3. Read the issue description thoroughly to understand the requirements and context.
### 4.2 Expressing Interest
### 4.2. Expressing Interest
1. If you find an issue you'd like to work on, comment on the issue expressing your interest.
2. Example comment: "I'm interested in working on this issue. May I be assigned to it?"
3. Wait for a project maintainer to respond and potentially assign the issue to you.
### 4.3 Issue Assignment
### 4.3. Issue Assignment
- Project maintainers will assign issues based on the order of interest and the contributor's experience level.
- Once assigned, you'll see your username in the "Assignees" section of the issue.
### 4.4 Already Assigned Issues
### 4.4. Already Assigned Issues
If an issue is already assigned:
@@ -204,32 +184,32 @@ If an issue is already assigned:
We encourage collaboration and pair programming on complex issues!
### 4.5 Working on the Issue
### 4.5. Working on the Issue
1. Once assigned, create a new branch in your fork for this specific issue.
1. Once assigned, create a new branch in the project for this specific issue.
2. Use a descriptive branch name, e.g., `fix/issue-123-button-alignment`.
3. Make your changes, committing regularly with clear, concise commit messages.
4. Push your changes to your fork.
4. Push your changes to your branch.
5. Open a pull request when ready for review (see Pull Request Guidelines in section [X]).
### 4.6 Keeping the Community Updated
### 4.6. Keeping the Community Updated
1. Provide regular updates on your progress in the issue comments.
2. If you encounter obstacles, don't hesitate to ask for help in the issue thread.
3. If you need to step away from an issue, please let us know so it can be reassigned if necessary.
### 4.7 Time Management
### 4.7. Time Management
- Try to start working on the issue within a few days of assignment.
- If you haven't made progress within a week, the issue may be unassigned to keep the project moving forward.
- If you need more time, communicate this in the issue comments.
### 4.8 Multiple Issues
### 4.8. Multiple Issues
- We encourage focusing on one issue at a time to ensure quality and timely completion.
- If you want to work on multiple issues, please complete one before requesting assignment to another.
### 4.9 Issue Labels
### 4.9. Issue Labels
Pay attention to issue labels for additional context:
@@ -237,27 +217,27 @@ Pay attention to issue labels for additional context:
- `help wanted`: Issues where we're actively seeking community help.
- `staff only`: Issue that will require staff attention.
### 4.10 Respectful Communication
### 4.10. Respectful Communication
- Always be courteous and professional in issue discussions.
- Respect the decisions of project maintainers regarding issue assignments and priorities.
- If you disagree with something, express your thoughts constructively and be open to feedback.
## 5. Working on Your Issue
## 5. WORKING ON YOUR ISSUE
### 5.1 Updating Your Fork
### 5.1. Updating Your Clone
Before starting work, ensure your forked version is up to date with the original repository. If you've set up the `upstream` remote as mentioned in Section 3, follow these steps:
Before starting work, ensure your clone is up to date with the original repository.
1. Open your terminal and navigate to your project's root directory.
2. Run the following commands:
```bash
git fetch upstream
git merge upstream/main
git checkout main
git pull
```
### 5.2 Creating a New Branch
### 5.2. Creating a New Branch
Always create a new branch for your work:
@@ -278,17 +258,17 @@ Always create a new branch for your work:
- `fix/resolve-memory-leak`
- `docs/update-api-endpoints`
### 5.3 Making Changes
### 5.3. Making Changes
1. Make your code changes, following the project's coding standards and guidelines.
2. Regularly commit your changes with clear, concise messages.
3. Push your changes to your fork periodically:
3. Push your changes to your branch periodically:
```bash
git push origin <branchname>
```
### 5.4 Committing Changes
### 5.4. Committing Changes
When you're ready to commit your changes:
@@ -310,7 +290,7 @@ When you're ready to commit your changes:
git commit
```
### 5.5 Commit Message Guidelines
### 5.5. Commit Message Guidelines
- Follow Conventional Commit standards: `type(scope): description` such as `docs: update contributing guidelines`.
- Use the present tense ("Add feature" not "Added feature")
@@ -327,7 +307,7 @@ feat: add user authentication system
Implement JWT-based authentication for API endpoints.
```
### 5.7 Testing Your Changes
### 5.7. Testing Your Changes
- Run the linter to ensure your code complies with [our style guidelines](/dev/style).
@@ -343,12 +323,12 @@ Implement JWT-based authentication for API endpoints.
- Add new tests for your changes if applicable.
### 5.8 Documentation
### 5.8. Documentation
- Update relevant documentation to reflect your changes.
- If you've added new features, include appropriate documentation.
### 5.9 Preparing for Pull Request
### 5.9. Preparing for Pull Request
Before submitting a pull request:
@@ -357,32 +337,32 @@ Before submitting a pull request:
1. Ensure all tests pass.
1. Review your changes and commit history.
If you're unsure about any part of the process or need help, don't hesitate to ask in our [forum](https://forum.nhcarrigan.com). Our community is here to support you!
If you're unsure about any part of the process or need help, don't hesitate to ask in our [Discord community](https://chat.nhcarrigan.com). Our community is here to support you!
## 6. Submitting a Pull Request
## 6. SUBMITTING A PULL REQUEST
### 6.1 Pushing Your Changes
### 6.1. Pushing Your Changes
1. Push your changes to your forked repository:
1. Push your changes to the repository:
```bash
git push -u origin <branchname>
```
- `-u` sets the upstream, linking your local branch to the remote branch
- `origin` specifies your forked repository as the destination
- `origin` specifies the project repository as the destination
- `<branchname>` is the name of your local branch
2. Ensure the push is successful and your changes appear in your forked repository on Codeberg.
2. Ensure the push is successful and your changes appear in the repository on NHCarrigan's Git instance.
### 6.2 Creating the Pull Request
### 6.2. Creating the Pull Request
1. Navigate to your forked repository on Codeberg.
1. Navigate to the repository on NHCarrigan's Git instance.
2. You should see a prompt to create a pull request for your recently pushed branch. If not, click on the "Pull requests" tab and then the "New pull request" button.
3. Ensure the base repository is the original project repository and the base branch is `main`.
4. Select your fork as the head repository and your recently pushed branch as the compare branch.
4. Select the project as the head repository and your recently pushed branch as the compare branch.
### 6.3 Filling Out the Pull Request
### 6.3. Filling Out the Pull Request
1. Change the title of your pull request to be a conventional commit message summarising all changes in that PR
2. Fill out the pull request description with as much information as possible. This typically includes:
@@ -392,24 +372,24 @@ git push -u origin <branchname>
3. Fill out the rest of the pull request form *completely*.
4. If your changes include visual elements, consider adding screenshots or GIFs to illustrate the modifications.
### 6.4 Pull Request Best Practices
### 6.4. Pull Request Best Practices
- Ensure your PR addresses only one issue or adds one feature. If you have made multiple unrelated changes, consider breaking them into separate pull requests.
- Double-check that all tests pass and there are no conflicts with the base branch.
- If your PR is a work in progress, mark it as a draft pull request.
### 6.5 After Submitting
### 6.5. After Submitting
- Keep an eye on your pull request for any comments, requests for changes, or approval.
- Be prepared to make additional commits to your branch if changes are requested.
### 6.6 Updating Your Pull Request
### 6.6. Updating Your Pull Request
If you need to make changes to your pull request:
1. Make the required changes in your local branch.
2. Commit the changes.
3. Push the new commits to your fork:
3. Push the new commits to your branch:
```bash
git push origin <branchname>
@@ -417,28 +397,28 @@ If you need to make changes to your pull request:
4. The pull request will automatically update with your new commits.
### 6.7 Pull Request Etiquette
### 6.7. Pull Request Etiquette
- Be patient. Maintainers are often managing multiple priorities.
- Be open to feedback and willing to make changes.
- Respond promptly to any questions or requests from reviewers.
- If there's a delay in your ability to respond or make requested changes, leave a comment explaining the situation.
### 6.8 Merging and Closing
### 6.8. Merging and Closing
- Once your pull request is approved, a maintainer will merge it into the main project.
- After merging, you can delete your branch from your fork if you won't be using it anymore.
- After merging, you can delete your branch from the repository if you won't be using it anymore.
- Celebrate your contribution to the project!
## 7. Pull Request Reviews
## 7. PULL REQUEST REVIEWS
### 7.1 Review Process Overview
### 7.1. Review Process Overview
- All pull requests require at least one approved review before merging.
- Reviews are primarily conducted by Naomi, but some projects may have additional reviewers.
- The review process helps maintain code quality, consistency, and project standards.
### 7.2 What Reviewers Look For
### 7.2. What Reviewers Look For
Reviewers typically assess the following aspects:
@@ -449,13 +429,13 @@ Reviewers typically assess the following aspects:
5. Adherence to project-specific guidelines
6. Potential impact on existing features or performance
### 7.3 Types of Review Outcomes
### 7.3. Types of Review Outcomes
1. **Approved**: Your pull request is ready to be merged.
2. **Changes Requested**: Modifications or additional information is needed before approval.
3. **Commented**: The reviewer has provided feedback but hasn't explicitly approved or requested changes.
### 7.4 Responding to Review Feedback
### 7.4. Responding to Review Feedback
If changes are requested:
@@ -465,31 +445,31 @@ If changes are requested:
4. Commit and push the changes to update your pull request.
5. Respond to each comment, explaining how you addressed the feedback or why you chose a different approach.
### 7.5 Best Practices for Handling Reviews
### 7.5. Best Practices for Handling Reviews
- Respond promptly to review comments (ideally within a few days).
- Be open to constructive criticism and willing to make changes.
- If you disagree with a suggestion, explain your reasoning politely and be open to discussion.
- Use the review process as a learning opportunity to improve your coding skills.
### 7.6 Timelines and Expectations
### 7.6. Timelines and Expectations
- We strive to review pull requests as quickly as possible, typically within a week.
- If your pull request requires changes, please address them promptly.
- Pull requests with outstanding change requests and no activity for a week may be closed as stale.
- If you need more time to address changes, communicate this in the pull request comments to prevent your contribution from being closed.
### 7.7 Multiple Iterations
### 7.7. Multiple Iterations
- Complex changes may require multiple rounds of reviews and revisions.
- Stay engaged throughout the process and be patient if additional iterations are needed.
### 7.8 Learning from the Review Process
### 7.8. Learning from the Review Process
- Take note of common feedback to improve future contributions.
- Consider reviewing other pull requests to gain insights into the project's standards and practices.
### 7.9 After Approval
### 7.9. After Approval
Once your pull request is approved:
@@ -498,11 +478,11 @@ Once your pull request is approved:
Thank you for providing that section. I'll expand and improve it to make it more comprehensive and encourage a wider range of contributions. Here's an enhanced version:
## 8. Other Contributions
## 8. OTHER CONTRIBUTIONS
We value all types of contributions, not just code. There are many ways to contribute to our project, regardless of your technical experience or comfort level with the codebase. Here are several ways you can make a meaningful impact:
### 8.1 Documentation Updates
### 8.1. Documentation Updates
Clear and accurate documentation is crucial for any project. You can help by:
@@ -511,7 +491,7 @@ Clear and accurate documentation is crucial for any project. You can help by:
- Creating new documentation for undocumented features
- Improving README files, API documentation, or user guides
### 8.2 Feature Requests
### 8.2. Feature Requests
Your ideas can help shape the future of the project. To suggest a new feature:
@@ -523,17 +503,17 @@ Your ideas can help shape the future of the project. To suggest a new feature:
Consider discussing your idea in our community chat before creating an issue to gather initial feedback.
:::
### 8.3 Bug Reports
### 8.3. Bug Reports
Identifying and reporting bugs is a valuable contribution. When reporting a bug:
1. Search existing issues to avoid duplicates
1. Provide a clear, concise description of the problem
1. Include steps to reproduce the bug
1. Describe the expected behavior and what actually happened
1. Describe the expected behaviour and what actually happened
1. If possible, include screenshots, error messages, or code samples
### 8.4 User Support
### 8.4. User Support
Helping other users is a great way to contribute to the community:
@@ -542,7 +522,7 @@ Helping other users is a great way to contribute to the community:
- Guide new users through common issues or setup processes
- Create tutorials or blog posts about using the project
### 8.5 Design Contributions
### 8.5. Design Contributions
If you have design skills, you can contribute by:
@@ -551,7 +531,7 @@ If you have design skills, you can contribute by:
- Improving the overall user experience and accessibility
- Creating infographics or visual aids for documentation
### 8.6 Testing and Quality Assurance
### 8.6. Testing and Quality Assurance
Help improve the project's stability by:
@@ -560,16 +540,16 @@ Help improve the project's stability by:
- Writing or improving automated tests
- Identifying edge cases or potential security issues
### 8.7 Community Building
### 8.7. Community Building
Foster a welcoming and inclusive community by:
- Welcoming new contributors and helping them get started
- Organizing or participating in community events or meetups
- Organising or participating in community events or meetups
- Promoting the project on social media or relevant forums
- Helping to moderate community discussions
### 8.8 Internationalization and Localization
### 8.8. Internationalization and Localization
Make the project accessible to a global audience:
@@ -577,7 +557,7 @@ Make the project accessible to a global audience:
- Provide localized documentation
- Ensure the project supports multiple languages and cultures
### 8.9 Code Reviews
### 8.9. Code Reviews
Even if you're not comfortable making code changes, you can:
@@ -585,22 +565,56 @@ Even if you're not comfortable making code changes, you can:
- Provide feedback on proposed features or bug fixes
- Help ensure code style and convention consistency
### 8.10 Fundraising and Sponsorship
### 8.10. Fundraising and Sponsorship
If you have connections or experience in this area:
- Help identify potential sponsors or grants
- Assist with writing grant applications
- Organize fundraising events or campaigns
- Organise fundraising events or campaigns
Or even make a donation yourself!
### 8.11 Mentoring
### 8.11. Mentoring
Share your knowledge and experience:
- Mentor new contributors
- Create learning resources for the project
- Participate in or organize coding workshops related to the project
- Participate in or organise coding workshops related to the project
Remember, all contributions, big or small, are valuable to the project. Don't hesitate to get involved in any way you feel comfortable. If you have any questions about how to contribute or need help getting started, please reach out to us in our Discord server or through the project's communication channels.
## 9. LIMITATION OF LIABILITY AND DISCLAIMERS
### 9.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 9.2. Contribution Guidelines Disclaimer
These Guidelines establish mandatory requirements for contributions. However, compliance with these Guidelines does not guarantee acceptance of contributions. Project maintainers reserve the right to:
- Reject contributions that comply with these Guidelines for other valid reasons
- Request modifications beyond the scope of these Guidelines
- Modify or update these Guidelines at any time without prior notice
- Interpret Guideline requirements in specific contexts as necessary
### 9.3. Technical Accuracy Disclaimer
While we strive to maintain accurate and current information in these Guidelines, technical standards, tooling, and best practices evolve continuously. Contributors are responsible for:
- Verifying current tool versions and compatibility
- Ensuring their development environment matches project requirements
- Adapting to updates in these Guidelines as they are published
- Consulting project-specific documentation for additional requirements
## 10. CONCLUSION
These Contributing Guidelines represent our commitment to maintaining high-quality, consistent, and legally compliant contributions across all projects. By adhering to these standards, contributors help ensure that our projects remain accessible, professional, and aligned with our organisational values and legal obligations.
All contributors are expected to familiarise themselves with and comply with the requirements set forth in these Guidelines. Questions about specific requirements or requests for clarification should be directed to project maintainers through appropriate communication channels.
---
*For questions about contribution requirements or to suggest improvements, please contact project maintainers through the designated channels outlined in our Contributor Covenant.*
+6 -6
View File
@@ -1,13 +1,13 @@
---
title: nhcarrigan Contributor Covenant
title: Contributor Covenant
---
Copyright (C) 2024 nhcarrigan and its contributors.
Copyright (C) 2024 NHCarrigan and its contributors.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
## nhcarrigan Contributor Covenant 1.0
## NHCarrigan Contributor Covenant 1.0
By making a contribution to this project I certify that:
@@ -22,7 +22,7 @@ By making a contribution to this project I certify that:
I have the right to submit any code, documentation, or other content under the project's designated license.
</li>
<li>
If my contribution is based on previous work covered under an open source license, I have the right to submit that work with modifications under the project's license.
If my contribution is based on previous work covered under an open source licence, I have the right to submit that work with modifications under the project's license.
</li>
<li>
Any contribution provided to me by another person for submission to this project has been done so with certification of points <code>a</code> through <code>d</code>, and I have not modified it.
@@ -31,12 +31,12 @@ By making a contribution to this project I certify that:
I understand that my contributions may be logged publicly, and that moderation actions taken in response to Code of Conduct violations may be recorded in the community's public moderation log.
</li>
<li>
I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it) is maintained indefinitely and may be redistributed consistent with this project or the open source licence(s) involved.
</li>
<li>
I acknowledge that community leaders have the right and responsibility to remove, edit, or reject my contributions if they do not align with this certificate or the project's Code of Conduct.
</li>
<li>
I agree to release my contribution to nhcarrigan pursuant to the Terms of Service.
I agree to release my contribution to NHCarrigan pursuant to the Terms of Service.
</li>
</ol>
File diff suppressed because it is too large Load Diff
+374 -184
View File
@@ -1,448 +1,638 @@
---
title: Labels
title: "Issue/PR Labels"
---
We use very specific labels to help categorise our issues. This page explains what each label means.
## 1. Contribution Labels
These are the most important. These labels indicate who is encouraged to make a pull request to resolve the issue.
These are the most important. These labels indicate who is encouraged to make a pull request to resolve the issue. All contributions are limited to our volunteer staff team members.
### 1.1. `contribute: good first issue`
#### 1.1.1. Purpose
Identifies issues suitable for contributors who are new to the project.
Identifies issues suitable for team members who are learning a new codebase.
#### 1.1.2. Characteristics
Does not require prior knowledge of the codebase. Issues with this label should include a detailed description of the implementation process.
Does not require prior knowledge of the codebase. Issues with this label should include a detailed description of the implementation process to help team members get familiar with the project structure.
#### 1.1.3. Expectations
Contributors are responsible for ensuring their work complies with the project's licensing terms and contribution guidelines.
Team members are responsible for ensuring their work complies with the project's licensing terms and contribution guidelines.
### 1.2. `contribute: help wanted`
#### 1.2.1. Purpose
Indicates issues open for contribution from any interested party.
Indicates issues open for any team member to grab and work on.
#### 1.2.2. Characteristics
Typically assumes prior experience with the codebase. As such, issues may not include a detailed implementation description.
Open to all volunteer staff team members. May assume some familiarity with the codebase, and issues may not include a detailed implementation description.
#### 1.2.3. Expectations
Contributors should review and adhere to the project's contribution guidelines and code of conduct before submitting work on these issues.
Team members should review and adhere to the project's contribution guidelines and code of conduct before submitting work on these issues.
### 1.3. `contribute: staff only`
#### 1.3.1. Purpose
Designates issues restricted to project maintainers or staff due to specific access requirements.
Designates issues restricted to executive leadership due to specific access requirements or strategic decisions.
#### 1.3.2. Characteristics
Requires access to production infrastructure for proper testing and implementation. As such, limited to authorised project maintainers and staff.
Requires executive-level access, decision-making authority, or involves strategic project direction. Limited to authorised executive leadership team members.
#### 1.3.3. Expectations
Staff members working on these issues must adhere to all relevant confidentiality agreements, data protection policies, and internal security protocols.
Executive leadership members working on these issues must adhere to all relevant confidentiality agreements, data protection policies, and internal security protocols.
### 1.4 Disclaimer
### 1.4. Disclaimer
Labels are assigned based on the project maintainers' best judgment but may not guarantee the exact level of difficulty or access requirements for every contributor. Contributors should use their discretion and communicate with project maintainers if they have any doubts about their ability to address an issue or comply with any associated legal requirements.
Labels are assigned based on the project maintainers' best judgement but may not guarantee the exact level of difficulty or access requirements for every team member. Team members should use their discretion and communicate with project maintainers if they have any doubts about their ability to address an issue or comply with any associated legal requirements.
## 2. Aspect Labels
## 2. Points Labels
These labels indicate the scope of the work required to resolve the issue.
Points labels indicate the complexity and effort required to resolve an issue. This helps with capacity planning and workload distribution across the team.
### 2.1. `aspect: code`
### 2.1. `points: 1`
#### 2.1.1. Purpose
Identifies issues requiring changes to the project's codebase.
Identifies very simple issues that require minimal effort and complexity.
#### 2.1.2. Characteristics
Involves direct modification to the project's source code. Familiarity with the languages and libraries used is expected.
Straightforward tasks that can typically be completed quickly. Examples include minor text corrections, simple configuration changes, or very small bug fixes.
#### 2.1.3. Expectations
Contributors must ensure their code changes comply with the project's coding standards, license terms, and any applicable software patents or copyrights.
Team members should be able to complete these issues with minimal review time. These are ideal for quick wins and maintaining project momentum.
### 2.2. `aspect: dx`
### 2.2. `points: 2`
#### 2.2.1. Purpose
Indicates issues related to improving the project's tooling and development workflow.
Designates simple issues that require a bit more thought or investigation.
#### 2.2.2. Characteristics
May include changes to automated tests, development dependencies, build processes, etc. Understanding of the development workflows is expected.
Slightly more complex than 1-point issues but still relatively straightforward. May involve understanding a small portion of the codebase or making changes across a few files.
#### 2.2.3. Expectations
Changes to tooling or dependencies must be compatible with the project's overall licensing strategy and not introduce conflicts with existing terms.
These issues should be approachable for most team members and can serve as good learning opportunities.
### 2.3. `aspect: interface`
### 2.3. `points: 3`
#### 2.3.1. Purpose
Designates issues that affect the end-user's experience with the project.
Indicates moderate complexity issues that require more substantial work.
#### 2.3.2. Characteristics
May require changes in the code, particularly in front-end components. Can include visual modifications like CSS changes or image updates. Understanding of the end-user experience expected.
Requires understanding multiple parts of the codebase or implementing features with several components. May involve testing, documentation, and coordination with other parts of the system.
#### 2.3.3. Expectations
Contributors must ensure they have the necessary rights to any visual assets introduced or modified. Changes should comply with accessibility standards and regulations where applicable.
Team members should have some familiarity with the codebase before tackling these issues. May require more thorough review and testing.
### 2.4. `aspect: text`
### 2.4. `points: 5`
#### 2.4.1. Purpose
Identifies issues related to the project's documentation.
Identifies complex issues that require significant effort and expertise.
#### 2.4.2. Characteristics
Typically does not require code changes. Proficiency in technical writing is a must.
Involves substantial changes to the codebase, multiple components, or deep understanding of system architecture. May require refactoring, architectural decisions, or integration with external systems.
#### 2.4.3. Expectations
Contributors must ensure the accuracy of the information provided in documentation updates. Documentation changes should adhere to any applicable style guides and licensing terms.
These issues typically require experienced team members and may involve multiple review cycles. Proper planning and discussion may be necessary before implementation.
### 2.5 Disclaimer
### 2.5. `points: 8`
Aspect labels are assigned based on the primary focus of the issue but may not encompass all potential areas of impact. Contributors are encouraged to consider potential cross-aspect effects of their work and discuss these with project maintainers when in doubt. The project maintainers reserve the right to reassign aspect labels or request additional changes if the submitted work does not align with the intended scope of the issue.
#### 2.5.1. Purpose
## 3. Goal Labels
Designates very complex issues that require extensive work and deep expertise.
These labels indicate the primary objective of the issue, reflecting our project's modular approach. They help contributors understand the nature and scope of the changes they'll be making.
#### 2.5.2. Characteristics
### 3.1. `goal: addition`
Major features, significant refactoring, or complex architectural changes. Often involves multiple team members or requires breaking down into smaller sub-tasks.
#### 2.5.3. Expectations
These issues should be carefully planned and may need to be broken down into smaller, manageable pieces. Typically assigned to experienced team members with relevant expertise.
### 2.6. `points: 13`
#### 2.6.1. Purpose
Indicates extremely complex issues that represent major undertakings.
#### 2.6.2. Characteristics
Epic-level work that significantly impacts the project. Often requires breaking down into multiple smaller issues or involves substantial architectural changes.
#### 2.6.3. Expectations
These issues should always be broken down into smaller, trackable pieces. Requires careful planning, coordination, and likely involvement from multiple team members or executive leadership.
### 2.7. Disclaimer
Points are assigned based on the project maintainers' assessment of complexity and effort required. Actual time and effort may vary based on individual team member experience, unexpected complications, or changing requirements. Points should be used as a guide for planning and capacity management, not as strict time estimates.
## 3. Time Labels
Time labels indicate the expected number of days a developer should allocate for working on an issue. These help with sprint planning and workload management.
### 3.1. `time: <1 day`
#### 3.1.1. Purpose
Identifies issues that involve adding a new feature to the project.
Identifies issues that can be completed in less than one day of focused work.
#### 3.1.2. Characteristics
Typically involves creating new code files. Understanding of how different modules in the project integrate with each other is expected.
Quick fixes, minor updates, or simple tasks that don't require extensive development time. Typically aligns with 1-2 point issues.
#### 3.1.3. Expectations
Contributors must ensure that new features do not infringe on existing patents or copyrights. New code should be compatible with the project's existing license. If introducing third-party libraries or dependencies, their licenses must be compatible with the project's license.
These issues should be completable within a single work session. Ideal for maintaining project momentum and addressing quick wins.
### 3.2. `goal: fix`
### 3.2. `time: 1 day`
#### 3.2.1. Purpose
Designates issues aimed at fixing bugs in the project.
Designates issues that require approximately one full day of development work.
#### 3.2.2. Characteristics
Typically involves editing code within existing files. Scope should be kept to the specific bug - separate contributions should be made for unrelated bugs.
Moderate tasks that can be completed in a focused day of work. May include some investigation, implementation, and basic testing.
#### 3.2.3. Expectations
Bug fixes should not introduce new legal issues or licensing conflicts. Contributors should document the nature of the bug and the fix for future reference and potential legal compliance (e.g., security vulnerabilities).
Team members should be able to complete these issues within a single day, accounting for review time and potential minor revisions.
### 3.3. `goal: improvement`
### 3.3. `time: 2-3 days`
#### 3.3.1. Purpose
Indicates issues that expand upon or enhance existing features.
Indicates issues requiring two to three days of development effort.
#### 3.3.2. Characteristics
Usually involves adding code to existing files. Scope should be kept to the existing feature.
More substantial work that involves multiple components, thorough testing, or deeper investigation. May require coordination with other team members.
#### 3.3.3. Expectations
Improvements should maintain compatibility with existing licenses and legal obligations. If the improvement significantly changes the functionality, consider if additional legal reviews or updates to user agreements are necessary.
These issues should be planned across multiple days, allowing time for implementation, testing, review cycles, and potential revisions.
### 3.4. Disclaimer
### 3.4. `time: 4-5 days`
While goal labels provide guidance on the nature of the task, the actual work required may vary or expand beyond the initial scope. Contributors are encouraged to communicate with project maintainers if they believe a different approach or additional changes are necessary to achieve the goal. The project maintainers reserve the right to request modifications or additional work to ensure that contributions align with the project's goals, standards, and legal requirements.
#### 3.4.1. Purpose
## 4. Priority Labels
Identifies issues that require approximately one week of development work.
Priority labels indicate the importance assigned to specific issues by the project maintainers. These labels help guide resource allocation and set expectations for resolution timeframes.
#### 3.4.2. Characteristics
### 4.1. `priority: critical`
Complex features or significant changes that require careful implementation, extensive testing, and multiple review cycles.
#### 3.4.3. Expectations
These issues should be allocated sufficient time for thorough development and review. May benefit from breaking down into smaller sub-tasks for better tracking.
### 3.5. `time: 1-2 weeks`
#### 3.5.1. Purpose
Designates issues requiring one to two weeks of focused development effort.
#### 3.5.2. Characteristics
Major features or substantial refactoring that requires careful planning, implementation across multiple areas, and comprehensive testing.
#### 3.5.3. Expectations
These issues should be carefully planned and may need to be broken down into smaller, trackable milestones. Requires coordination and regular check-ins with the team.
### 3.6. `time: >2 weeks`
#### 3.6.1. Purpose
Indicates issues that require more than two weeks of development work.
#### 3.6.2. Characteristics
Epic-level work or major architectural changes that significantly impact the project. Often involves multiple team members and extensive planning.
#### 3.6.3. Expectations
These issues must be broken down into smaller, manageable pieces. Require careful project management, regular milestones, and coordination across the team.
### 3.7. Disclaimer
Time estimates are based on typical development scenarios and may vary based on individual team member experience, unexpected complications, review cycles, or changing requirements. Time labels should be used as a guide for planning and should be adjusted based on actual progress and circumstances.
## 4. Aspect Labels
These labels indicate the scope of the work required to resolve the issue.
### 4.1. `aspect: code`
#### 4.1.1. Purpose
Identifies issues requiring immediate attention due to their severe impact on project usability.
Identifies issues requiring changes to the project's codebase.
#### 4.1.2. Characteristics
Require urgent resolution to restore project functionality. Experience with the project is a must, to avoid delays from long review processes.
Involves direct modification to the project's source code. Familiarity with the languages and libraries used is expected.
#### 4.1.3. Expectations
May involve security vulnerabilities or critical bugs that could lead to legal liabilities if not addressed promptly. Resolution of these issues may need to be reported to relevant stakeholders or authorities in certain cases (e.g., data protection regulators for security breaches).
Contributors must ensure their code changes comply with the project's coding standards, license terms, and any applicable software patents or copyrights.
### 4.2. `priority: high`
### 4.2. `aspect: dx`
#### 4.2.1. Purpose
Designates important issues that, while not preventing basic functionality, are impeding further development.
Indicates issues related to improving the project's tooling and development workflow.
#### 4.2.2. Characteristics
Not critical for current project operation but blocking future progress. Require prompt attention to unblock development efforts.
May include changes to automated tests, development dependencies, build processes, etc. Understanding of the development workflows is expected.
#### 4.2.3. Expectations
May involve compliance deadlines or contractual obligations that need to be met. Could impact project timelines, potentially affecting agreements with stakeholders or clients.
Changes to tooling or dependencies must be compatible with the project's overall licensing strategy and not introduce conflicts with existing terms.
### 4.3. `priority: medium`
### 4.3. `aspect: interface`
#### 4.3.1. Purpose
Indicates issues that need resolution as soon as possible but are not blocking other development.
Designates issues that affect the end-user's experience with the project.
#### 4.3.2. Characteristics
Important for project improvement but not critical for current functionality. Should be addressed in a timely manner but with less urgency than high-priority issues.
May require changes in the code, particularly in front-end components. Can include visual modifications like CSS changes or image updates. Understanding of the end-user experience expected.
#### 4.3.3. Expectations
May involve improvements to user experience or accessibility, which could have legal implications if neglected long-term. Could relate to optimizations that affect performance guarantees or service level agreements.
Contributors must ensure they have the necessary rights to any visual assets introduced or modified. Changes should comply with accessibility standards and regulations where applicable.
### 4.4. `priority: low`
### 4.4. `aspect: text`
#### 4.4.1. Purpose
Represents issues that should be resolved but are not considered urgent.
Identifies issues related to the project's documentation.
#### 4.4.2. Characteristics
Desirable improvements or minor issues that don't significantly impact project functionality.
Typically does not require code changes. Proficiency in technical writing is a must.
#### 4.4.3. Expectations
While not urgent, neglecting these issues over time could lead to technical debt or gradual degradation of project quality, potentially affecting long-term compliance or user satisfaction.
Contributors must ensure the accuracy of the information provided in documentation updates. Documentation changes should adhere to any applicable style guides and licensing terms.
### 4.5. `priority: none`
### 4.5. Disclaimer
#### 4.5.1. Purpose
Aspect labels are assigned based on the primary focus of the issue but may not encompass all potential areas of impact. Contributors are encouraged to consider potential cross-aspect effects of their work and discuss these with project maintainers when in doubt. The project maintainers reserve the right to reassign aspect labels or request additional changes if the submitted work does not align with the intended scope of the issue.
Identifies "nice-to-have" issues that are not essential for project functionality or immediate development goals.
## 5. Goal Labels
#### 4.5.2. Characteristics
These labels indicate the primary objective of the issue, reflecting our project's modular approach. They help contributors understand the nature and scope of the changes they'll be making.
Not critical enough to dedicate maintainer time for resolution. Often left for community contributors or future consideration.
#### 4.5.3. Expectations
While not prioritized, maintainers should periodically review these issues to ensure they haven't become more significant over time, potentially accruing legal or compliance risks.
### 4.6 Disclaimer
Priority labels reflect the project maintainers' current assessment and may be subject to change. The presence of a lower-priority label does not diminish the importance of the issue or the value of contributions addressing it. Contributors should communicate with maintainers if they believe an issue's priority should be reassessed due to new information or changing circumstances.
## 5. Status Labels
Status labels indicate the current stage of an issue in the project lifecycle. These labels help manage workflow and set expectations for contributors and users.
### 5.1. `status: awaiting triage`
### 5.1. `goal: addition`
#### 5.1.1. Purpose
Identifies newly created issues that have not yet been reviewed by the maintainer team.
Identifies issues that involve adding a new feature to the project.
#### 5.1.2. Characteristics
Should be applied to issues when they are opened.
Typically involves creating new code files. Understanding of how different modules in the project integrate with each other is expected.
#### 5.1.3. Expectations
Contributors should be aware that engaging with these issues is at their own discretion, as the project team has not yet evaluated them. Maintainers should establish a reasonable timeframe for initial triage to manage expectations and potential liability.
Contributors must ensure that new features do not infringe on existing patents or copyrights. New code should be compatible with the project's existing license. If introducing third-party libraries or dependencies, their licenses must be compatible with the project's license.
### 5.2. `status: blocked`
### 5.2. `goal: fix`
#### 5.2.1. Purpose
Indicates issues with a planned resolution that depend on the completion of another issue.
Designates issues aimed at fixing bugs in the project.
#### 5.2.2. Characteristics
Not yet ready for work but expected to be addressed in the future.
Typically involves editing code within existing files. Scope should be kept to the specific bug - separate contributions should be made for unrelated bugs.
#### 5.2.3. Expectations
Maintainers should clearly document dependencies to avoid potential conflicts or misunderstandings. Regular review of blocked issues is advisable to prevent indefinite delays that could impact project timelines or contractual obligations.
Bug fixes should not introduce new legal issues or licensing conflicts. Contributors should document the nature of the bug and the fix for future reference and potential legal compliance (e.g., security vulnerabilities).
### 5.3. `status: discarded`
### 5.3. `goal: improvement`
#### 5.3.1. Purpose
Designates issues that the project team does not intend to resolve.
Indicates issues that expand upon or enhance existing features.
#### 5.3.2. Characteristics
Typically applied to feature requests that don't align with project goals.
Usually involves adding code to existing files. Scope should be kept to the existing feature.
#### 5.3.3. Expectations
Clearly communicate the rationale for discarding issues to manage user expectations and maintain transparency. Ensure that discarded issues don't conflict with any promised features or contractual obligations.
Improvements should maintain compatibility with existing licenses and legal obligations. If the improvement significantly changes the functionality, consider if additional legal reviews or updates to user agreements are necessary.
### 5.4. `status: discontinued`
### 5.4. Disclaimer
#### 5.4.1. Purpose
While goal labels provide guidance on the nature of the task, the actual work required may vary or expand beyond the initial scope. Contributors are encouraged to communicate with project maintainers if they believe a different approach or additional changes are necessary to achieve the goal. The project maintainers reserve the right to request modifications or additional work to ensure that contributions align with the project's goals, standards, and legal requirements.
Applies to feature requests for projects in maintenance mode.
## 6. Priority Labels
#### 5.4.2. Characteristics
Priority labels indicate the importance assigned to specific issues by the project maintainers. These labels help guide resource allocation and set expectations for resolution timeframes.
Indicates no new features will be added, but bug fixes and support continue.
#### 5.4.3. Expectations
Clearly communicate the project's maintenance status to manage user expectations and potential liability. Ensure that discontinuation doesn't breach any ongoing support agreements or licenses.
### 5.5. `status: label work required`
#### 5.5.1. Purpose
Indicates issues that need proper labeling and categorization.
#### 5.5.2. Characteristics
May have ongoing discussions but lack appropriate classification.
#### 5.5.3. Expectations
Proper labeling is crucial for efficient project management and may have implications for compliance tracking and reporting. Establish clear guidelines for labeling to ensure consistency and avoid potential misunderstandings.
### 5.6. `status: ready for dev`
#### 5.6.1. Purpose
Signifies issues that are ready for contribution.
#### 5.6.2. Characteristics
May have an assigned contributor who has expressed interest.
#### 5.6.3. Expectations
Clearly communicate contribution guidelines and any legal requirements (e.g., Contributor Covenant) to potential contributors. Ensure that collaborative efforts are managed in compliance with project licenses and contributor agreements.
### 5.7. `status: ticket work required`
#### 5.7.1. Purpose
Indicates issues lacking sufficient information for proper triage.
#### 5.7.2. Characteristics
Often paired with Conversation Labels for further clarification.
#### 5.7.3. Expectations
Establish clear guidelines for required information to avoid potential misunderstandings or misdirected efforts. Be mindful of data privacy when requesting additional information from issue reporters.
### 5.8. Disclaimer
Status labels reflect the current assessment of the project team and may change as circumstances evolve. While the project team strives to maintain accurate status labels, contributors and users should communicate with maintainers if they notice any discrepancies or have questions about an issue's status.
## 6. Conversation Labels
Conversation labels indicate that an issue has received initial maintainer attention but requires further discussion or information before proceeding. These labels help manage communication and ensure all necessary information is gathered before taking action.
### 6.1. `talk: discussion`
### 6.1. `priority: critical`
#### 6.1.1. Purpose
Identifies issues that are under active discussion but have not yet been accepted for resolution.
Identifies issues requiring immediate attention due to their severe impact on project usability.
#### 6.1.2. Characteristics
Ongoing dialogue between maintainers, contributors, and/or users. May involve debates about feature requests, implementation strategies, or project direction.
Require urgent resolution to restore project functionality. Experience with the project is a must, to avoid delays from long review processes.
#### 6.1.3. Expectations
Ensure discussions remain constructive and adhere to the project's code of conduct. Be cautious about making commitments or promises during discussions that could create legal obligations. Document key decisions and rationales to maintain transparency and provide a record for future reference.
May involve security vulnerabilities or critical bugs that could lead to legal liabilities if not addressed promptly. Resolution of these issues may need to be reported to relevant stakeholders or authorities in certain cases (e.g., data protection regulators for security breaches).
### 6.2. `talk: question`
### 6.2. `priority: high`
#### 6.2.1. Purpose
Indicates issues waiting on additional information from the author for proper triage.
Designates important issues that, while not preventing basic functionality, are impeding further development.
#### 6.2.2. Characteristics
Requires clarification or more details from the issue creator. Cannot proceed with triage or resolution until the requested information is provided.
Not critical for current project operation but blocking future progress. Require prompt attention to unblock development efforts.
#### 6.2.3. Expectations
Clearly communicate what information is needed and why it's necessary. Be mindful of data privacy when requesting additional information. Establish and communicate timeframes for expected responses to manage the issue lifecycle efficiently.
May involve compliance deadlines or contractual obligations that need to be met. Could impact project timelines, potentially affecting agreements with stakeholders or clients.
### 6.3. Disclaimer
### 6.3. `priority: medium`
Conversation labels indicate ongoing dialogue and do not guarantee that an issue will be implemented or resolved in a specific manner. Participants should understand that project priorities and decisions may change based on new information or project direction.
#### 6.3.1. Purpose
## 7. Pull Request Labels
Indicates issues that need resolution as soon as possible but are not blocking other development.
Pull Request (PR) labels are used to indicate the current status of pull requests and guide contributors through the review and merge process.
#### 6.3.2. Characteristics
### 7.1. `pull: merge conflict`
Important for project improvement but not critical for current functionality. Should be addressed in a timely manner but with less urgency than high-priority issues.
#### 6.3.3. Expectations
May involve improvements to user experience or accessibility, which could have legal implications if neglected long-term. Could relate to optimisations that affect performance guarantees or service level agreements.
### 6.4. `priority: low`
#### 6.4.1. Purpose
Represents issues that should be resolved but are not considered urgent.
#### 6.4.2. Characteristics
Desirable improvements or minor issues that don't significantly impact project functionality.
#### 6.4.3. Expectations
While not urgent, neglecting these issues over time could lead to technical debt or gradual degradation of project quality, potentially affecting long-term compliance or user satisfaction.
### 6.5. `priority: none`
#### 6.5.1. Purpose
Identifies "nice-to-have" issues that are not essential for project functionality or immediate development goals.
#### 6.5.2. Characteristics
Not critical enough to dedicate maintainer time for resolution. Often left for future consideration or when team capacity allows.
#### 6.5.3. Expectations
While not prioritised, maintainers should periodically review these issues to ensure they haven't become more significant over time, potentially accruing legal or compliance risks.
### 6.6. Disclaimer
Priority labels reflect the project maintainers' current assessment and may be subject to change. The presence of a lower-priority label does not diminish the importance of the issue or the value of contributions addressing it. Contributors should communicate with maintainers if they believe an issue's priority should be reassessed due to new information or changing circumstances.
## 7. Status Labels
Status labels indicate the current stage of an issue in the project lifecycle. These labels help manage workflow and set expectations for contributors and users.
### 7.1. `status: awaiting triage`
#### 7.1.1. Purpose
Indicates that the pull request has conflicts with the target branch.
Identifies newly created issues that have not yet been reviewed by the maintainer team.
#### 7.1.2. Characteristics
Conflicts need to be resolved before the PR can be reviewed or merged. May require action from the original contributor or project maintainers.
Should be applied to issues when they are opened.
#### 7.1.3. Expectations
Clearly communicate the responsibility for resolving conflicts (e.g., whether it's the contributor's or maintainer's role). Ensure that conflict resolution doesn't introduce unintended changes or legal issues (e.g., license conflicts).
Contributors should be aware that engaging with these issues is at their own discretion, as the project team has not yet evaluated them. Maintainers should establish a reasonable timeframe for initial triage to manage expectations and potential liability.
### 7.2. `pull: ready for review`
### 7.2. `status: blocked`
#### 7.2.1. Purpose
Signifies that the pull request is not in draft mode and is awaiting maintainer review.
Indicates issues with a planned resolution that depend on the completion of another issue.
#### 7.2.2. Characteristics
PR has been submitted as complete and ready for evaluation. Maintainers should prioritize reviewing these PRs.
Not yet ready for work but expected to be addressed in the future.
#### 7.2.3. Expectations
Ensure contributors understand that "ready for review" doesn't guarantee acceptance or merging. Maintain clear review criteria and communicate them to contributors.
Maintainers should clearly document dependencies to avoid potential conflicts or misunderstandings. Regular review of blocked issues is advisable to prevent indefinite delays that could impact project timelines or contractual obligations.
### 7.3. `pull: requires update`
### 7.3. `status: discarded`
#### 7.3.1. Purpose
Indicates that the maintainer team has requested changes to the pull request.
Designates issues that the project team does not intend to resolve.
#### 7.3.2. Characteristics
Feedback has been provided, and updates are needed before further review or merging. Requires action from the contributor to address the requested changes.
Typically applied to feature requests that don't align with project goals.
#### 7.3.3. Expectations
Clearly communicate the rationale for discarding issues to manage user expectations and maintain transparency. Ensure that discarded issues don't conflict with any promised features or contractual obligations.
### 7.4. `status: discontinued`
#### 7.4.1. Purpose
Applies to feature requests for projects in maintenance mode.
#### 7.4.2. Characteristics
Indicates no new features will be added, but bug fixes and support continue.
#### 7.4.3. Expectations
Clearly communicate the project's maintenance status to manage user expectations and potential liability. Ensure that discontinuation doesn't breach any ongoing support agreements or licenses.
### 7.5. `status: label work required`
#### 7.5.1. Purpose
Indicates issues that need proper labelling and categorisation.
#### 7.5.2. Characteristics
May have ongoing discussions but lack appropriate classification.
#### 7.5.3. Expectations
Proper labelling is crucial for efficient project management and may have implications for compliance tracking and reporting. Establish clear guidelines for labelling to ensure consistency and avoid potential misunderstandings.
### 7.6. `status: ready for dev`
#### 7.6.1. Purpose
Signifies issues that are ready for contribution.
#### 7.6.2. Characteristics
May have an assigned contributor who has expressed interest.
#### 7.6.3. Finding Ready-to-Work Tickets
All properly triaged tickets with the `status: ready for dev` label are available on our **Staff Tickets** project board: https://git.nhcarrigan.com/nhcarrigan/-/projects/2
Team members should refer to this project board to find tickets that are ready to be worked on.
#### 7.6.4. Expectations
Clearly communicate contribution guidelines and any legal requirements (e.g., Contributor Covenant) to potential contributors. Ensure that collaborative efforts are managed in compliance with project licenses and contributor agreements.
### 7.7. `status: ticket work required`
#### 7.7.1. Purpose
Indicates issues lacking sufficient information for proper triage.
#### 7.7.2. Characteristics
Often paired with Conversation Labels for further clarification.
#### 7.7.3. Expectations
Establish clear guidelines for required information to avoid potential misunderstandings or misdirected efforts. Be mindful of data privacy when requesting additional information from issue reporters.
### 7.8. Disclaimer
Status labels reflect the current assessment of the project team and may change as circumstances evolve. While the project team strives to maintain accurate status labels, contributors and users should communicate with maintainers if they notice any discrepancies or have questions about an issue's status.
## 8. Conversation Labels
Conversation labels indicate that an issue has received initial maintainer attention but requires further discussion or information before proceeding. These labels help manage communication and ensure all necessary information is gathered before taking action.
### 8.1. `talk: discussion`
#### 8.1.1. Purpose
Identifies issues that are under active discussion but have not yet been accepted for resolution.
#### 8.1.2. Characteristics
Ongoing dialogue between maintainers, contributors, and/or users. May involve debates about feature requests, implementation strategies, or project direction.
#### 8.1.3. Expectations
Ensure discussions remain constructive and adhere to the project's code of conduct. Be cautious about making commitments or promises during discussions that could create legal obligations. Document key decisions and rationales to maintain transparency and provide a record for future reference.
### 8.2. `talk: question`
#### 8.2.1. Purpose
Indicates issues waiting on additional information from the author for proper triage.
#### 8.2.2. Characteristics
Requires clarification or more details from the issue creator. Cannot proceed with triage or resolution until the requested information is provided.
#### 8.2.3. Expectations
Clearly communicate what information is needed and why it's necessary. Be mindful of data privacy when requesting additional information. Establish and communicate timeframes for expected responses to manage the issue lifecycle efficiently.
### 8.3. Disclaimer
Conversation labels indicate ongoing dialogue and do not guarantee that an issue will be implemented or resolved in a specific manner. Participants should understand that project priorities and decisions may change based on new information or project direction.
## 9. Pull Request Labels
Pull Request (PR) labels are used to indicate the current status of pull requests and guide contributors through the review and merge process.
### 9.1. `pull: merge conflict`
#### 9.1.1. Purpose
Indicates that the pull request has conflicts with the target branch.
#### 9.1.2. Characteristics
Conflicts need to be resolved before the PR can be reviewed or merged. May require action from the original contributor or project maintainers.
#### 9.1.3. Expectations
Clearly communicate the responsibility for resolving conflicts (e.g., whether it's the contributor's or maintainer's role). Ensure that conflict resolution doesn't introduce unintended changes or legal issues (e.g., license conflicts).
### 9.2. `pull: ready for review`
#### 9.2.1. Purpose
Signifies that the pull request is not in draft mode and is awaiting maintainer review.
#### 9.2.2. Characteristics
PR has been submitted as complete and ready for evaluation. Maintainers should prioritise reviewing these PRs.
#### 9.2.3. Expectations
Ensure contributors understand that "ready for review" doesn't guarantee acceptance or merging. Maintain clear review criteria and communicate them to contributors.
### 9.3. `pull: requires update`
#### 9.3.1. Purpose
Indicates that the maintainer team has requested changes to the pull request.
#### 9.3.2. Characteristics
Feedback has been provided, and updates are needed before further review or merging. Requires action from the contributor to address the requested changes.
#### 9.3.3. Expectations
Clearly document requested changes to maintain transparency and avoid misunderstandings. Consider setting timeframes for updates to manage the PR lifecycle effectively.
### 7.4. Disclaimer
### 9.4. Disclaimer
The presence of these labels does not guarantee that a pull request will be merged. All contributions must still meet the project's quality standards, guidelines, and legal requirements.
## 8. Continuous Improvement
## 10. Continuous Improvement
We encourage all project participants to provide feedback on our labeling system. If you have suggestions for improvements or notice any inconsistencies, please reach out to us in our [forums](https://forum.nhcarrigan.com).
We encourage all project participants to provide feedback on our labelling system. If you have suggestions for improvements or notice any inconsistencies, please reach out to us in our [Discord community](https://chat.nhcarrigan.com).
## 9. Legal Notice
## 11. Legal Notice
This labels documentation is provided for informational purposes and to facilitate project management. It does not constitute a legal agreement. All contributions to the project must comply with the project's license, contributor agreement (if applicable), and relevant laws and regulations.
+92 -19
View File
@@ -2,17 +2,37 @@
title: Server Setup
---
This document outlines how we set up our remote servers for running projects.
**ESTABLISHING SERVER CONFIGURATION STANDARDS AND SECURITY REQUIREMENTS**
## 1. Provision a Server
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Server Setup Documentation (hereinafter referred to as "the Documentation") establishes mandatory standards, procedures, and security requirements for configuring remote servers used to host projects maintained by our organisation. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Security Policy, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all remote servers used to host projects, services, or infrastructure maintained by our organisation. All personnel responsible for server configuration, deployment, or maintenance must comply with the standards set forth in this Documentation.
**IMPORTANT: Non-compliance with server security and configuration standards set forth in this Documentation may result in security vulnerabilities, service disruptions, or other serious consequences. All server administrators must strictly adhere to these requirements.**
### 1.3. Security and Compliance Requirements
Server configuration must comply with:
- Our Security Policy and security standards
- Applicable data protection and privacy regulations
- Industry best practices for server security
- All relevant legal and regulatory requirements
## 2. PROVISIONING A SERVER
We use DigitalOcean as our provider. Regardless of your choice, provision a new VPS using the **latest Ubuntu LTS version**. Add your `ssh` key AND Naomi's `ssh` key in the setup process.
## 2. Set Up User
## 3. SETTING UP USER ACCOUNTS
You should never run applications on root. SSH into the new VPS to prepare your user.
### 2.1. Creating the User
### 3.1. Creating the User Account
You'll need to set a password for the `root` account first.
@@ -22,10 +42,10 @@ passwd
Once you have set a password, ensure that you have provided it to Naomi to store in the vault.
Create an `nhcarrigan` user for our organisation.
Create an `NHCarrigan` user for our organisation.
```bash
adduser nhcarrigan
adduser NHCarrigan
```
Set a **different** password, and provide that to Naomi as well. For all of the user information, use the default blank values.
@@ -33,13 +53,13 @@ Set a **different** password, and provide that to Naomi as well. For all of the
Add the new user to the sudoers file.
```bash
usermod -aG sudo nhcarrigan
usermod -aG sudo NHCarrigan
```
Then sync the SSH keys so we can authenticate as that user.
```bash
rsync --archive --chown=nhcarrigan:nhcarrigan ~/.ssh /home/nhcarrigan
rsync --archive --chown=NHCarrigan:NHCarrigan ~/.ssh /home/NHCarrigan
```
While you are there, set the timezone for the server to our business' local timezone.
@@ -48,11 +68,11 @@ While you are there, set the timezone for the server to our business' local time
sudo timedatectl set-timezone America/Los_Angeles
```
## 3. Preparing For Web Requests
## 4. PREPARING FOR WEB REQUESTS
To prepare the server to receive web requests, you'll need to follow a few steps.
### 3.1. SSL Certificate
### 4.1. SSL Certificate Configuration
:::note
If the Firewall has been set up, you'll need to temporarily allow port 80 for the certificate to generate.
@@ -88,7 +108,7 @@ When you need to renew the certificate:
sudo certbot renew
```
### 3.2. NGINX
### 4.2. NGINX Configuration
All requests should be routed through NGINX. At no point should an application run directly on ports 80 or 443.
@@ -133,11 +153,11 @@ If so, restart NGINX to apply the changes:
sudo systemctl restart nginx
```
## 4. Securing the Server
## 5. SECURING THE SERVER
We have a minimum level of security that is required on ALL of our servers. This section should not be treated as the best effort, but as the minimal requirements to comply with our policies.
### 4.1. Firewall
### 5.1. Firewall Configuration
We use `ufw` as our firewall. First, enable the SSH port.
@@ -158,7 +178,7 @@ Enable the firewall. You may get dropped from the SSH connection.
sudo ufw enable
```
### 4.2. Fail2Ban
### 5.2. Fail2Ban Configuration
We also use Fail2Ban to block IP addresses which fail to make requests too often.
@@ -289,7 +309,7 @@ And to unban them:
sudo fail2ban-client set nginx-auth unbanip <ip>
```
## 5. Uploading a Project
## 6. UPLOADING PROJECTS
To upload a project, you should **not** use `git` to clone the project to the machine. Instead, start by cloning the project to your local environment and navigating to the directory:
@@ -301,14 +321,14 @@ cd /path/to/project
Then sync the project up to the machine, ignoring any installed packages.
```bash
rsync -av --exclude='node_modules' ./ <server name>:/home/nhcarrigan/<project directory>
rsync -av --exclude='node_modules' ./ <server name>:/home/NHCarrigan/<project directory>
```
## 6. Running a Project
## 7. RUNNING PROJECTS
Now you are ready to start running the project.
### 6.1. Node.js
### 7.1. Node.js Setup
Most of our projects will run on Node. For a new machine, you'll need to set that up.
@@ -338,7 +358,7 @@ Finally, install `pnpm` as the package manager.
npm i -g pnpm
```
### 6.2. PM2
### 7.2. PM2 Process Management
All of our processes run with PM2 to allow for monitoring and auto-restarts. You'll need to install it.
@@ -353,3 +373,56 @@ pm2 start '<script>' --name '<name>'
```
Then run `pm2 save` to save the application list.
## 8. LIMITATION OF LIABILITY AND DISCLAIMERS
### 8.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 8.2. Server Configuration Disclaimer
This Documentation establishes mandatory security and configuration standards. However, compliance with these standards does not guarantee:
- Complete protection against all security threats or vulnerabilities
- Uninterrupted service availability or performance
- Compatibility with all applications or use cases
- Protection against all forms of attack or compromise
### 8.3. Security Disclaimer
While this Documentation establishes security requirements, server administrators are responsible for:
- Implementing additional security measures appropriate to their specific threat environment
- Regularly updating and patching all software and dependencies
- Monitoring server logs and security alerts
- Responding promptly to security incidents
- Maintaining compliance with all applicable security regulations and standards
### 8.4. Third-Party Services and Tools
This Documentation references various third-party services, tools, and software packages. Our organisation:
- Does not guarantee the security, availability, or functionality of third-party services
- Is not responsible for issues arising from the use of third-party tools or services
- Recommends that administrators review third-party licenses, terms of service, and security practices
- Does not provide support for third-party tools beyond what is necessary for project functionality
### 8.5. Technical Accuracy Disclaimer
While we strive to maintain accurate and current information in this Documentation, technical standards, software versions, and security best practices evolve continuously. Server administrators are responsible for:
- Verifying current software versions and compatibility
- Adapting configurations to their specific system requirements
- Ensuring compliance with current security standards and regulations
- Consulting additional resources for the most current security recommendations
## 9. CONCLUSION
This Server Setup Documentation establishes mandatory standards and procedures for configuring remote servers used to host projects maintained by our organisation. Strict adherence to these requirements is essential for maintaining security, reliability, and compliance with our organisational policies and legal obligations.
All personnel responsible for server configuration, deployment, or maintenance must familiarise themselves with and comply with the requirements set forth in this Documentation. Questions about server configuration requirements or security standards should be directed to appropriate technical leadership through designated communication channels.
---
*For questions about server configuration requirements or to suggest improvements, please contact technical leadership through the designated channels outlined in our Security Policy.*
+73 -19
View File
@@ -2,27 +2,47 @@
title: Style Guide
---
This document outlines the style guide that applies to all of our projects.
**ESTABLISHING CODE STYLE STANDARDS AND CONVENTIONS FOR ALL PROJECTS**
## 1. Global Conventions
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Style Guide (hereinafter referred to as "the Guide") establishes mandatory code style standards, conventions, and formatting requirements applicable to all projects maintained by our organisation. This Guide operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Contributor Covenant, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Guide applies to all code contributions, regardless of contributor status, project type, or development context. All contributors are required to comply with the standards set forth in this Guide.
**IMPORTANT: Non-compliance with this Guide may result in rejection of contributions, requests for modification, or other appropriate actions as determined by project maintainers.**
### 1.3. Legal Compliance and Intellectual Property
All code contributions must comply with:
- Our global software licence: Naomi's Public Licence
- Contributor Covenant requirements
- Applicable intellectual property laws and regulations
- Export control and data protection requirements
## 2. GLOBAL CONVENTIONS
These sections apply to all code in any of our projects.
### 1.1. Copyright Notice
### 2.1. Copyright Notice
All code files should begin with a comment section containing the copyright information:
```js
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @copyright NHCarrigan
* @license Naomi's Public Licence
* @author Naomi Carrigan
*/
```
Note that `copyright` _must_ be assigned to `nhcarrigan`, and our `license` must be applied, but when checking in new code you may attribute yourself as the author, or add yourself to the list for existing code.
Note that `copyright` _must_ be assigned to `NHCarrigan`, and our `license` must be applied, but when checking in new code you may attribute yourself as the author, or add yourself to the list for existing code.
## 2. JavaScript Projects
## 3. JAVASCRIPT AND TYPESCRIPT PROJECTS
The following sections apply to our JavaScript/TypeScript projects. Style conventions are enforced through our [custom ESLint package](/projects/eslint).
@@ -43,11 +63,11 @@ If you are using VSCode, you can add this to your `.vscode/settings.json` file i
Because of this, our style guide will not cover the formatting section of our linter package.
:::
## 2.1. Main Rules
### 3.1. Main Rules
These rules apply to all TypeScript code, and will run on files in `src/**/*.ts`.
### 2.1.1. `eslint` Enforced Rules
#### 3.1.1. ESLint Enforced Rules
- Setters must have a corresponding getter.
- Array methods which return a value must return a value in the callback.
@@ -193,7 +213,7 @@ These rules apply to all TypeScript code, and will run on files in `src/**/*.ts`
- `typeof` comparators must be a valid return type of `typeof`.
- Conditions should always start with the variable, not the constant.
### 2.1.2. `typescript-eslint` Enforced Rules
#### 3.1.2. TypeScript-ESLint Enforced Rules
- Do not use `await` on functions that do not return a Promise.
- Exported type definitions should use the `export type` keyword.
@@ -297,16 +317,16 @@ These rules apply to all TypeScript code, and will run on files in `src/**/*.ts`
- Do not use TypeScript's `///` reference.
- Do not use overloads when the same result can be achieved via union types or optional parameters.
### 2.1.3. `eslint-comments` Enforced Rules
#### 3.1.3. ESLint-Comments Enforced Rules
- Do not use blanket `eslint-disable` directives. All `disable` directives must target specific rules.
- All `disable` directives must include a comment explaining why the linter is being bypassed.
### 2.1.4. `deprecation` Enforced Rules
#### 3.1.4. Deprecation Enforced Rules
- Do not use deprecated methods/features, even if the package still supports them.
### 2.1.5. `import` Enforced Rules
#### 3.1.5. Import Enforced Rules
- Do not use default imports if the module does not have a default export.
- Do not import modules simply to re-export them.
@@ -333,7 +353,7 @@ These rules apply to all TypeScript code, and will run on files in `src/**/*.ts`
- Imports must be sorted alphabetically, first grouped by: builtin node modules, external packages, internal packages, modules in parent directory, modules in current directory, type-only imports.
- There should be no new lines between these groups.
### 2.1.6. `jsdoc` Enforced Rules
#### 3.1.6. JSDoc Enforced Rules
- `@access` tags should be one of `package`, `private`, `protected`, or `public`.
- Asterisks should be aligned.
@@ -343,7 +363,7 @@ These rules apply to all TypeScript code, and will run on files in `src/**/*.ts`
- Should not use `=` (GCC syntax).
- All tags must be valid JSDoc tags.
- `@template` names should be used in the `@typedef`.
- `@license` tag MUST be set to `Naomi's Public License`.
- `@license` tag MUST be set to `Naomi's Public Licence`.
- Tags that do not expect content should not have content.
- `@implements` should only be used on constructors or classes.
- Tag descriptions should not be just a reflection of the name.
@@ -363,7 +383,7 @@ These rules apply to all TypeScript code, and will run on files in `src/**/*.ts`
- There should be no blank lines between tags.
- Any types referenced must be valid types.
### 2.1.7. `unicorn` Enforced Rules
#### 3.1.7. Unicorn Enforced Rules
- Regular expressions should use special shorthand where possible.
- `catch` blocks should always have `error` as the parameter.
@@ -433,7 +453,7 @@ These rules apply to all TypeScript code, and will run on files in `src/**/*.ts`
- `Array.join()` must always be given a separator.
- `Number.toFixed()` must always be given a digits argument.
## 2.2. React Rules
### 3.2. React Rules
These rules apply to TSX, and will run on files in `src/**/*.tsx`.
@@ -499,7 +519,7 @@ These rules apply to TSX, and will run on files in `src/**/*.tsx`.
- The `style` property must always be an object.
- Void elements `img`, `br` etc. must never have children.
## 2.3. Playwright Rules
### 3.3. Playwright Rules
These files apply to Playwright End-to-end tests, and will run on `e2e/**/*.spec.ts`.
@@ -542,7 +562,7 @@ These files apply to Playwright End-to-end tests, and will run on `e2e/**/*.spec
- Promises that contain an `expect` must be awaited.
- Tests must have a title that is not empty.
## 2.4. Vitest Rules
### 3.4. Vitest Rules
These files apply to Vitest unit tests, and will run on `test/**/*.spec.ts`.
@@ -593,3 +613,37 @@ We also mandate the use of `describe`, `it`, and `expect` over `suite`, `test`,
- The `describe` callback should not have any parameters and cannot use `return`.
- All `expect()` calls must have a custom message.
- Tests must have a title that is not empty.
## 4. LIMITATION OF LIABILITY AND DISCLAIMERS
### 4.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 4.2. Style Guide Disclaimer
This Guide establishes mandatory standards for code contributions. However, compliance with this Guide does not guarantee acceptance of contributions. Project maintainers reserve the right to:
- Request modifications to code that complies with this Guide
- Reject contributions for reasons beyond style compliance
- Modify or update this Guide at any time without prior notice
- Interpret Guide requirements in specific contexts as necessary
### 4.3. Technical Accuracy Disclaimer
While we strive to maintain accurate and current information in this Guide, technical standards, tooling, and best practices evolve continuously. Contributors are responsible for:
- Verifying current tool versions and compatibility
- Ensuring their development environment matches project requirements
- Adapting to updates in this Guide as they are published
- Consulting project-specific documentation for additional requirements
## 5. CONCLUSION
This Style Guide represents our commitment to maintaining high-quality, consistent, and maintainable code across all projects. By adhering to these standards, contributors help ensure that our codebase remains accessible, professional, and aligned with industry best practices.
All contributors are expected to familiarise themselves with and comply with the requirements set forth in this Guide. Questions about specific requirements or requests for clarification should be directed to project maintainers through appropriate communication channels.
---
*For questions about style requirements or to suggest improvements, please contact project maintainers through the designated channels outlined in our Contributor Covenant.*
+1 -13
View File
@@ -6,19 +6,7 @@ hero:
tagline:
This site contains all of the documentation related to NHCarrigan, its Policies, and its Projects.
actions:
- text: Mission Statement
- text: Let's Go!
link: /about/mission/
variant: secondary
- text: Code of Conduct
link: /community/coc/
variant: secondary
- text: Contributing Guide
link: /dev/contributing/
variant: secondary
- text: Software License
link: /legal/license/
variant: secondary
- text: Contact Us
link: /about/contact/
variant: secondary
---
+703
View File
@@ -0,0 +1,703 @@
---
title: Acceptable Use Policy
---
**DEFINING ACCEPTABLE AND PROHIBITED USAGE OF OUR SERVICES AND PLATFORMS**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Purpose
This Acceptable Use Policy ("AUP") establishes comprehensive guidelines for the appropriate use of all services, applications, and platforms provided by NHCarrigan ("we," "us," "our," or "the Company"). This AUP operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, and all applicable legal protections by reference, and supplements these policies to provide detailed guidance on acceptable and prohibited usage patterns.
### 1.2. Scope of Application
This AUP applies to all users of our Services, including:
**(a)** All websites, web applications, and online platforms operated by NHCarrigan;
**(b)** Application Programming Interfaces (APIs) and related development tools;
**(c)** Community forums, chat platforms, and interactive services;
**(d)** Mobile applications and desktop software;
**(e)** Support services, documentation, and auxiliary platforms;
**(f)** Any other services, platforms, or tools provided by NHCarrigan.
### 1.3. Integration with Other Policies
This AUP operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Service Level Agreement, Content and Moderation Policy, Limitation of Liability and Indemnification Policy, and all applicable legal protections by reference.
**(g)** Our Export Control and Sanctions Compliance Policy, which governs international trade compliance;
**(h)** Our API Terms and Conditions, which govern developer and API services;
**(i)** Any additional service-specific terms or conditions that may apply.
Where conflicts arise between policies, the most restrictive terms shall apply to ensure maximum protection for all users and our organisation.
### 1.4. Acceptance and Compliance
By accessing or using any of our Services, you acknowledge that you have read, understood, and agree to comply with this AUP. Continued use of the Services constitutes ongoing acceptance of these terms and any modifications we may make.
## 2. GENERAL ACCEPTABLE USE PRINCIPLES
### 2.1. Fundamental Usage Principles
All use of our Services must be consistent with the following principles:
**(a)** **Lawful Purpose**: Services may only be used for lawful purposes in accordance with all applicable laws and regulations;
**(b)** **Good Faith**: Users must engage with Services and other users in good faith and with honest intent;
**(c)** **Respectful Interaction**: All interactions must demonstrate respect for other users, our staff, and the broader community;
**(d)** **Resource Responsibility**: Users must use system resources responsibly and not engage in activities that degrade performance for other users;
**(e)** **Security Awareness**: Users must take reasonable precautions to maintain security and report potential security issues.
### 2.2. Community Standards
Our Services are designed to foster positive, inclusive communities. All usage must:
**(a)** **Promote Inclusivity**: Support welcoming environments for users from diverse backgrounds;
**(b)** **Encourage Learning**: Facilitate educational experiences and knowledge sharing;
**(c)** **Support Collaboration**: Enable productive collaboration and constructive dialogue;
**(d)** **Maintain Quality**: Contribute to high-quality discussions and content;
**(e)** **Respect Boundaries**: Acknowledge and respect other users' boundaries and preferences.
### 2.3. Ethical Usage Requirements
Users are expected to:
**(a)** **Act with Integrity**: Conduct themselves honestly and transparently in all interactions;
**(b)** **Respect Privacy**: Protect the privacy and personal information of other users;
**(c)** **Honour Intellectual Property**: Respect copyright, trademark, and other intellectual property rights;
**(d)** **Avoid Harm**: Refrain from activities that could cause harm to individuals or organisations;
**(e)** **Take Responsibility**: Accept responsibility for the consequences of their actions and usage.
## 3. PROHIBITED ACTIVITIES AND CONTENT
### 3.1. Illegal Activities
Users are strictly prohibited from using our Services for:
**(a)** **Criminal Activity**: Any activity that violates criminal laws in any applicable jurisdiction;
**(b)** **Fraud and Deception**: Fraudulent schemes, identity theft, impersonation, or deceptive practices;
**(c)** **Money Laundering**: Any activity designed to obscure the source of illegally obtained funds;
**(d)** **Tax Evasion**: Activities designed to evade tax obligations or facilitate tax fraud;
**(e)** **Regulatory Violations**: Activities that violate financial, securities, or other regulatory requirements;
**(f)** **Export Control and Sanctions Violations**: Activities that violate export control laws or sanctions programmes as detailed in our Export Control and Sanctions Compliance Policy;
**(g)** **Drug-Related Crimes**: Sale, distribution, or promotion of illegal drugs or controlled substances;
**(h)** **Human Trafficking**: Any form of human trafficking or exploitation.
### 3.2. Abuse and Harassment
Our Services may not be used for:
**(a)** **Personal Harassment**: Targeting individuals with repeated unwanted contact or attention;
**(b)** **Cyberbullying**: Deliberate and repeated hostile behaviour intended to harm others;
**(c)** **Doxxing**: Publishing private personal information without consent;
**(d)** **Stalking**: Following or tracking individuals without their consent;
**(e)** **Threats**: Making threats of violence or other harmful actions;
**(f)** **Intimidation**: Using our Services to intimidate or coerce others;
**(g)** **Hate Speech**: Content that promotes violence or hatred based on protected characteristics;
**(h)** **Discrimination**: Content or behaviour that discriminates against individuals or groups.
### 3.3. Spam and Unsolicited Communications
Prohibited spam and unsolicited communication activities include:
**(a)** **Mass Messaging**: Sending unsolicited bulk messages or communications;
**(b)** **Commercial Spam**: Unsolicited advertising or promotional materials;
**(c)** **Phishing**: Attempts to obtain sensitive information through deceptive means;
**(d)** **Chain Letters**: Pyramid schemes, chain letters, or similar viral content;
**(e)** **Bot Networks**: Operating networks of automated accounts for spam or manipulation;
**(f)** **Content Flooding**: Overwhelming channels or forums with repetitive or irrelevant content;
**(g)** **Harvesting**: Collecting user information for unsolicited marketing or communication;
**(h)** **Referral Abuse**: Manipulating referral or affiliate programmes through deceptive means.
### 3.4. Technical Abuse and Security Violations
Users may not engage in:
**(a)** **Unauthorised Access**: Attempting to access systems, accounts, or data without proper authorisation;
**(b)** **System Disruption**: Activities designed to disrupt, disable, or overload our Services;
**(c)** **Malware Distribution**: Uploading, transmitting, or distributing malicious software;
**(d)** **Vulnerability Exploitation**: Exploiting security vulnerabilities for unauthorised purposes;
**(e)** **Denial of Service**: Launching attacks designed to make services unavailable;
**(f)** **Traffic Manipulation**: Artificially inflating metrics or manipulating usage statistics;
**(g)** **Reverse Engineering**: Unauthorised reverse engineering of our software or systems;
**(h)** **Circumvention**: Bypassing security measures, access controls, or usage limitations.
### 3.5. Intellectual Property Violations
Prohibited intellectual property violations include:
**(a)** **Copyright Infringement**: Unauthorised use, reproduction, or distribution of copyrighted material;
**(b)** **Trademark Misuse**: Unauthorised use of trademarks or service marks;
**(c)** **Patent Infringement**: Use of patented inventions without proper licensing;
**(d)** **Trade Secret Theft**: Misappropriation of confidential business information;
**(e)** **Plagiarism**: Presenting others' work as your own without proper attribution;
**(f)** **Licence Violations**: Using software or content in violation of licensing terms;
**(g)** **Counterfeit Goods**: Promotion or distribution of counterfeit products;
**(h)** **False Attribution**: Misrepresenting the source or ownership of intellectual property.
### 3.6. Harmful Content
**Reference to Content and Moderation Policy**: Detailed standards for prohibited content, including violent, adult, exploitative, and harmful content, are comprehensively covered in our Content and Moderation Policy, which is incorporated herein by reference.
Users may not upload, share, or distribute any content that violates the standards set forth in our Content and Moderation Policy.
## 4. SPECIFIC PLATFORM USAGE GUIDELINES
### 4.1. Community Platform Usage
When using our community forums, chat services, and interactive platforms:
**(a)** **Stay On Topic**: Keep discussions relevant to designated channels or forums;
**(b)** **Use Appropriate Channels**: Post content in appropriate sections or categories;
**(c)** **Respect Moderation**: Follow moderator instructions and respect community decisions;
**(d)** **Quality Contributions**: Contribute meaningfully to discussions rather than posting low-quality content;
**(e)** **Search Before Posting**: Check for existing discussions before creating new topics;
**(f)** **Constructive Criticism**: Provide helpful, constructive feedback rather than destructive criticism;
**(g)** **Citation and Attribution**: Properly cite sources and give credit when sharing others' work;
**(h)** **Language Standards**: Use clear, respectful language appropriate for the community context.
### 4.2. API and Development Tool Usage
When using our APIs and development tools:
**(a)** **Rate Limit Compliance**: Respect all rate limits and usage quotas;
**(b)** **Authentication**: Properly authenticate all requests and protect API credentials;
**(c)** **Error Handling**: Implement proper error handling and retry logic;
**(d)** **Caching**: Use appropriate caching to reduce unnecessary API calls;
**(e)** **Documentation**: Follow published API documentation and best practices;
**(f)** **Testing**: Use appropriate testing environments rather than production systems;
**(g)** **Monitoring**: Monitor usage patterns to ensure compliance with limits;
**(h)** **Updates**: Stay informed about API changes and update implementations accordingly.
### 4.3. Content Submission and Sharing
When submitting or sharing content through our Services:
**(a)** **Original Work**: Ensure you have the right to share any content you submit;
**(b)** **Accurate Information**: Provide accurate and truthful information;
**(c)** **Appropriate Categorisation**: Categorise and tag content appropriately;
**(d)** **Content Warnings**: Provide appropriate warnings for potentially sensitive content;
**(e)** **Copyright Compliance**: Ensure all shared content complies with copyright law;
**(f)** **Privacy Respect**: Do not share others' private information without consent;
**(g)** **Quality Standards**: Maintain reasonable quality standards for shared content;
**(h)** **Community Guidelines**: Follow any specific guidelines for content types or categories.
## 5. COMMERCIAL AND BUSINESS USE
### 5.1. Permitted Commercial Activities
The following commercial activities are generally permitted when conducted in accordance with applicable terms:
**(a)** **Educational Services**: Providing educational content, training, or consulting services;
**(b)** **Open Source Development**: Contributing to or maintaining open source projects;
**(c)** **Community Building**: Building communities around products or services;
**(d)** **Content Creation**: Creating educational or informational content related to our services;
**(e)** **Legitimate Promotion**: Reasonable promotion of products or services relevant to community interests;
**(f)** **Professional Services**: Offering professional services related to our platforms or community;
**(g)** **Event Organisation**: Organising educational or community events;
**(h)** **Research Activities**: Conducting legitimate research or academic studies.
### 5.2. Prohibited Commercial Activities
The following commercial activities are prohibited:
**(a)** **Unauthorised Reselling**: Reselling or redistributing our services without authorisation;
**(b)** **Competitive Services**: Using our services to develop competing products or services;
**(c)** **Data Harvesting**: Collecting user data for commercial exploitation;
**(d)** **Spam Marketing**: Using our services for unsolicited marketing or advertising;
**(e)** **Fraudulent Schemes**: Operating fraudulent business schemes or scams;
**(f)** **Pyramid Schemes**: Promoting pyramid schemes or multi-level marketing scams;
**(g)** **Unauthorised Monetisation**: Monetising our services without proper authorisation;
**(h)** **Brand Confusion**: Using our brand or trademarks in ways that create confusion.
### 5.3. Commercial Use Authorisation
For commercial activities that may require special authorisation:
**(a)** **Written Permission**: Obtain written permission for activities not clearly covered by standard terms;
**(b)** **Licensing Agreements**: Enter into appropriate licensing agreements when required;
**(c)** **Revenue Sharing**: Comply with any revenue sharing requirements;
**(d)** **Brand Guidelines**: Follow brand usage guidelines for any use of our trademarks or logos;
**(e)** **Commercial Terms**: Agree to any additional commercial terms that may apply;
**(f)** **Regular Review**: Submit to regular review of commercial usage patterns;
**(g)** **Reporting Requirements**: Comply with any reporting requirements for commercial usage;
**(h)** **Termination Rights**: Acknowledge our right to terminate commercial arrangements.
## 6. RESOURCE USAGE AND PERFORMANCE
### 6.1. Fair Use of System Resources
Users must:
**(a)** **Reasonable Usage**: Use system resources reasonably and not excessively;
**(b)** **Efficient Operations**: Design applications and usage patterns for efficiency;
**(c)** **Resource Monitoring**: Monitor resource usage to avoid exceeding reasonable limits;
**(d)** **Optimisation**: Optimise code and queries for performance and resource efficiency;
**(e)** **Caching**: Implement appropriate caching to reduce server load;
**(f)** **Batch Operations**: Use batch operations rather than individual requests where appropriate;
**(g)** **Off-Peak Usage**: Schedule resource-intensive operations during off-peak hours when possible;
**(h)** **Graceful Degradation**: Implement graceful degradation when resources are limited.
### 6.2. Prohibited Resource Usage
The following resource usage patterns are prohibited:
**(a)** **Excessive Consumption**: Using disproportionate amounts of bandwidth, storage, or processing power;
**(b)** **Resource Hoarding**: Claiming or reserving resources not actively being used;
**(c)** **Intentional Overload**: Deliberately overloading systems or services;
**(d)** **Mining Activities**: Using our systems for cryptocurrency mining or similar activities;
**(e)** **Proxy Services**: Using our services as proxies or VPNs without authorisation;
**(f)** **Load Testing**: Conducting load testing or stress testing without prior approval;
**(g)** **Automated Scraping**: Automated scraping or crawling beyond reasonable limits;
**(h)** **Storage Abuse**: Using storage services for inappropriate content or excessive backup purposes.
### 6.3. Performance Impact Mitigation
To minimise performance impact on other users:
**(a)** **Rate Limiting**: Implement client-side rate limiting to avoid overwhelming services;
**(b)** **Error Handling**: Implement proper error handling to avoid retry storms;
**(c)** **Connection Management**: Properly manage connections and avoid connection leaks;
**(d)** **Data Compression**: Use appropriate data compression for network transfers;
**(e)** **Lazy Loading**: Implement lazy loading for non-critical resources;
**(f)** **Progress Monitoring**: Monitor long-running operations for completion and errors;
**(g)** **Timeout Handling**: Implement appropriate timeouts for all operations;
**(h)** **Resource Cleanup**: Properly clean up resources after use.
## 7. DATA HANDLING AND PRIVACY
### 7.1. Personal Data Protection
Users must:
**(a)** **Consent Requirements**: Obtain proper consent before collecting or processing personal data;
**(b)** **Data Minimisation**: Collect only the minimum data necessary for stated purposes;
**(c)** **Purpose Limitation**: Use personal data only for the purposes for which it was collected;
**(d)** **Security Measures**: Implement appropriate security measures to protect personal data;
**(e)** **Retention Limits**: Retain personal data only for as long as necessary;
**(f)** **Access Rights**: Respect individuals' rights to access, correct, and delete their data;
**(g)** **Breach Notification**: Promptly report any suspected data breaches or security incidents;
**(h)** **Legal Compliance**: Comply with all applicable data protection laws and regulations.
### 7.2. Prohibited Data Practices
Users may not:
**(a)** **Unauthorised Collection**: Collect personal data without proper legal basis;
**(b)** **Data Scraping**: Scrape or harvest user data from our services;
**(c)** **Profile Building**: Build user profiles without explicit consent;
**(d)** **Data Sale**: Sell or monetise personal data obtained through our services;
**(e)** **Cross-Platform Tracking**: Track users across multiple platforms without consent;
**(f)** **Sensitive Data**: Process sensitive personal data without explicit consent and proper safeguards;
**(g)** **Data Sharing**: Share personal data with third parties without proper consent;
**(h)** **Retention Abuse**: Retain personal data longer than necessary or permitted.
### 7.3. Data Security Requirements
When handling data through our services:
**(a)** **Encryption**: Use appropriate encryption for data in transit and at rest;
**(b)** **Access Controls**: Implement proper access controls and authentication;
**(c)** **Audit Logging**: Maintain audit logs of data access and processing activities;
**(d)** **Backup Security**: Ensure backups are properly secured and encrypted;
**(e)** **Incident Response**: Have appropriate incident response procedures in place;
**(f)** **Regular Updates**: Keep systems updated with security patches;
**(g)** **Vulnerability Management**: Regularly assess and address security vulnerabilities;
**(h)** **Staff Training**: Ensure staff are trained on data security best practices.
## 8. ENFORCEMENT AND COMPLIANCE
### 8.1. Monitoring and Detection
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
We employ various methods to monitor compliance with this AUP:
**(a)** **Automated Monitoring**: Automated systems to detect prohibited activities;
**(b)** **User Reporting**: Community reporting mechanisms for policy violations;
**(c)** **Manual Review**: Human review of reported content and activities;
**(d)** **Pattern Analysis**: Analysis of usage patterns to identify potential violations;
**(e)** **Security Scanning**: Regular security scans to identify malicious activities;
**(f)** **Performance Monitoring**: Monitoring for unusual resource usage patterns;
**(g)** **Content Analysis**: Analysis of submitted content for policy compliance;
**(h)** **Behavioural Analysis**: Monitoring for suspicious or harmful behavioural patterns.
### 8.2. Violation Response Procedures
When violations are identified, we may take the following actions:
**(a)** **Warning**: Issue formal warnings about policy violations;
**(b)** **Content Removal**: Remove violating content from our services;
**(c)** **Account Suspension**: Temporarily suspend user accounts;
**(d)** **Feature Restrictions**: Restrict access to specific features or services;
**(e)** **Rate Limiting**: Implement additional rate limits for abusive usage;
**(f)** **Account Termination**: Permanently terminate user accounts for serious violations;
**(g)** **Legal Action**: Pursue legal remedies for serious violations or continued non-compliance;
**(h)** **Law Enforcement**: Report criminal activities to appropriate law enforcement agencies.
### 8.3. Progressive Enforcement
Our enforcement approach generally follows a progressive model:
**(a)** **First Violation**: Education and warning about policy requirements;
**(b)** **Second Violation**: Formal warning with specific corrective actions required;
**(c)** **Third Violation**: Temporary suspension with mandatory policy review;
**(d)** **Continued Violations**: Permanent account termination and service exclusion;
**(e)** **Serious Violations**: Immediate severe penalties for violations that pose significant risk;
**(f)** **Criminal Activity**: Immediate termination and law enforcement referral;
**(g)** **Security Threats**: Immediate protective measures and account restrictions;
**(h)** **Repeated Offenders**: Enhanced penalties for users with previous violation history.
### 8.4. Appeals and Review
Users may appeal enforcement actions through:
**(a)** **Appeals Process**: Formal appeals process as outlined in our Community Appeals Policy;
**(b)** **Evidence Submission**: Opportunity to provide evidence and explanations;
**(c)** **Independent Review**: Review by Team members not involved in the original decision;
**(d)** **Corrective Actions**: Opportunity to take corrective actions to address violations;
**(e)** **Account Restoration**: Possible account restoration for successfully appealed actions;
**(f)** **Policy Clarification**: Clarification of policy requirements and expectations;
**(g)** **Education Opportunities**: Additional education about policy compliance;
**(h)** **Ongoing Monitoring**: Enhanced monitoring for users with violation history.
## 9. REPORTING VIOLATIONS
### 9.1. Community Reporting
We encourage users to report policy violations through:
**(a)** **Report Features**: Built-in reporting features within our applications and platforms;
**(b)** **Email Reporting**: Direct email reports to abuse@nhcarrigan.com;
**(c)** **Community Moderators**: Reports to designated community moderators;
**(d)** **Support Channels**: Reports through general support channels with appropriate categorisation;
**(e)** **Anonymous Reporting**: Anonymous reporting options where technically feasible;
**(f)** **Urgent Reports**: Expedited reporting for urgent safety or security issues;
**(g)** **Documentation**: Detailed documentation of violations with supporting evidence;
**(h)** **Follow-up**: Follow-up communication about report status and outcomes.
### 9.2. What to Include in Reports
Effective violation reports should include:
**(a)** **Specific Details**: Clear description of the violating behaviour or content;
**(b)** **Policy Reference**: Reference to specific policy provisions that were violated;
**(c)** **Evidence**: Screenshots, logs, or other evidence supporting the report;
**(d)** **Context**: Relevant context that helps understand the violation;
**(e)** **Impact**: Description of harm or potential harm caused by the violation;
**(f)** **User Information**: Information about the violating user or account;
**(g)** **Time and Date**: When the violation occurred;
**(h)** **Contact Information**: Your contact information for follow-up questions.
### 9.3. Reporter Protection
We are committed to protecting users who report violations:
**(a)** **Confidentiality**: Reporter information is kept confidential to the extent possible;
**(b)** **No Retaliation**: We prohibit retaliation against users who make good-faith reports;
**(c)** **Anonymous Options**: Anonymous reporting options where technically feasible;
**(d)** **Privacy Protection**: Reporter identity is not disclosed to alleged violators;
**(e)** **Support Services**: Support for users who experience harassment for reporting violations;
**(f)** **Legal Protection**: Legal support for reporters facing retaliation;
**(g)** **Community Support**: Community support for users who report serious violations;
**(h)** **Safe Environment**: Commitment to maintaining safe environments for reporting violations.
## 10. POLICY UPDATES AND MODIFICATIONS
### 10.1. Right to Modify
We reserve the right to modify this AUP at any time to:
**(a)** **Address New Risks**: Respond to emerging security threats or abuse patterns;
**(b)** **Legal Compliance**: Ensure compliance with changing laws and regulations;
**(c)** **Service Evolution**: Reflect changes in our services and technology;
**(d)** **Community Feedback**: Incorporate feedback from users and community members;
**(e)** **Best Practices**: Align with evolving industry best practices;
**(f)** **Clarification**: Clarify ambiguous provisions based on enforcement experience;
**(g)** **Coverage Expansion**: Expand coverage to address previously unaddressed issues;
**(h)** **Effectiveness**: Improve the effectiveness of policy enforcement.
### 10.2. Notification of Changes
Material changes to this AUP will be communicated through:
**(a)** **Website Notice**: Prominent notice on our primary website;
**(b)** **Email Notification**: Direct notification to registered users where contact information is available;
**(c)** **In-Service Notifications**: Notifications within our applications and platforms;
**(d)** **Community Announcements**: Announcements in community forums and channels;
**(e)** **Policy Updates Page**: Dedicated page documenting policy changes and their rationale;
**(f)** **Version History**: Maintained version history of policy changes;
**(g)** **Change Notice**: Clear indication of when changes become effective;
**(h)** **Transition Periods**: Reasonable transition periods for compliance with new requirements.
### 10.3. User Response to Changes
Following notification of policy changes:
**(a)** **Review Period**: Users have reasonable time to review changes before they take effect;
**(b)** **Continued Use**: Continued use of services constitutes acceptance of modified terms;
**(c)** **Opt-Out Rights**: Users may discontinue service use if they disagree with changes;
**(d)** **Feedback Opportunities**: Opportunities to provide feedback about proposed changes;
**(e)** **Clarification Requests**: Users may request clarification about policy changes;
**(f)** **Compliance Timeline**: Reasonable timeline for bringing existing usage into compliance;
**(g)** **Support Resources**: Additional support resources to help understand and comply with changes;
**(h)** **Grandfathering**: Consideration of grandfathering provisions for existing legitimate usage.
## 11. CONTACT INFORMATION AND SUPPORT
### 11.1. Policy Questions and Clarifications
For questions about this AUP:
**Email:** aup@nhcarrigan.com
**Subject Line:** AUP Inquiry - [Brief Description]
**Response Time:** Within 7-10 business days for policy clarification requests
### 11.2. Violation Reporting
To report policy violations:
**Incident Report Form** (Preferred): Submit reports through our official Incident Report Form: https://forms.nhcarrigan.com/o/docs/forms/t7CYeYS4uyUuLiKFatoEvs/4
**Email:** abuse@nhcarrigan.com
**Subject Line:** Policy Violation Report - [Service/Platform]
**Response Time:** Within 7-10 business days for all reports
### 11.3. Appeals and Disputes
For appeals related to AUP enforcement:
**Email:** appeals@nhcarrigan.com
**Subject Line:** AUP Appeal - [Account/Case Reference]
**Process:** Follow our Community Appeals Policy procedures
### 11.4. Technical Support
For technical issues related to policy compliance:
**Email:** support@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
**Response Time:** Within 7-10 business days for technical support requests
---
*This Acceptable Use Policy establishes comprehensive guidelines for appropriate use of our services. By using our Services, you agree to comply with these usage standards and acknowledge that violations may result in service restrictions or termination. For questions about acceptable use or to report violations, please contact us at aup@nhcarrigan.com.*
@@ -0,0 +1,453 @@
---
title: Community Growth Policy
---
**ETHICAL COMMUNITY GROWTH GUIDELINES AND FRAMEWORK**
## 1. POLICY OVERVIEW AND COMMITMENT
### 1.1. Growth Philosophy and Values
This Community Growth Policy establishes ethical guidelines for how community members can contribute to sustainable, values-aligned community growth. Our approach prioritises quality relationships over quantity metrics, emphasising authentic connection, mutual support, and alignment with our core values of social justice, inclusivity, and community empowerment.
### 1.2. Core Growth Principles
**Values-Driven Growth:**
- **Quality Over Quantity**: Focus on meaningful connections rather than numerical growth
- **Authentic Engagement**: Genuine interest in community values and participation
- **Mutual Benefit**: Growth that benefits both new and existing community members
- **Sustainable Practices**: Growth approaches that support long-term community health
- **Inclusive Representation**: Prioritising diversity and representation in growth efforts
**Anti-Exploitation Stance:**
- **No Predatory Recruitment**: Reject targeting vulnerable individuals for growth purposes
- **Transparent Intentions**: Honest communication about community expectations and culture
- **Consent-Based Engagement**: Respect for individual choice in community participation
- **Boundary Respect**: Recognition of personal and cultural boundaries in outreach efforts
- **Community Autonomy**: Support for community self-determination and organic growth
### 1.3. Integration with Community Values
**Social Justice Alignment:**
- **Anti-Oppression Focus**: Growth efforts that actively support marginalised communities
- **Accessibility Prioritisation**: Ensuring growth includes people with diverse abilities and needs
- **Economic Justice**: Growth that doesn't exclude people based on economic circumstances
- **Environmental Responsibility**: Sustainable growth practices that minimise environmental impact
- **Democratic Participation**: Growth that strengthens rather than dilutes community democracy
## 2. INDIVIDUAL MEMBER GROWTH CONTRIBUTIONS
### 2.1. Personal Network Outreach
#### 2.1.1. Authentic Relationship Building
**Effective Outreach Approaches:**
- **Share Personal Experiences**: Talk about what the community means to you personally
- **Highlight Value Alignment**: Focus on how community values align with friends' interests
- **Demonstrate Impact**: Share concrete examples of positive community impact
- **Invite Participation**: Invite engagement rather than demanding commitment
- **Respect Decisions**: Accept and respect when people aren't interested
**Relationship-Centred Approach:**
- **Know Your Audience**: Understand what aspects of the community might appeal to specific individuals
- **Personal Connection**: Build on existing relationships and shared values
- **Gradual Introduction**: Allow people to learn about the community at their own pace
- **Support Integration**: Help new members find their place and feel welcome
- **Long-Term Perspective**: Focus on sustainable relationships rather than quick conversions
#### 2.1.2. Community Representation
**Positive Community Representation:**
- **Authentic Engagement**: Represent the community accurately and honestly
- **Values Demonstration**: Model community values in your interactions
- **Inclusive Language**: Use language that welcomes diverse participation
- **Cultural Competency**: Represent the community's commitment to cultural responsiveness
- **Accessible Communication**: Ensure your communication is accessible to diverse audiences
**Avoiding Harmful Practices:**
- **No Pressure Tactics**: Avoid high-pressure recruitment or manipulation
- **Respect Boundaries**: Don't persist when someone expresses disinterest
- **Honest Communication**: Don't misrepresent community culture or expectations
- **No Exploitation**: Don't target people in vulnerable situations for recruitment purposes
- **Privacy Respect**: Don't share private information about community members or discussions
### 2.2. Content Creation and Sharing
#### 2.2.1. Values-Aligned Content
**Effective Content Strategies:**
- **Educational Resources**: Create content that educates about issues the community cares about
- **Community Stories**: Share positive stories about community impact and member experiences
- **Resource Compilation**: Curate helpful resources that align with community values
- **Skill Sharing**: Share knowledge and skills that benefit broader communities
- **Advocacy Content**: Create content that supports social justice and community values
**Platform-Specific Approaches:**
- **Discord**: Share invites thoughtfully with context about what people can expect
- **Reddit**: Participate authentically in relevant subreddits whilst mentioning community when appropriate
- **Bluesky/Twitter**: Share community content and values-aligned information with appropriate hashtags
- **LinkedIn**: Professional content that demonstrates community values in professional contexts
- **GitHub**: Technical contributions and documentation that showcase community technical work
- **YouTube**: Educational or informational content that represents community values
#### 2.2.2. Ethical Content Practices
**Content Quality Standards:**
- **Accuracy**: Ensure all content is accurate and well-researched
- **Accessibility**: Create content that is accessible to diverse audiences
- **Cultural Sensitivity**: Content that is respectful of diverse cultural perspectives
- **Privacy Protection**: Respect privacy of community members in content creation
- **Value Alignment**: All content should align with and represent community values
**Avoiding Problematic Content:**
- **No Misleading Information**: Don't misrepresent community culture or membership benefits
- **Avoid Exclusive Language**: Don't create content that excludes or marginalizes potential members
- **No Exploitation**: Don't exploit community participation for personal gain
- **Respect Boundaries**: Don't share private community discussions or member information
- **Quality Control**: Don't create low-quality content that reflects poorly on the community
### 2.3. Event Participation and Hosting
#### 2.3.1. Community Event Involvement
**Effective Event Participation:**
- **Active Engagement**: Participate meaningfully in community events and activities
- **Inclusive Facilitation**: Help create welcoming environments for new participants
- **Skill Sharing**: Contribute your skills and knowledge to community events
- **Accessibility Support**: Help ensure events are accessible to diverse participants
- **Follow-Up Engagement**: Connect with new participants after events to support integration
**Event Hosting and Organisation:**
- **Values Integration**: Ensure all events reflect and support community values
- **Accessibility Planning**: Plan events that are accessible to people with diverse needs
- **Inclusive Environment**: Create environments where diverse participants feel welcome
- **Educational Component**: Include educational elements that support community growth
- **Community Benefit**: Focus on events that benefit both community and broader society
#### 2.3.2. External Event Representation
**Community Representation at External Events:**
- **Conference Participation**: Represent the community at relevant conferences and gatherings
- **Workshop Facilitation**: Offer workshops that showcase community values and approach
- **Panel Participation**: Participate in panels that advance community values and visibility
- **Networking Events**: Network authentically whilst representing community values
- **Educational Presentations**: Present about community work and impact
**Best Practices for External Representation:**
- **Prepared Materials**: Have materials ready that accurately represent the community
- **Value Alignment**: Ensure representation aligns with community values and messaging
- **Inclusive Invitation**: Invite diverse participation rather than targeting specific demographics
- **Follow-Up Systems**: Have systems in place to follow up with interested individuals
- **Community Coordination**: Coordinate with community leadership about external representation
## 3. ORGANISATIONAL GROWTH STRATEGIES
### 3.1. Partnership Development
#### 3.1.1. Values-Aligned Partnerships
**Strategic Partnership Criteria:**
- **Shared Values**: Partner organisations must share core social justice values
- **Complementary Mission**: Partnerships should enhance rather than compromise community mission
- **Mutual Benefit**: Partnerships should benefit all involved parties
- **Community Input**: Community members should have input on significant partnership decisions
- **Ethical Practices**: Partner organisations must demonstrate ethical practices and accountability
**Partnership Development Process:**
- **Due Diligence**: Thorough research on potential partner organisations and their practices
- **Community Discussion**: Open community discussion about proposed partnerships
- **Trial Collaboration**: Start with small collaborative projects before formal partnerships
- **Regular Evaluation**: Ongoing evaluation of partnership effectiveness and alignment
- **Exit Strategies**: Clear processes for ending partnerships that no longer serve community values
#### 3.1.2. Cross-Platform Collaboration
**Multi-Platform Growth Strategies:**
- **Discord Integration**: Leverage Discord community for growth across other platforms
- **Reddit Community Building**: Build authentic presence in relevant Reddit communities
- **Social Media Coordination**: Coordinated presence across Bluesky, Twitter, and LinkedIn
- **GitHub Collaboration**: Technical collaboration that demonstrates community values
- **Gaming Community Integration**: Authentic participation in gaming communities like Guild Wars 2
**Platform-Specific Best Practices:**
- **Platform Culture Respect**: Understand and respect the culture of each platform
- **Authentic Participation**: Participate genuinely rather than just promoting community
- **Value Demonstration**: Demonstrate community values through platform participation
- **Community Building**: Focus on building authentic communities rather than just followers
- **Cross-Pollination**: Encourage organic connections between platform communities
### 3.2. Targeted Outreach and Recruitment
#### 3.2.1. Diversity-Centred Recruitment
**Priority Communities:**
- **Marginalised Identities**: Prioritise outreach to communities that are underrepresented in tech and social justice spaces
- **Geographic Diversity**: Seek geographic diversity whilst respecting cultural differences
- **Economic Accessibility**: Ensure growth includes people from diverse economic backgrounds
- **Accessibility Needs**: Actively recruit people with disabilities and diverse accessibility needs
- **Age Diversity**: Welcome participation across age groups and generational perspectives
**Culturally Responsive Outreach:**
- **Cultural Competency**: Develop cultural competency for outreach to diverse communities
- **Language Accessibility**: Provide materials in multiple languages when possible
- **Cultural Sensitivity**: Respect cultural differences in communication and participation styles
- **Community Liaisons**: Work with community members who have connections to underrepresented communities
- **Safe Space Creation**: Ensure outreach creates genuinely safe spaces for marginalised individuals
#### 3.2.2. Interest-Based Community Building
**Skill and Interest Alignment:**
- **Technical Communities**: Outreach to technical communities interested in ethical technology
- **Social Justice Organisations**: Connection with organisations working on related social justice issues
- **Gaming Communities**: Authentic participation in gaming communities with shared values
- **Educational Institutions**: Outreach to educational communities interested in community building
- **Professional Networks**: Engagement with professional networks focused on ethical practices
**Community Need Identification:**
- **Gap Analysis**: Identify gaps in community representation and expertise
- **Skill Mapping**: Map community needs to potential recruitment priorities
- **Interest Surveys**: Survey community members about areas where growth would be beneficial
- **Capacity Assessment**: Assess community capacity for integrating new members effectively
- **Resource Planning**: Ensure adequate resources for supporting community growth
### 3.3. Brand Development and Messaging
#### 3.3.1. Community Identity and Values Communication
**Brand Messaging Principles:**
- **Authenticity**: All messaging should authentically represent community culture and values
- **Accessibility**: Communication should be accessible to diverse audiences
- **Inclusivity**: Messaging should welcome diverse participation and representation
- **Impact Focus**: Emphasise concrete community impact and social justice work
- **Community Voice**: Brand should reflect diverse community voices rather than single perspectives
**Consistent Messaging Across Platforms:**
- **Core Values**: Consistent communication of core values across all platforms
- **Community Culture**: Accurate representation of community culture and expectations
- **Impact Stories**: Consistent sharing of community impact and member stories
- **Accessibility Information**: Clear information about community accessibility and inclusion efforts
- **Participation Options**: Clear information about different ways to participate and contribute
#### 3.3.2. Marketing Ethics and Transparency
**Ethical Marketing Practices:**
- **Honest Representation**: Never misrepresent community culture, benefits, or expectations
- **Transparent Communication**: Be clear about community structures, expectations, and limitations
- **Consent-Based Marketing**: Respect privacy and obtain consent for marketing communications
- **Cultural Sensitivity**: Ensure marketing is culturally sensitive and appropriate
- **Accessibility Compliance**: Ensure all marketing materials meet accessibility standards
**Avoiding Problematic Practices:**
- **No False Promises**: Don't promise benefits or outcomes that cannot be guaranteed
- **No Exploitation**: Don't exploit personal stories or community member experiences without consent
- **No Pressure Tactics**: Avoid high-pressure marketing or manipulation techniques
- **No Exclusive Claims**: Don't claim to be the only or best option for community or social justice work
- **No Privacy Violations**: Never use private member information for marketing purposes without explicit consent
## 4. COMMUNITY INTEGRATION AND SUPPORT
### 4.1. New Member Onboarding
#### 4.1.1. Welcoming and Orientation Process
**Comprehensive Onboarding:**
- **Welcome Systems**: Systematic welcome processes for new members across all platforms
- **Orientation Resources**: Clear orientation materials that explain community culture and expectations
- **Mentor Assignment**: Connection with experienced community members for guidance and support
- **Platform Training**: Assistance with navigating different community platforms and tools
- **Value Integration**: Education about community values and how they guide participation
**Accessibility-Focused Integration:**
- **Accommodation Assessment**: Assessment of accessibility needs and accommodation provision
- **Multiple Participation Options**: Information about different ways to participate based on capacity and interest
- **Communication Preferences**: Respect for different communication styles and preferences
- **Flexible Engagement**: Recognition that engagement levels and styles vary amongst community members
- **Support Systems**: Connection to appropriate support systems and resources
#### 4.1.2. Community Culture Integration
**Cultural Assimilation Support:**
- **Community Norms**: Education about community norms, expectations, and culture
- **Conflict Resolution**: Training on community conflict resolution and communication approaches
- **Value Application**: Practical guidance on applying community values in daily participation
- **Relationship Building**: Facilitation of relationship building with established community members
- **Feedback Systems**: Systems for new members to provide feedback on their integration experience
**Ongoing Support Systems:**
- **Check-In Processes**: Regular check-ins with new members during their first months
- **Issue Resolution**: Clear processes for addressing problems or concerns during integration
- **Participation Encouragement**: Encouragement and support for active community participation
- **Leadership Development**: Pathways for new members to develop leadership skills and take on responsibilities
- **Community Investment**: Support for new members to develop investment in community success
### 4.2. Retention and Engagement
#### 4.2.1. Sustainable Participation
**Long-Term Engagement Strategies:**
- **Meaningful Participation**: Opportunities for community members to contribute meaningfully
- **Personal Growth**: Support for personal growth and development within the community
- **Leadership Development**: Pathways for community members to develop and exercise leadership
- **Skill Building**: Opportunities to build skills that benefit both individuals and community
- **Impact Visibility**: Clear communication about community impact and member contributions
**Preventing Burnout and Over-Engagement:**
- **Boundary Support**: Support for community members to maintain healthy boundaries
- **Capacity Recognition**: Recognition that participation capacity varies and changes over time
- **Rest and Recovery**: Normalization of breaks and reduced engagement periods
- **Sustainable Volunteerism**: Sustainable approaches to volunteer engagement and responsibility
- **Well-Being Priority**: Prioritisation of member well-being over community productivity
#### 4.2.2. Community Evolution and Adaptation
**Growth-Responsive Community Development:**
- **Culture Preservation**: Maintaining community culture and values whilst accommodating growth
- **Structure Adaptation**: Adapting community structures to serve larger and more diverse membership
- **Democracy Protection**: Ensuring growth doesn't undermine democratic participation and decision-making
- **Quality Maintenance**: Maintaining community quality and values during periods of rapid growth
- **Change Management**: Effective management of changes that come with community growth
**Member Voice and Participation:**
- **Democratic Processes**: Maintaining democratic processes for community decision-making
- **Feedback Integration**: Regular integration of member feedback into community evolution
- **Representation**: Ensuring diverse member representation in community leadership and decision-making
- **Conflict Resolution**: Effective conflict resolution processes that scale with community growth
- **Community Self-Determination**: Support for community self-determination and autonomous development
## 5. SUSTAINABILITY AND IMPACT MEASUREMENT
### 5.1. Growth Sustainability
#### 5.1.1. Resource Management and Planning
**Capacity Planning:**
- **Resource Assessment**: Regular assessment of community capacity to support new members
- **Infrastructure Scaling**: Scaling community infrastructure to accommodate growth
- **Support System Expansion**: Expanding support systems to serve larger membership
- **Leadership Development**: Developing additional community leadership to support growth
- **Quality Maintenance**: Ensuring growth doesn't compromise community quality or values
**Environmental and Social Sustainability:**
- **Environmental Impact**: Consideration of environmental impact of community growth
- **Social Impact**: Measurement of social impact and community benefit
- **Economic Sustainability**: Sustainable economic approaches to community operations
- **Cultural Sustainability**: Preservation of community culture and values during growth
- **Member Well-Being**: Prioritisation of member well-being in growth planning
#### 5.1.2. Growth Rate Management
**Sustainable Growth Pacing:**
- **Organic Growth Priority**: Prioritisation of organic growth over rapid expansion
- **Integration Capacity**: Growth that matches community capacity to integrate new members effectively
- **Quality Maintenance**: Growth pacing that maintains community quality and member experience
- **Resource Alignment**: Growth that aligns with available resources and support capacity
- **Community Input**: Community input on appropriate growth rates and targets
### 5.2. Impact Assessment and Measurement
#### 5.2.1. Community Health Metrics
**Quantitative Measures:**
- **Member Engagement**: Measurement of member engagement and participation across platforms
- **Retention Rates**: Analysis of member retention and reasons for leaving
- **Diversity Metrics**: Measurement of community diversity across relevant dimensions
- **Accessibility Participation**: Assessment of participation by community members with accessibility needs
- **Geographic Distribution**: Analysis of geographic diversity and global participation
**Qualitative Assessment:**
- **Member Satisfaction**: Regular surveys and feedback collection on member experience
- **Community Culture**: Assessment of community culture health and values alignment
- **Impact Stories**: Collection and analysis of member stories about community impact
- **Conflict Resolution**: Analysis of conflict resolution effectiveness and community harmony
- **Values Integration**: Assessment of how well community values are integrated in daily practice
#### 5.2.2. External Impact Measurement
**Social Justice Impact:**
- **Advocacy Effectiveness**: Measurement of community advocacy and social justice impact
- **Policy Influence**: Assessment of community influence on relevant policies and practices
- **Education and Awareness**: Measurement of community educational impact and awareness raising
- **Resource Provision**: Assessment of resources provided to members and broader communities
- **Partnership Impact**: Evaluation of impact through partnerships and collaborations
**Community Contribution:**
- **Open Source Contributions**: Measurement of community contributions to open source and public goods
- **Knowledge Sharing**: Assessment of community knowledge sharing and educational contributions
- **Innovation Development**: Measurement of community innovation and technological contributions
- **Cultural Impact**: Assessment of community cultural impact and representation
- **Movement Building**: Evaluation of community contribution to broader social justice movements
## 6. ACCOUNTABILITY AND CONTINUOUS IMPROVEMENT
### 6.1. Growth Practice Evaluation
#### 6.1.1. Regular Assessment and Review
**Growth Strategy Review:**
- **Quarterly Assessments**: Regular quarterly review of growth strategies and effectiveness
- **Community Feedback**: Integration of community feedback into growth practice evaluation
- **Impact Analysis**: Analysis of growth impact on community culture and member experience
- **Resource Effectiveness**: Assessment of resource allocation effectiveness for growth activities
- **Value Alignment**: Regular evaluation of growth practice alignment with community values
**Adaptation and Improvement:**
- **Strategy Modification**: Modification of growth strategies based on evaluation results
- **Best Practice Development**: Development of best practices based on successful growth approaches
- **Problem Resolution**: Address problems and challenges identified in growth practices
- **Innovation Integration**: Integration of innovative approaches to community growth
- **Learning Documentation**: Documentation of lessons learned for future growth planning
#### 6.1.2. Community Accountability
**Transparent Reporting:**
- **Growth Reports**: Regular reports to community on growth activities and results
- **Resource Allocation**: Transparent reporting on resource allocation for growth activities
- **Challenge Communication**: Honest communication about growth challenges and setbacks
- **Success Celebration**: Recognition and celebration of successful growth initiatives
- **Member Recognition**: Recognition of community members who contribute to ethical growth
**Democratic Oversight:**
- **Community Input**: Regular community input on growth strategies and priorities
- **Democratic Decision-Making**: Democratic decision-making about significant growth initiatives
- **Accountability Mechanisms**: Clear accountability mechanisms for growth-related decisions
- **Conflict Resolution**: Processes for resolving conflicts related to growth practices
- **Value Enforcement**: Enforcement of community values in all growth activities
### 6.2. Continuous Learning and Innovation
#### 6.2.1. Best Practice Development
**Internal Learning:**
- **Experience Documentation**: Documentation of growth experiences and lessons learned
- **Success Analysis**: Analysis of successful growth approaches and their replication
- **Challenge Resolution**: Development of approaches to common growth challenges
- **Member Insight**: Integration of member insights and perspectives into growth practices
- **Cultural Evolution**: Understanding of how community culture evolves with growth
**External Learning:**
- **Community Research**: Research into best practices from other ethical communities
- **Academic Integration**: Integration of relevant academic research on community building
- **Movement Learning**: Learning from broader social justice and community building movements
- **Technology Integration**: Appropriate integration of new technologies for community growth
- **Innovation Adoption**: Adoption of innovative approaches to ethical community building
#### 6.2.2. Future Planning and Vision
**Long-Term Vision Development:**
- **Community Vision**: Development of long-term vision for community growth and impact
- **Strategic Planning**: Strategic planning for sustainable community development
- **Impact Goals**: Setting and working towards long-term social impact goals
- **Innovation Integration**: Planning for integration of emerging technologies and approaches
- **Movement Contribution**: Planning for community contribution to broader social justice movements
**Adaptive Planning:**
- **Scenario Planning**: Planning for different potential future scenarios and community needs
- **Flexibility Maintenance**: Maintaining flexibility to adapt to changing circumstances and opportunities
- **Crisis Preparedness**: Planning for potential crises and their impact on community growth
- **Opportunity Readiness**: Preparation to take advantage of opportunities for positive growth
- **Values Consistency**: Ensuring all future planning maintains consistency with community values
---
*This Community Growth Policy establishes ethical guidelines for sustainable, values-aligned community growth. It works in conjunction with our Community Support Policy, Crisis and Mental Health Management Policy, and staff training materials to ensure holistic community development. All growth activities should prioritise quality relationships, authentic engagement, and alignment with social justice values over numerical metrics or rapid expansion.*
@@ -0,0 +1,560 @@
---
title: Community Support Policy
---
**COMMUNITY SUPPORT FRAMEWORK AND GUIDELINES**
## 1. POLICY OVERVIEW AND PURPOSE
### 1.1. Policy Statement
This Community Support Policy establishes the framework for how community members can both seek and provide support within our community ecosystem. This policy is designed to create a safe, inclusive, and mutually supportive environment that honours our values of social justice, accessibility, and community empowerment whilst maintaining appropriate boundaries and safety standards.
### 1.2. Integration with Community Values
**Core Principles:**
- **Mutual Support**: Community members support each other through shared experiences and knowledge
- **Trauma-Informed Approach**: Recognition that many community members may have experienced trauma
- **Inclusive Access**: Support is available to all community members regardless of identity, ability, or circumstances
- **Boundary Respect**: Clear boundaries between peer support and professional services
- **Safety First**: Protection of vulnerable community members and support providers
- **Cultural Responsiveness**: Respect for diverse cultural approaches to support and healing
### 1.3. Scope and Application
This policy applies to all forms of support exchange within our community platforms, including:
- Discord channels and direct messages
- Reddit community spaces
- Social media interactions
- GitHub collaborative spaces
- LinkedIn professional networking
- Any other community-operated platforms
## 2. SEEKING SUPPORT WITHIN THE COMMUNITY
### 2.1. Types of Community Support Available
#### 2.1.1. Peer Support Categories
**Emotional and Social Support:**
- Listening and empathy from community members with shared experiences
- Connection with others who understand similar challenges
- Celebration of achievements and milestones
- Social interaction and friendship building
- Community during difficult times
**Informational and Resource Support:**
- Sharing of knowledge, resources, and information
- Guidance on community platforms and tools
- Technical assistance and troubleshooting
- Educational support and learning opportunities
- Resource referrals and recommendations
**Technical Product Support:**
- Assistance with community-developed software and tools
- Bug reporting and troubleshooting for community applications
- Feature requests and enhancement suggestions
- Documentation clarification and improvement
- API usage guidance and integration support
- Open source contribution guidance and code review
**Practical Support:**
- Assistance with community projects and initiatives
- Collaborative problem-solving on shared challenges
- Skill sharing and mentorship opportunities
- Accessibility assistance and accommodation support (request accommodations via our [Accessibility Accommodation Request Form](https://forms.nhcarrigan.com/o/docs/forms/2FXY87PB6aaMHspcnXYCZX/4))
- Platform-specific guidance and orientation
#### 2.1.2. Specialised Support Areas
**Identity-Based Support:**
- Support groups for specific identities and experiences
- Culturally responsive support for marginalised communities
- LGBTQ+ affirming support and resources
- Neurodiversity-affirming spaces and assistance
- Support for survivors of various forms of trauma
**Professional and Educational Support:**
- Career development guidance and networking
- Educational resource sharing and study groups
- Professional skill development and mentorship
- Open source contribution guidance
- Technical learning and development support
**Technical Product and Development Support:**
- Community software and application troubleshooting
- Development environment setup and configuration
- Code review and programming mentorship
- API documentation and implementation guidance
- Bug triage and feature development collaboration
**Technical Product and Development Support:**
- Community software and application troubleshooting
- Development environment setup and configuration
- Code review and programming mentorship
- API documentation and implementation guidance
- Bug triage and feature development collaboration
### 2.2. How to Seek Support
#### 2.2.1. Identifying Appropriate Support Channels
**Platform-Specific Guidelines:**
- **Discord Forums**: Create posts in appropriate forum channels with clear, descriptive titles
- **Reddit**: Utilise community-specific support threads and appropriate flair
- **GitHub**: Use issue templates for bug reports, feature requests, and technical support
- **Social Media**: Engage appropriately with community hashtags and threads
**Support Request Best Practices:**
- **Be Specific**: Clearly describe what type of support you're seeking (emotional, technical, informational, etc.)
- **Provide Context**: Include relevant details, error messages, or screenshots for technical issues
- **Respect Boundaries**: Understand that community members are volunteers with limited capacity
- **Use Appropriate Channels**: Choose the right platform and channel for your specific need
- **Be Patient**: Allow time for community members to respond and engage
- **Show Appreciation**: Acknowledge and thank those who provide support
- **Follow Up**: Update the community on resolution or continued needs when appropriate
#### 2.2.2. Technical Support Specific Guidelines
**For Product and Development Issues:**
- **Include System Information**: Provide relevant system details (OS, browser version, device type)
- **Reproduce the Issue**: Document steps to reproduce the problem consistently
- **Check Documentation First**: Review available documentation and FAQs before requesting help
- **Provide Error Messages**: Include complete error messages and stack traces when available
- **Share Code Snippets**: For integration issues, provide relevant code snippets (sanitized of sensitive data)
- **Version Information**: Specify which version of the product or API you're using
- **Expected vs Actual**: Clearly describe what you expected to happen versus what actually occurred
**Best Practices for Technical Support Requests:**
- **Use Appropriate Templates**: Follow issue templates or discussion formats when available
- **Search Existing Issues**: Check if your issue has already been reported or resolved
- **One Issue Per Request**: Keep support requests focused on a single problem
- **Provide Screenshots**: Include screenshots or screen recordings when they help illustrate the issue
- **Test Environment**: Specify if you're using development, staging, or production environments
- **Recent Changes**: Note any recent changes to your setup that might be related to the issue
#### 2.2.3. Emergency and Crisis Support
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
**Important Limitations:**
- Community members are **NOT** mental health professionals
- Peer support does **NOT** replace professional mental health services
- For mental health emergencies, contact professional crisis services immediately
- Community support is supplemental to, not a replacement for, professional care
**Crisis Resource Integration:**
- Immediate connection to crisis hotlines and professional services
- Clear escalation procedures for serious concerns
- Staff notification protocols for safety concerns
- Integration with our Crisis and Mental Health Management Policy
- Resource databases for professional services and emergency support
### 2.3. Receiving Support Effectively
#### 2.3.1. Engagement Guidelines
**Active Participation:**
- **Communicate Clearly**: Share what you need and what would be helpful
- **Be Open to Different Perspectives**: Community members bring diverse experiences and viewpoints
- **Respect Advice Boundaries**: Understand the difference between peer support and professional advice
- **Engage Authentically**: Be genuine whilst maintaining appropriate privacy boundaries
- **Follow Through**: Let supporters know how their assistance worked out when appropriate
**Privacy and Safety:**
- **Share Appropriately**: Only share what you're comfortable having known by community members
- **Maintain Boundaries**: You are not obligated to share personal details or follow all advice
- **Report Concerns**: If support interactions become inappropriate, contact staff immediately
- **Protect Others' Privacy**: Respect the privacy of others who may be mentioned in your support requests
#### 2.3.2. Managing Multiple Support Sources
**Coordination Strategies:**
- **Professional Services First**: Prioritise professional mental health, medical, or legal services when needed
- **Community Support as Supplement**: Use community support to complement, not replace, professional services
- **Avoid Overwhelming Supporters**: Be mindful of the capacity and boundaries of community volunteers
- **Update Supporters**: Let community supporters know when situations change or resolve
## 3. PROVIDING SUPPORT TO COMMUNITY MEMBERS
### 3.1. Peer Support Responsibilities and Boundaries
#### 3.1.1. Role Definition and Limitations
**What Peer Support IS:**
- Sharing personal experiences and what has worked for you
- Listening with empathy and without judgement
- Providing resources and information from your own knowledge
- Offering practical assistance within your capacity and expertise
- Being present and available when you can be
- Connecting people with others who might have relevant experience
- Providing technical assistance with community products and tools
- Helping troubleshoot software issues and bugs
- Sharing knowledge about APIs, documentation, and development practices
**What Peer Support is NOT:**
- Professional counselling, therapy, or mental health treatment
- Medical advice or diagnosis of any kind
- Legal advice or representation
- Financial advice or monetary assistance commitments
- Crisis intervention or emergency response services
- Solutions to complex problems requiring professional expertise
#### 3.1.2. Professional Boundary Maintenance
**Clear Communication About Limitations:**
- Always clarify that you are not a professional service provider
- Acknowledge when questions or needs exceed peer support scope
- Redirect to appropriate professional services when necessary
- Be honest about your own knowledge limitations and experience boundaries
- Avoid giving advice outside your areas of experience or expertise
### 3.2. Best Practices for Providing Support
#### 3.2.1. Effective Support Techniques
**Active Listening and Empathy:**
- **Listen First**: Focus on understanding before trying to solve or advise
- **Validate Experiences**: Acknowledge the person's feelings and experiences as valid
- **Ask Questions**: Clarify what type of support the person is seeking
- **Reflect Understanding**: Demonstrate that you understand what they're sharing
- **Avoid Minimising**: Don't downplay or dismiss concerns, even if they seem minor to you
**Resource Sharing and Information:**
- **Share Relevant Experience**: Offer insights from your own similar experiences when appropriate
- **Provide Resources**: Share helpful resources, websites, books, or tools you know about
- **Make Connections**: Introduce people to others who might have relevant experience or expertise
- **Follow Up**: Check in when appropriate to see how things are going
- **Maintain Confidentiality**: Respect privacy and don't share personal details with others
#### 3.2.3. Technical Support Best Practices
**Troubleshooting Methodology:**
- **Systematic Approach**: Work through problems systematically rather than jumping to conclusions
- **Reproduce First**: Attempt to reproduce the issue yourself when possible
- **Check Documentation**: Verify your understanding against official documentation
- **Test Solutions**: Test suggested solutions in safe environments before recommending
- **Know Your Limits**: Recognise when issues exceed your technical knowledge
- **Escalate Appropriately**: Direct complex technical issues to maintainers or core developers
**Code and Integration Support:**
- **Code Review Guidelines**: Provide constructive feedback on code snippets and implementations
- **Security Awareness**: Be mindful of security implications in code suggestions
- **Best Practice Sharing**: Share established best practices and coding standards
- **Testing Recommendations**: Suggest appropriate testing approaches for implementations
- **Performance Considerations**: Consider performance implications of suggested solutions
- **Documentation Updates**: Help improve documentation when gaps are identified
**API and Product Support:**
- **Version Compatibility**: Help users understand version requirements and compatibility
- **Rate Limiting**: Educate users about API rate limits and best practices
- **Authentication**: Assist with proper authentication and authorisation setup
- **Error Handling**: Help implement proper error handling and retry logic
- **Integration Patterns**: Share common integration patterns and examples
- **Deprecation Awareness**: Keep users informed about deprecated features and migration paths
#### 3.2.4. Cultural and Trauma-Informed Support
**Cultural Responsiveness:**
- **Respect Differences**: Acknowledge that cultural backgrounds shape experiences and coping strategies
- **Ask, Don't Assume**: Learn about individual preferences rather than making cultural assumptions
- **Honour Different Approaches**: Respect that there are many valid ways to cope and heal
- **Learn Continuously**: Be open to learning about experiences different from your own
- **Address Your Limitations**: Acknowledge when cultural differences are outside your experience
**Trauma-Informed Approach:**
- **Assume Possibility of Trauma**: Recognise that many people have experienced trauma
- **Prioritise Safety**: Create interactions that feel safe and non-threatening
- **Offer Choice and Control**: Let people make their own decisions about sharing and participation
- **Emphasise Collaboration**: Work with people rather than directing or controlling their experience
- **Build Trust**: Be reliable, consistent, and honest in your interactions
### 3.3. Support Provider Self-Care and Sustainability
#### 3.3.1. Managing Your Own Capacity
**Setting Healthy Boundaries:**
- **Know Your Limits**: Be realistic about your time, energy, and emotional capacity
- **Communicate Availability**: Be clear about when and how you're available to provide support
- **Practice Saying No**: It's okay to decline support requests when you're not available or able
- **Take Breaks**: Regular breaks from support provision are healthy and necessary
- **Seek Your Own Support**: Support providers need support too - don't hesitate to seek it
**Preventing Burnout:**
- **Distribute Support Load**: Encourage multiple people to provide support rather than taking everything on yourself
- **Recognise Warning Signs**: Know the signs of emotional exhaustion and burnout
- **Practice Self-Care**: Maintain your own well-being through whatever practices work for you
- **Professional Support**: Seek professional support for your own challenges when needed
- **Community Among Supporters**: Connect with other support providers for mutual support
#### 3.3.2. Handling Difficult Support Situations
**When to Escalate to Staff:**
- **Safety Concerns**: Any indication of immediate danger to self or others
- **Harassment or Abuse**: Inappropriate behaviour during support interactions
- **Professional Service Needs**: Situations clearly requiring professional intervention
- **Boundary Violations**: When support requests become inappropriate or overwhelming
- **Community Policy Violations**: Any behaviour that violates community standards
**Managing Challenging Interactions:**
- **Stay Calm**: Maintain composure even when interactions become difficult
- **Redirect Appropriately**: Guide people to more appropriate resources when needed
- **Document Concerns**: Keep records of concerning interactions for staff review
- **Seek Consultation**: Ask staff or experienced community members for guidance when unsure
- **Protect Yourself**: Prioritise your own safety and well-being in all interactions
## 4. PLATFORM-SPECIFIC SUPPORT GUIDELINES
### 4.1. Discord Support Protocols
#### 4.1.1. Channel Organisation and Usage
**Designated Support Channels:**
- **#support**: General questions and peer support requests
- **#support-ticket**: Technical assistance and troubleshooting
- **#accessibility**: Accessibility-related assistance and resources (for accommodation requests, use our [Accessibility Accommodation Request Form](https://forms.nhcarrigan.com/o/docs/forms/2FXY87PB6aaMHspcnXYCZX/4))
- **Identity-specific channels**: Support spaces for specific communities and identities
**Direct Message Guidelines:**
- **Respect Consent**: Always ask before moving support to direct messages
- **Maintain Documentation**: Keep records of concerning interactions for staff review
- **Escalation Protocols**: Know when and how to involve Discord moderators and staff
- **Privacy Protection**: Respect confidentiality whilst ensuring safety
#### 4.1.2. Discord-Specific Safety Measures
**Moderation Integration:**
- **Staff Notification**: Clear processes for alerting staff to concerning situations
- **Emergency Protocols**: Immediate escalation procedures for crisis situations
- **Evidence Preservation**: Proper documentation of problematic interactions
- **Community Protection**: Mechanisms for protecting vulnerable community members
### 4.2. Discord Forum Channels and Reddit Support
#### 4.2.1. Public Support Best Practices
**Post Guidelines:**
- **Descriptive Titles**: Clear titles that indicate the type of support needed
- **Appropriate Categorisation**: Use correct flairs and categories for support requests
- **Privacy Considerations**: Share only what you're comfortable being public
- **Follow-Up Responsibility**: Update threads when situations resolve or change
**Response Guidelines:**
- **Constructive Contributions**: Ensure responses are helpful and supportive
- **Avoid Speculation**: Don't make assumptions or diagnose situations
- **Resource Sharing**: Provide links to helpful resources and information
- **Respectful Disagreement**: Handle differing perspectives constructively
#### 4.2.2. Community Upvoting and Visibility
**Helpful Content Promotion:**
- **Upvote Helpful Responses**: Use voting systems to promote good support
- **Share Valuable Resources**: Promote posts that provide helpful information
- **Community Curation**: Help ensure quality support content is visible
- **Constructive Feedback**: Provide feedback that improves support quality
### 4.3. Professional Platform Support (LinkedIn, GitHub)
#### 4.3.1. Professional Context Considerations
**LinkedIn Support:**
- **Professional Boundaries**: Maintain appropriate professional boundaries
- **Career Development**: Focus on career-related support and networking
- **Skill Sharing**: Professional skill development and knowledge sharing
- **Networking Ethics**: Responsible networking and professional relationship building
**GitHub Collaboration:**
- **Technical Support**: Code-related assistance and collaboration
- **Bug Reports and Issues**: Help with creating detailed bug reports and issue descriptions
- **Pull Request Review**: Collaborative code review and improvement suggestions
- **Open Source Contribution**: Guidance on contributing to projects
- **Documentation Support**: Help with technical documentation and resources
- **Learning Facilitation**: Supporting technical learning and development
- **API Integration**: Assistance with integrating community APIs and services
#### 4.3.2. Code-Specific Technical Support
**Issue Management:**
- **Issue Templates**: Use and help others use appropriate issue templates
- **Label Usage**: Apply appropriate labels to categorise issues effectively
- **Milestone Tracking**: Help track issues against project milestones and releases
- **Duplicate Detection**: Identify and link duplicate issues to reduce fragmentation
- **Triage Assistance**: Help maintainers triage and prioritise issues
- **Resolution Documentation**: Document solutions and workarounds in issue comments
**Code Collaboration:**
- **Fork and Branch Strategy**: Guide contributors through proper fork and branch workflows
- **Commit Message Standards**: Help maintain consistent commit message formatting
- **Code Style Compliance**: Assist with code style and linting requirements
- **Testing Requirements**: Guide contributors through testing requirements and procedures
- **CI/CD Pipeline**: Help troubleshoot continuous integration and deployment issues
- **Release Process**: Support community members through release and deployment procedures
**Documentation and Knowledge Sharing:**
- **README Improvements**: Help improve project README files and getting started guides
- **Code Comments**: Encourage and assist with proper code documentation
- **Wiki Maintenance**: Contribute to and maintain project wikis and knowledge bases
- **Tutorial Creation**: Support creation of tutorials and learning materials
- **FAQ Updates**: Help maintain and update frequently asked questions
- **Example Code**: Provide and maintain example implementations and use cases
## 5. SAFETY AND RISK MANAGEMENT
### 5.1. Identifying and Managing Risk
#### 5.1.1. Risk Assessment for Support Situations
**High-Risk Indicators:**
- **Immediate Safety Concerns**: Threats of self-harm or harm to others
- **Crisis Situations**: Mental health crises requiring professional intervention
- **Harassment or Abuse**: Reports of harassment, abuse, or exploitation
- **Boundary Violations**: Repeated violations of support boundaries
- **Professional Service Needs**: Situations requiring legal, medical, or mental health professionals
- **Security Vulnerabilities**: Reports of security issues requiring immediate attention
- **System Compromise**: Indications of compromised accounts or systems
- **Data Breach Concerns**: Potential data security or privacy violations
**Escalation Protocols:**
- **Immediate Staff Notification**: Contact staff immediately for high-risk situations
- **Documentation Requirements**: Proper documentation of concerning interactions
- **Resource Provision**: Connection to appropriate professional services
- **Follow-Up Procedures**: Ongoing monitoring and support coordination
- **Community Protection**: Measures to protect vulnerable community members
#### 5.1.3. Technical Support Risk Management
**Security-Related Support Risks:**
- **Credential Exposure**: Prevent sharing of passwords, API keys, or other sensitive credentials in support channels
- **Code Injection**: Be cautious of code suggestions that could introduce security vulnerabilities
- **Malicious Code**: Screen for and prevent sharing of potentially malicious code or links
- **Social Engineering**: Recognise and prevent social engineering attempts disguised as support requests
- **Phishing Prevention**: Help community members identify and avoid phishing attempts
**Technical Support Safety Protocols:**
- **Sandbox Testing**: Encourage testing of solutions in safe, isolated environments
- **Backup Reminders**: Always recommend backups before making significant changes
- **Production Warnings**: Clearly identify when suggestions should not be used in production
- **Version Control**: Encourage use of version control for tracking changes
- **Rollback Plans**: Help users understand how to reverse changes if needed
- **Documentation Requirements**: Ensure critical changes are properly documented
#### 5.1.2. Community Safety Measures
**Protective Policies:**
- **Harassment Prevention**: Clear policies preventing exploitation of vulnerable community members
- **Privacy Protection**: Safeguarding personal information shared in support contexts
- **Boundary Enforcement**: Enforcement of healthy boundaries between supporters and those seeking support
- **Staff Oversight**: Regular staff monitoring and oversight of support interactions
- **Community Feedback**: Mechanisms for reporting concerning support interactions
### 5.2. Crisis Intervention and Professional Referral
#### 5.2.1. Crisis Recognition and Response
**Crisis Identification:**
- **Warning Signs**: Recognition of signs indicating professional intervention needs
- **Risk Assessment**: Quick assessment of immediate safety concerns
- **Appropriate Response**: Immediate connection to professional crisis services
- **Staff Coordination**: Coordination with community staff for ongoing support
- **Documentation**: Proper documentation for professional service providers
**Professional Service Integration:**
- **Resource Databases**: Comprehensive databases of professional services
- **Referral Processes**: Clear processes for connecting people to professional help
- **Ongoing Coordination**: Coordination between community support and professional services
- **Privacy Compliance**: Respect for privacy whilst ensuring safety
- **Follow-Up Support**: Continued community support alongside professional services
#### 5.2.2. Legal and Ethical Obligations
**Mandatory Reporting:**
- **Legal Requirements**: Compliance with local laws regarding mandatory reporting
- **Child Protection**: Special procedures for situations involving minors
- **Elder Abuse**: Protocols for elder abuse and exploitation situations
- **Immediate Danger**: Procedures when someone is in immediate physical danger
- **Law Enforcement Coordination**: Appropriate coordination with law enforcement when required
**Ethical Considerations:**
- **Informed Consent**: Clear communication about limitations of community support
- **Confidentiality Boundaries**: Understanding of when confidentiality must be broken
- **Professional Scope**: Clear boundaries about what community members can and cannot provide
- **Cultural Sensitivity**: Respect for cultural differences in approach to crisis and support
- **Community Values**: Alignment of all crisis response with community values and principles
## 6. QUALITY ASSURANCE AND CONTINUOUS IMPROVEMENT
### 6.1. Support Quality Standards
#### 6.1.1. Effective Support Characteristics
**Quality Indicators:**
- **Respectful Interaction**: All support interactions demonstrate respect and dignity
- **Appropriate Boundaries**: Clear maintenance of peer support boundaries
- **Resource Accuracy**: Accurate and helpful resource sharing
- **Cultural Responsiveness**: Appropriate consideration of cultural differences
- **Safety Awareness**: Recognition and appropriate handling of safety concerns
- **Technical Accuracy**: Technically sound advice and solutions
- **Security Consciousness**: Awareness of security implications in technical recommendations
- **Documentation Quality**: Clear, accurate, and helpful technical documentation
**Feedback and Evaluation:**
- **Community Feedback**: Regular feedback collection from support recipients
- **Peer Evaluation**: Peer feedback amongst support providers
- **Staff Review**: Regular staff review of support quality and safety
- **Continuous Improvement**: Ongoing improvement of support practices and resources
- **Training Updates**: Regular updates to support training and resources
#### 6.1.2. Resource Maintenance and Updates
**Resource Quality Assurance:**
- **Regular Review**: Periodic review of shared resources for accuracy and relevance
- **Community Input**: Community input on resource effectiveness and needs
- **Professional Consultation**: Professional review of resource recommendations when appropriate
- **Accessibility Assessment**: Regular assessment of resource accessibility
- **Cultural Appropriateness**: Ongoing evaluation of cultural appropriateness of resources
### 6.2. Community Learning and Development
#### 6.2.1. Skill Building and Education
**Support Skills Development:**
- **Peer Education**: Educational opportunities for improving support skills
- **Cultural Competency**: Ongoing learning about cultural responsiveness
- **Trauma-Informed Approaches**: Education about trauma-informed support practices
- **Boundary Management**: Training on maintaining healthy support boundaries
- **Crisis Recognition**: Education about recognising crisis situations
- **Technical Competency**: Ongoing learning about products, APIs, and technical systems
- **Security Awareness**: Education about security best practices and threat recognition
- **Code Review Skills**: Training on effective and constructive code review practices
**Resource Development:**
- **Community-Generated Resources**: Support for community members creating helpful resources
- **Best Practice Documentation**: Documentation of effective support practices
- **Learning Opportunities**: Educational opportunities related to community support
- **Skill Sharing**: Opportunities for community members to share relevant skills and knowledge
- **Professional Development**: Support for community members pursuing relevant professional development
#### 6.2.2. Innovation and Improvement
**Support System Evolution:**
- **New Approach Development**: Innovation in peer support approaches and methods
- **Technology Integration**: Appropriate use of technology to improve support access and quality
- **Community Needs Assessment**: Regular assessment of community support needs
- **Best Practice Research**: Research into effective peer support practices
- **Community Adaptation**: Adaptation of support approaches based on community feedback and needs
**Partnership and Collaboration:**
- **Professional Service Partnerships**: Appropriate partnerships with professional service providers
- **Community Organisation Collaboration**: Collaboration with other community organisations
- **Resource Sharing Networks**: Participation in resource sharing networks
- **Best Practice Communities**: Participation in communities focused on peer support best practices
- **Research Participation**: Appropriate participation in research on effective community support
---
*This Community Support Policy is designed to create a safe, supportive, and sustainable framework for mutual aid within our community. This policy works in conjunction with our Crisis and Mental Health Management Policy, Community Code of Conduct, and staff training materials to ensure comprehensive community support. For questions about this policy or to report concerns about support interactions, please contact community staff through established channels.*
@@ -0,0 +1,967 @@
---
title: Content and Moderation Policy
---
**ESTABLISHING STANDARDS FOR CONTENT AND MODERATION PRACTICES ACROSS ALL PLATFORMS**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Purpose and Objectives
This Content and Moderation Policy ("Policy") establishes comprehensive standards for content creation, sharing, and moderation across all services, platforms, and applications operated by NHCarrigan ("we," "us," "our," or "the Company"). This Policy aims to maintain safe, inclusive, and productive environments whilst balancing free expression with community safety and legal compliance.
### 1.2. Scope of Application
This Policy applies to all content and user interactions across:
**(a)** Community forums, discussion boards, and chat platforms;
**(b)** User-generated content features in applications and websites;
**(c)** Comment systems, feedback mechanisms, and review platforms;
**(d)** Social media integrations and sharing features;
**(e)** Developer communities, documentation wikis, and collaboration tools;
**(f)** Support channels, help desks, and customer service interactions;
**(g)** Event platforms, livestreams, and interactive presentations;
**(h)** Any other platforms or services that facilitate user content or communication.
### 1.3. Integration with Other Policies
This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Acceptable Use Policy, Limitation of Liability and Indemnification Policy, Service Level Agreement, Export Control and Sanctions Compliance Policy, API Terms and Conditions, and all applicable legal protections by reference.
**(i)** Our Appeals Policy, which provides procedures for challenging moderation decisions;
**(j)** Platform-specific community guidelines and rules where applicable.
### 1.4. Definitions and Terminology
For the purposes of this Policy:
**(a)** "Content" includes text, images, videos, audio, code, links, and any other user-submitted material;
**(b)** "Moderation" encompasses all activities related to reviewing, approving, removing, or restricting content;
**(c)** "Community Standards" refer to the collective expectations and norms for acceptable behaviour;
**(d)** "Harmful Content" means content that violates our policies or applicable laws;
**(e)** "Moderators" include staff members, volunteers, and automated systems involved in content review;
**(f)** "Users" include all individuals who create, share, or interact with content on our platforms.
## 2. CONTENT STANDARDS AND GUIDELINES
### 2.1. Acceptable Content Principles
All content on our platforms must adhere to the following principles:
**(a)** **Lawful Content**: Content must comply with all applicable laws and regulations in relevant jurisdictions;
**(b)** **Respectful Communication**: Content should demonstrate respect for other users and promote constructive dialogue;
**(c)** **Truthful Information**: Content should be accurate and not deliberately misleading or deceptive;
**(d)** **Contextual Appropriateness**: Content should be appropriate for the platform, audience, and community context;
**(e)** **Constructive Purpose**: Content should contribute positively to discussions and community objectives;
**(f)** **Intellectual Property Respect**: Content must respect copyright, trademark, and other intellectual property rights;
**(g)** **Privacy Protection**: Content should not violate others' privacy or share personal information without consent;
**(h)** **Community Benefit**: Content should benefit the broader community and support our platform objectives.
### 2.2. Encouraged Content Types
We particularly welcome and encourage:
**(a)** **Educational Content**: Tutorials, guides, explanations, and learning resources;
**(b)** **Constructive Feedback**: Helpful feedback, suggestions, and collaborative improvements;
**(c)** **Technical Discussions**: Professional discussions about technology, development, and best practices;
**(d)** **Community Support**: Content that helps other users solve problems or learn new skills;
**(e)** **Original Contributions**: Original research, insights, and creative contributions;
**(f)** **Inclusive Content**: Content that welcomes and includes users from diverse backgrounds;
**(g)** **Solution-Oriented**: Content focused on solving problems and providing practical solutions;
**(h)** **Well-Documented**: Content that provides clear documentation, examples, and references.
### 2.3. Content Quality Standards
Quality content on our platforms should demonstrate:
**(a)** **Clarity and Coherence**: Clear, well-structured communication that is easy to understand;
**(b)** **Relevance**: Content that is relevant to the platform, community, or discussion topic;
**(c)** **Completeness**: Sufficient detail and information to be useful and actionable;
**(d)** **Accuracy**: Factually correct information with appropriate sources and citations;
**(e)** **Professional Tone**: Appropriate tone and language for the platform and audience;
**(f)** **Proper Attribution**: Proper citation and attribution of sources, references, and borrowed content;
**(g)** **Updated Information**: Current and up-to-date information, with updates when circumstances change;
**(h)** **Accessible Format**: Content formatted for accessibility and ease of consumption.
### 2.4. Platform-Specific Guidelines
Different platforms may have additional specific guidelines:
**(a)** **Technical Forums**: Focus on technical accuracy, code quality, and professional discourse;
**(b)** **Community Spaces**: Emphasis on inclusive communication and community building;
**(c)** **Support Channels**: Priority on helpful, solution-oriented responses;
**(d)** **Educational Platforms**: Focus on pedagogical value and learning outcomes;
**(e)** **Collaboration Tools**: Emphasis on productive collaboration and professional communication;
**(f)** **Social Features**: Balance between personal expression and community standards;
**(g)** **Developer Resources**: Technical accuracy, completeness, and practical applicability;
**(h)** **Public-Facing Content**: Higher standards for content that represents our community publicly.
## 3. PROHIBITED CONTENT CATEGORIES
### 3.1. Illegal and Harmful Content
The following types of content are strictly prohibited:
**(a)** **Illegal Activities**: Content promoting, facilitating, or describing illegal activities;
**(b)** **Violence and Threats**: Content containing threats, promoting violence, or glorifying harmful acts;
**(c)** **Hate Speech**: Content that promotes hatred or discrimination based on protected characteristics;
**(d)** **Harassment and Bullying**: Content designed to harass, intimidate, or bully individuals or groups;
**(e)** **Self-Harm**: Content that promotes, encourages, or provides instructions for self-harm or suicide;
**(f)** **Exploitation**: Content involving the exploitation of individuals, particularly minors;
**(g)** **Terrorism**: Content that promotes, supports, or facilitates terrorist activities;
**(h)** **Human Trafficking**: Content related to human trafficking or modern slavery.
### 3.2. Inappropriate and Offensive Content
Content that violates community standards includes:
**(a)** **Adult Content**: Sexually explicit material, nudity, or adult content inappropriate for general audiences;
**(b)** **Graphic Violence**: Excessively graphic or disturbing violent content;
**(c)** **Offensive Language**: Excessive profanity, slurs, or offensive language targeting individuals or groups;
**(d)** **Disturbing Content**: Content designed to shock, disturb, or cause distress to viewers;
**(e)** **Inappropriate Imagery**: Images that violate community standards or platform guidelines;
**(f)** **Cultural Insensitivity**: Content that demonstrates insensitivity to cultural, religious, or ethnic differences;
**(g)** **Discriminatory Content**: Content that discriminates against individuals or groups;
**(h)** **Degrading Content**: Content that degrades or dehumanises individuals or groups.
### 3.3. Spam and Low-Quality Content
Prohibited spam and low-quality content includes:
**(a)** **Repetitive Posting**: Excessive repetition of the same or similar content across platforms;
**(b)** **Off-Topic Content**: Content that is irrelevant to the platform, community, or discussion;
**(c)** **Commercial Spam**: Unsolicited advertising, promotional content, or commercial messages;
**(d)** **Link Spam**: Excessive or inappropriate sharing of links, especially to unrelated content;
**(e)** **Copy-Paste Content**: Wholesale copying of content without attribution or added value;
**(f)** **Clickbait**: Misleading headlines or descriptions designed primarily to generate clicks;
**(g)** **Empty Content**: Posts with little or no substantive content or value;
**(h)** **Bot-Generated Content**: Automated content that doesn't add value to discussions.
### 3.4. Intellectual Property Violations
Content that violates intellectual property rights includes:
**(a)** **Copyright Infringement**: Unauthorised use, reproduction, or distribution of copyrighted material;
**(b)** **Trademark Violations**: Unauthorised use of trademarks, service marks, or brand identities;
**(c)** **Patent Infringement**: Sharing of content that infringes on patent rights;
**(d)** **Trade Secret Disclosure**: Unauthorised disclosure of confidential business information;
**(e)** **Plagiarism**: Presenting others' work as one's own without proper attribution;
**(f)** **Licence Violations**: Using content in ways that violate licensing terms;
**(g)** **Counterfeiting**: Promoting or distributing counterfeit goods or services;
**(h)** **False Attribution**: Misrepresenting the ownership or source of intellectual property.
### 3.5. Misinformation and Deceptive Content
Prohibited misinformation and deceptive practices include:
**(a)** **Deliberate Misinformation**: Intentionally false or misleading information;
**(b)** **Conspiracy Theories**: Harmful conspiracy theories that could cause real-world harm;
**(c)** **Medical Misinformation**: False medical advice or information that could endanger health;
**(d)** **Financial Scams**: Fraudulent financial advice, investment schemes, or get-rich-quick scams;
**(e)** **Identity Deception**: Impersonating others or creating false identities;
**(f)** **Fake Reviews**: False reviews, testimonials, or ratings;
**(g)** **Manipulated Media**: Deepfakes, doctored images, or manipulated audio/video content;
**(h)** **Phishing Content**: Content designed to steal personal information or credentials.
## 4. MODERATION APPROACH AND METHODOLOGY
### 4.1. Multi-Layered Moderation System
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
Our moderation approach employs multiple layers:
**(a)** **Automated Detection**: AI and machine learning systems for initial content screening;
**(b)** **Community Reporting**: User reporting mechanisms for identifying problematic content;
**(c)** **Human Review**: Human moderators for nuanced content assessment;
**(d)** **Expert Review**: Subject matter experts for specialised or complex content;
**(e)** **Appeal Process**: Structured appeals process for moderation decisions;
**(f)** **Continuous Improvement**: Regular assessment and improvement of moderation processes;
**(g)** **Training and Development**: Ongoing training for moderation staff and systems;
**(h)** **Quality Assurance**: Quality assurance processes for moderation consistency and accuracy.
### 4.2. Proactive and Reactive Moderation
We employ both proactive and reactive moderation strategies:
**Proactive Moderation:**
**(a)** **Pre-Publication Review**: Review of content before it becomes publicly visible;
**(b)** **Automated Screening**: Automated systems that flag potentially problematic content;
**(c)** **Pattern Recognition**: Identification of emerging harmful trends or behaviours;
**(d)** **Risk Assessment**: Assessment of content that may pose risks to community safety;
**Reactive Moderation:**
**(a)** **User Reports**: Response to user reports of problematic content;
**(b)** **Post-Publication Review**: Review of content after it has been published;
**(c)** **Escalation Handling**: Management of escalated moderation cases;
**(d)** **Incident Response**: Response to significant content-related incidents.
### 4.3. Context-Sensitive Moderation
Our moderation decisions consider:
**(a)** **Platform Context**: Different standards for different types of platforms and communities;
**(b)** **Audience Considerations**: Age appropriateness and audience expectations;
**(c)** **Cultural Context**: Cultural sensitivity and regional considerations;
**(d)** **Historical Context**: Historical context and evolving social norms;
**(e)** **Intent Assessment**: Evaluation of user intent behind content creation;
**(f)** **Impact Evaluation**: Assessment of potential harm or community impact;
**(g)** **Precedent Consideration**: Consistency with previous moderation decisions;
**(h)** **Legal Requirements**: Compliance with applicable legal requirements in different jurisdictions.
### 4.4. Moderation Decision Framework
Moderation decisions follow a structured framework:
**(a)** **Policy Review**: Assessment against all applicable policies and guidelines;
**(b)** **Context Analysis**: Consideration of context, intent, and potential impact;
**(c)** **Severity Assessment**: Evaluation of the severity of policy violations;
**(d)** **Proportionate Response**: Selection of appropriate and proportionate enforcement actions;
**(e)** **Consistency Check**: Verification of consistency with similar cases;
**(f)** **Documentation**: Comprehensive documentation of decisions and rationale;
**(g)** **Review Process**: Internal review process for significant decisions;
**(h)** **Communication**: Clear communication of decisions and expectations to users.
## 5. ENFORCEMENT ACTIONS AND CONSEQUENCES
### 5.1. Range of Enforcement Actions
We may take the following enforcement actions for policy violations:
**(a)** **Content Warning**: Adding warning labels to content that may be sensitive or controversial;
**(b)** **Content Removal**: Removing content that violates our policies;
**(c)** **Visibility Reduction**: Reducing the visibility or reach of problematic content;
**(d)** **Edit Requirements**: Requiring users to edit content to bring it into compliance;
**(e)** **User Warning**: Issuing formal warnings to users about policy violations;
**(f)** **Temporary Restrictions**: Temporarily restricting user privileges or access to features;
**(g)** **Account Suspension**: Temporarily suspending user accounts;
**(h)** **Account Termination**: Permanently terminating user accounts for serious or repeated violations.
### 5.2. Progressive Enforcement Approach
Our enforcement generally follows a progressive approach:
**First Violation:**
**(a)** Educational response with policy clarification;
**(b)** Content removal or editing requirements;
**(c)** Informal guidance on community expectations;
**Second Violation:**
**(a)** Formal warning with specific improvement expectations;
**(b)** Temporary restrictions on posting or participation;
**(c)** Required acknowledgement of policy understanding;
**Subsequent Violations:**
**(a)** Escalating temporary suspensions;
**(b)** Loss of specific privileges or features;
**(c)** Enhanced monitoring of future content;
**Serious or Repeated Violations:**
**(a)** Permanent account suspension or termination;
**(b)** Removal from community platforms;
**(c)** Potential legal action for serious violations.
### 5.3. Immediate Action Circumstances
Immediate severe enforcement may be applied for:
**(a)** **Safety Threats**: Content that poses immediate threats to user safety;
**(b)** **Legal Violations**: Content that clearly violates applicable laws;
**(c)** **Severe Harassment**: Serious harassment or abuse of other users;
**(d)** **Doxxing**: Sharing of private personal information without consent;
**(e)** **Impersonation**: Impersonating others or creating deceptive identities;
**(f)** **Security Threats**: Content that poses security risks to our platforms or users;
**(g)** **Criminal Activity**: Content related to criminal activity or illegal behaviour;
**(h)** **Terms of Service Violations**: Serious violations of fundamental terms of service.
### 5.4. Account Status and Restrictions
Account restrictions may include:
**(a)** **Posting Limitations**: Restrictions on frequency or type of content posting;
**(b)** **Feature Access**: Limited access to specific platform features or capabilities;
**(c)** **Visibility Restrictions**: Reduced visibility of user content or profile;
**(d)** **Community Participation**: Restrictions on participation in community features;
**(e)** **Moderation Queue**: Requirement for content pre-approval before publication;
**(f)** **Enhanced Monitoring**: Increased scrutiny of user content and behaviour;
**(g)** **Probationary Status**: Temporary probationary status with enhanced oversight;
**(h)** **Appeal Restrictions**: Limitations on the number or frequency of appeals.
## 6. COMMUNITY REPORTING AND PARTICIPATION
### 6.1. Community Reporting Mechanisms
We provide multiple ways for community members to report problematic content:
**(a)** **Built-in Report Features**: Report buttons and forms integrated into all content areas;
**(b)** **Email Reporting**: Dedicated email addresses for reporting different types of violations;
**(c)** **Community Moderators**: Designated community moderators for specific platforms or topics;
**(d)** **Anonymous Reporting**: Options for anonymous reporting where technically feasible;
**(e)** **Urgent Reports**: Express reporting channels for urgent safety concerns;
**(f)** **Detailed Reports**: Comprehensive reporting forms for complex violations;
**(g)** **Follow-up Systems**: Systems for following up on report status and outcomes;
**(h)** **Batch Reporting**: Mechanisms for reporting multiple related violations efficiently.
### 6.2. What to Include in Reports
Effective reports should include:
**(a)** **Specific Content**: Clear identification of the problematic content or behaviour;
**(b)** **Policy Violation**: Explanation of which policies or guidelines are being violated;
**(c)** **Evidence**: Screenshots, links, or other evidence supporting the report;
**(d)** **Context**: Relevant context that helps understand the situation;
**(e)** **Impact Description**: Explanation of how the content affects you or the community;
**(f)** **User Information**: Information about the user(s) involved in the violation;
**(g)** **Timestamp**: When the violation occurred or was discovered;
**(h)** **Contact Information**: Your contact information for follow-up questions (where desired).
### 6.3. Community Moderation Programme
We establish community moderation programmes that include:
**(a)** **Volunteer Moderators**: Community volunteers who help with content moderation;
**(b)** **Trusted Users**: Experienced users with enhanced reporting or flagging capabilities;
**(c)** **Subject Matter Experts**: Experts in specific domains who assist with technical content review;
**(d)** **Community Leaders**: Recognised community leaders who help set standards and resolve disputes;
**(e)** **Moderation Training**: Training programmes for community moderators;
**(f)** **Recognition Systems**: Recognition and appreciation systems for community moderators;
**(g)** **Support Resources**: Resources and support for community moderation activities;
**(h)** **Feedback Mechanisms**: Regular feedback and improvement processes for community moderation.
### 6.4. Reporter Protection and Support
We are committed to protecting community members who report violations:
**(a)** **Confidentiality**: Reporter information is kept confidential to the extent possible;
**(b)** **Anti-Retaliation**: Strict prohibition against retaliation for good-faith reports;
**(c)** **Anonymous Options**: Anonymous reporting capabilities where technically feasible;
**(d)** **Identity Protection**: Reporter identity is not disclosed to reported users;
**(e)** **Support Services**: Support for users who face consequences for reporting violations;
**(f)** **Legal Protection**: Legal support for reporters facing retaliation or harassment;
**(g)** **Community Support**: Community support systems for users who report serious violations;
**(h)** **Safe Environment**: Commitment to maintaining safe environments for reporting activities.
## 7. APPEALS AND REVIEW PROCESS
### 7.1. Right to Appeal
Users have the right to appeal moderation decisions including:
**(a)** **Content Removal**: Appeals for removed or restricted content;
**(b)** **Account Actions**: Appeals for account suspensions, restrictions, or terminations;
**(c)** **Warning Actions**: Appeals for formal warnings or policy violation notices;
**(d)** **Feature Restrictions**: Appeals for restrictions on specific platform features;
**(e)** **Community Actions**: Appeals for community-specific moderation decisions;
**(f)** **Automated Decisions**: Appeals for decisions made by automated moderation systems;
**(g)** **Reporting Decisions**: Appeals for decisions not to take action on reports;
**(h)** **Policy Interpretations**: Appeals regarding interpretation of policy provisions.
### 7.2. Appeals Process
The appeals process includes the following steps:
**(a)** **Initial Submission**: Submit appeal through designated channels with supporting information;
**(b)** **Acknowledgement**: Receive acknowledgement of appeal receipt within specified timeframe;
**(c)** **Review Assignment**: Assignment of appeal to appropriate review team or individual;
**(d)** **Evidence Review**: Comprehensive review of original decision and new evidence;
**(e)** **Independent Assessment**: Assessment by reviewers not involved in original decision;
**(f)** **Decision Communication**: Clear communication of appeal decision and rationale;
**(g)** **Implementation**: Implementation of any changes resulting from successful appeals;
**(h)** **Follow-up**: Follow-up to ensure proper implementation and user satisfaction.
### 7.3. Appeal Requirements and Information
Effective appeals should include:
**(a)** **Original Decision**: Reference to the original moderation decision being appealed;
**(b)** **Grounds for Appeal**: Clear explanation of why the decision should be reconsidered;
**(c)** **New Evidence**: Any new evidence or information relevant to the appeal;
**(d)** **Policy Interpretation**: Explanation of how policies should be interpreted differently;
**(e)** **Context Clarification**: Additional context that may not have been considered initially;
**(f)** **Impact Statement**: Explanation of how the decision affects the user or community;
**(g)** **Requested Outcome**: Clear statement of what outcome the user is seeking;
**(h)** **Supporting Documentation**: Any supporting documentation, screenshots, or references.
### 7.4. Appeal Outcomes and Implementation
Appeal decisions may result in:
**(a)** **Decision Upheld**: Original decision is confirmed as correct and proportionate;
**(b)** **Decision Reversed**: Original decision is overturned and actions are reversed;
**(c)** **Modified Action**: Original action is modified to be more appropriate or proportionate;
**(d)** **Alternative Resolution**: Alternative resolution that addresses concerns while maintaining standards;
**(e)** **Policy Clarification**: Clarification of policy interpretation for future application;
**(f)** **Additional Review**: Assignment for additional review by higher-level reviewers;
**(g)** **Mediation**: Referral to mediation or alternative dispute resolution processes;
**(h)** **Systemic Changes**: Implementation of systemic changes to prevent similar issues.
## 8. TRANSPARENCY AND ACCOUNTABILITY
### 8.1. Transparency Reporting
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
We are committed to transparency in our moderation practices through:
**(a)** **Moderation Reports**: Regular reports on moderation activities and statistics;
**(b)** **Policy Enforcement Data**: Data on policy violations and enforcement actions;
**(c)** **Appeal Statistics**: Information about appeals processes and outcomes;
**(d)** **Trend Analysis**: Analysis of content trends and emerging moderation challenges;
**(e)** **Process Documentation**: Public documentation of our moderation processes and procedures;
**(f)** **Decision Examples**: Anonymised examples of moderation decisions and rationale;
**(g)** **Policy Updates**: Regular updates about changes to content policies and standards;
**(h)** **Community Feedback**: Reports on community feedback and input on moderation practices.
### 8.2. Accountability Mechanisms
We maintain accountability through:
**(a)** **Internal Audits**: Regular internal audits of moderation decisions and processes;
**(b)** **External Review**: Periodic external review of moderation practices and policies;
**(c)** **Quality Assurance**: Quality assurance programmes for moderation consistency;
**(d)** **Training Programmes**: Regular training and development for moderation staff;
**(e)** **Feedback Systems**: Systems for collecting and acting on feedback about moderation;
**(f)** **Performance Metrics**: Key performance indicators for moderation quality and consistency;
**(g)** **Continuous Improvement**: Ongoing improvement processes based on data and feedback;
**(h)** **Stakeholder Engagement**: Engagement with community stakeholders on moderation practices.
### 8.3. Community Input and Participation
We seek community input through:
**(a)** **Policy Consultations**: Community consultations on significant policy changes;
**(b)** **Feedback Mechanisms**: Regular feedback collection on moderation practices;
**(c)** **Community Surveys**: Surveys to understand community perspectives on content standards;
**(d)** **Focus Groups**: Focus groups with diverse community representatives;
**(e)** **Public Discussions**: Public discussions about moderation challenges and solutions;
**(f)** **Advisory Groups**: Community advisory groups for content and moderation policy;
**(g)** **User Research**: Research to understand user experiences with moderation;
**(h)** **Co-Creation Processes**: Collaborative development of community standards and guidelines.
### 8.4. External Accountability
We engage in external accountability through:
**(a)** **Industry Standards**: Adherence to industry standards for content moderation;
**(b)** **Best Practice Sharing**: Participation in industry initiatives to share best practices;
**(c)** **Academic Collaboration**: Collaboration with academic researchers on moderation effectiveness;
**(d)** **Regulatory Compliance**: Compliance with applicable regulatory requirements;
**(e)** **Third-Party Audits**: Periodic third-party audits of moderation practices;
**(f)** **Certification Programmes**: Participation in relevant certification programmes;
**(g)** **Professional Standards**: Adherence to professional standards for content moderation;
**(h)** **Stakeholder Engagement**: Engagement with external stakeholders and advocacy groups.
## 9. SPECIAL CONSIDERATIONS AND CONTEXTS
### 9.1. Cultural and Regional Sensitivity
Our moderation practices consider:
**(a)** **Cultural Differences**: Recognition of cultural differences in communication styles and norms;
**(b)** **Regional Variations**: Adaptation to regional legal and social requirements;
**(c)** **Language Considerations**: Understanding of language nuances and translation challenges;
**(d)** **Religious Sensitivity**: Respect for diverse religious perspectives and practices;
**(e)** **Historical Context**: Consideration of historical contexts that may affect interpretation;
**(f)** **Local Laws**: Compliance with local laws and regulations in different jurisdictions;
**(g)** **Community Norms**: Recognition of established community norms and traditions;
**(h)** **Inclusive Practices**: Promotion of inclusive practices that welcome diverse perspectives.
### 9.2. Vulnerable Populations
We provide enhanced protections for:
**(a)** **Minors**: Additional safeguards for content involving or targeting minors;
**(b)** **Marginalised Groups**: Enhanced protection for marginalised and vulnerable communities;
**(c)** **Mental Health**: Consideration of mental health impacts in moderation decisions;
**(d)** **Crisis Situations**: Special procedures for users in crisis or distress;
**(e)** **Harassment Targets**: Additional support for users who are frequent targets of harassment;
**(f)** **New Users**: Extra guidance and support for new users learning community norms;
**(g)** **Language Barriers**: Accommodation for users with language barriers or disabilities;
**(h)** **Digital Literacy**: Support for users with varying levels of digital literacy.
### 9.3. Crisis and Emergency Response
During crises or emergencies, we may:
**(a)** **Expedited Review**: Implement expedited review processes for urgent content;
**(b)** **Enhanced Monitoring**: Increase monitoring for harmful or dangerous content;
**(c)** **Crisis Resources**: Provide links to crisis resources and support services;
**(d)** **Emergency Contacts**: Facilitate contact with emergency services when appropriate;
**(e)** **Misinformation Control**: Take enhanced action against harmful misinformation during crises;
**(f)** **Coordinated Response**: Coordinate with relevant authorities and organisations;
**(g)** **Resource Allocation**: Reallocate moderation resources to address crisis-related content;
**(h)** **Post-Crisis Review**: Conduct post-crisis reviews to improve future emergency responses.
### 9.4. Emerging Technologies and Trends
We adapt our moderation practices to address:
**(a)** **New Content Types**: Evolution of policies to address new types of content and media;
**(b)** **Emerging Platforms**: Adaptation of standards for new platforms and technologies;
**(c)** **AI-Generated Content**: Special considerations for AI-generated text, images, and media;
**(d)** **Deepfakes and Manipulation**: Enhanced detection and response to manipulated media;
**(e)** **Virtual Reality**: Moderation considerations for immersive and virtual environments;
**(f)** **Blockchain Content**: Considerations for content stored on blockchain platforms;
**(g)** **IoT Communications**: Moderation of communications through Internet of Things devices;
**(h)** **Augmented Reality**: Content moderation in augmented reality applications and overlays.
## 10. TRAINING AND DEVELOPMENT
### 10.1. Moderator Training Programmes
Our moderation training includes:
**(a)** **Policy Education**: Comprehensive training on all content policies and guidelines;
**(b)** **Decision-Making Skills**: Training on consistent and fair decision-making processes;
**(c)** **Cultural Competency**: Training on cultural sensitivity and diverse perspectives;
**(d)** **Mental Health Awareness**: Training on recognising and responding to mental health issues;
**(e)** **Legal Requirements**: Education on relevant legal requirements and compliance;
**(f)** **Technology Tools**: Training on moderation tools and systems;
**(g)** **Communication Skills**: Training on effective communication with users about moderation decisions;
**(h)** **Continuous Education**: Ongoing education and professional development opportunities.
### 10.2. Quality Assurance and Consistency
We maintain quality through:
**(a)** **Calibration Sessions**: Regular calibration sessions to ensure consistent decision-making;
**(b)** **Performance Monitoring**: Monitoring of moderator performance and decision quality;
**(c)** **Feedback Systems**: Systems for providing feedback to moderators on their decisions;
**(d)** **Peer Review**: Peer review processes for complex or sensitive moderation decisions;
**(e)** **Case Studies**: Development and use of case studies for training and calibration;
**(f)** **Best Practices Documentation**: Documentation and sharing of best practices;
**(g)** **Regular Assessment**: Regular assessment of moderation quality and consistency;
**(h)** **Improvement Planning**: Systematic planning for continuous improvement in moderation quality.
### 10.3. Technology and Tools Training
Training on moderation technology includes:
**(a)** **Automated Systems**: Understanding and working with automated moderation systems;
**(b)** **Detection Tools**: Use of tools for detecting prohibited content and behaviours;
**(c)** **Analytics Platforms**: Understanding analytics and data for moderation insights;
**(d)** **Reporting Systems**: Effective use of reporting and case management systems;
**(e)** **Communication Tools**: Use of tools for communicating with users about moderation decisions;
**(f)** **Appeal Systems**: Understanding and managing appeals processes and systems;
**(g)** **Documentation Systems**: Proper documentation of moderation decisions and rationale;
**(h)** **Integration Tools**: Understanding integration between different moderation tools and platforms.
### 10.4. Wellbeing and Support
We provide support for moderation staff including:
**(a)** **Mental Health Resources**: Access to mental health resources and counselling services;
**(b)** **Workload Management**: Appropriate workload management and rotation schedules;
**(c)** **Peer Support**: Peer support networks and discussion groups for moderation staff;
**(d)** **Professional Development**: Opportunities for professional development and career advancement;
**(e)** **Work-Life Balance**: Support for maintaining healthy work-life balance;
**(f)** **Trauma-Informed Care**: Training and support for dealing with traumatic content;
**(g)** **Regular Check-ins**: Regular check-ins and support meetings with management;
**(h)** **Recognition Programmes**: Recognition and appreciation programmes for moderation staff.
## 11. POLICY EVOLUTION AND UPDATES
### 11.1. Continuous Policy Development
Our content policies evolve through:
**(a)** **Community Feedback**: Regular incorporation of community feedback and suggestions;
**(b)** **Data Analysis**: Analysis of moderation data and trends to identify policy gaps;
**(c)** **Legal Developments**: Updates in response to changing legal requirements;
**(d)** **Industry Standards**: Alignment with evolving industry standards and best practices;
**(e)** **Research Insights**: Incorporation of academic and industry research on content moderation;
**(f)** **Case Law**: Consideration of relevant legal precedents and decisions;
**(g)** **Technology Changes**: Adaptation to new technologies and platforms;
**(h)** **Social Evolution**: Response to changing social norms and expectations.
### 11.2. Policy Update Process
Policy updates follow a structured process:
**(a)** **Issue Identification**: Identification of areas needing policy clarification or development;
**(b)** **Research and Analysis**: Comprehensive research and analysis of proposed changes;
**(c)** **Stakeholder Consultation**: Consultation with relevant stakeholders and community members;
**(d)** **Draft Development**: Development of draft policy language and implementation plans;
**(e)** **Public Comment**: Public comment periods for significant policy changes;
**(f)** **Review and Revision**: Review and revision based on feedback and consultation;
**(g)** **Implementation Planning**: Planning for policy implementation and training;
**(h)** **Monitoring and Evaluation**: Ongoing monitoring and evaluation of policy effectiveness.
### 11.3. Communication of Changes
Policy changes are communicated through:
**(a)** **Advance Notice**: Advance notice of significant policy changes with implementation timelines;
**(b)** **Change Documentation**: Detailed documentation of what changes and why;
**(c)** **Impact Assessment**: Assessment of how changes will affect different user groups;
**(d)** **Training Materials**: Updated training materials for moderators and community leaders;
**(e)** **Community Education**: Educational materials to help users understand new policies;
**(f)** **FAQ Updates**: Updates to frequently asked questions and help resources;
**(g)** **Version Control**: Clear version control and historical tracking of policy changes;
**(h)** **Feedback Channels**: Channels for feedback on policy changes and implementation.
### 11.4. Emergency Policy Updates
In emergency situations, we may:
**(a)** **Immediate Implementation**: Implement policy changes immediately to address urgent risks;
**(b)** **Temporary Measures**: Implement temporary policy measures pending full review;
**(c)** **Crisis Communication**: Provide immediate communication about emergency policy changes;
**(d)** **Expedited Review**: Use expedited review processes for emergency policy development;
**(e)** **Post-Implementation Review**: Conduct thorough reviews of emergency policy changes;
**(f)** **Stakeholder Notification**: Notify key stakeholders of emergency policy implementations;
**(g)** **Adjustment Procedures**: Procedures for adjusting emergency policies based on outcomes;
**(h)** **Documentation**: Comprehensive documentation of emergency policy decisions and rationale.
## 12. CONTACT INFORMATION AND SUPPORT
### 12.1. Content Policy Questions
For questions about our content policies:
**Email:** content-policy@nhcarrigan.com
**Subject Line:** Content Policy Inquiry - [Brief Description]
**Response Time:** Within 7-10 business days for policy clarification requests
### 12.2. Content Reporting
To report problematic content:
**Email:** moderation@nhcarrigan.com
**Subject Line:** Content Report - [Platform/Type]
**Emergency Reports:** For urgent safety concerns, use subject line "URGENT - Content Report"
**Response Time:** Within 7-10 business days for all reports
### 12.3. Moderation Appeals
For appeals of moderation decisions:
**Email:** appeals@nhcarrigan.com
**Subject Line:** Moderation Appeal - [Account/Case Reference]
**Process:** Follow detailed appeals process outlined in our Community Appeals Policy
**Response Time:** Within 7-10 business days for appeal reviews
### 12.4. Community Support
For general community support and guidance:
**Email:** community@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
**Response Time:** Within 7-10 business days for community support requests
**Live Chat:** Available during business hours for immediate assistance
---
*This Content and Moderation Policy establishes our commitment to maintaining safe, inclusive, and productive communities. By participating in our platforms, you agree to abide by these content standards and acknowledge our moderation practices. For questions about content policies or to report violations, please contact us at moderation@nhcarrigan.com.*
@@ -0,0 +1,793 @@
---
title: Crisis and Mental Health Management Policy
---
**CRISIS INTERVENTION AND MENTAL HEALTH RESPONSE PROTOCOLS**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Purpose and Objectives
This Crisis and Mental Health Management Policy ("Policy") establishes comprehensive protocols for identifying, responding to, and managing mental health crises and related situations across all services, platforms, and applications operated by NHCarrigan ("we," "us," "our," or "the Company"). This Policy aims to provide appropriate support whilst maintaining clear boundaries regarding our capabilities and legal obligations.
### 1.2. Important Disclaimers and Limitations
**CRITICAL NOTICE:**
**(a)** We are not mental health professionals, licensed therapists, counsellors, or medical practitioners;
**(b)** Our services do not constitute medical advice, psychological counselling, or mental health treatment;
**(c)** We cannot provide crisis intervention services or emergency mental health care;
**(d)** We are not equipped to handle acute mental health emergencies or immediate safety threats;
**(e)** Our responses are limited to basic support, resource provision, and appropriate referrals.
### 1.3. Scope of Application
This Policy applies to:
**(a)** All Team members (volunteers), Staff (paid employees), and community moderators;
**(b)** All platforms, services, and communication channels we operate;
**(c)** All users who may experience or express mental health concerns;
**(d)** All situations involving potential self-harm, suicidal ideation, or mental health crises;
**(e)** Both direct communications and public posts indicating mental distress;
**(f)** Emergency reporting obligations and legal compliance requirements.
### 1.4. Integration with Other Policies
This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Content and Moderation Policy, and all applicable legal protections by reference.
**(d)** Our Limitation of Liability Policy, which governs risk allocation;
**(e)** Our Community Code of Conduct, which establishes behavioural expectations;
**(f)** Applicable legal reporting requirements and mandatory disclosure obligations.
## 2. RECOGNITION AND IDENTIFICATION
### 2.1. Crisis Indicators
We train our team to recognise potential mental health crisis indicators including:
**(a)** **Direct Statements:** Explicit statements about self-harm, suicide, or wanting to die;
**(b)** **Indirect References:** Veiled references to ending one's life or being better off dead;
**(c)** **Giving Away Possessions:** References to distributing belongings or "final" arrangements;
**(d)** **Hopelessness:** Expressions of overwhelming hopelessness or despair;
**(e)** **Isolation Behaviour:** Statements about withdrawing from friends, family, or activities;
**(f)** **Substance References:** References to substance abuse as coping or escape;
**(g)** **Crisis Language:** Use of crisis-specific language or terminology;
**(h)** **Sudden Behavioural Changes:** Dramatic changes in communication patterns or behaviour.
### 2.2. Risk Assessment Levels
We categorise potential situations into three risk levels:
**HIGH RISK - Immediate Danger:**
**(a)** Explicit statements of imminent self-harm or suicide plans;
**(b)** Specific methods or timelines mentioned;
**(c)** Access to means of self-harm explicitly stated;
**(d)** Expressions of immediate intent with specific plans;
**MEDIUM RISK - Concerning Behaviour:**
**(a)** General statements about wanting to die or self-harm;
**(b)** Expressions of hopelessness without specific plans;
**(c)** References to past self-harm or suicidal behaviour;
**(d)** Concerning behavioural changes or isolation;
**LOW RISK - General Distress:**
**(a)** General expressions of sadness or mental health struggles;
**(b)** Requests for mental health resources or support;
**(c)** Discussions about mental health challenges without crisis indicators;
**(d)** Seeking community support for mental health issues.
### 2.3. False Positives and Context Consideration
Our team is trained to consider:
**(a)** **Cultural Context:** Different cultural expressions of distress or metaphorical language;
**(b)** **Creative Expression:** Artistic or literary expressions that may reference dark themes;
**(c)** **Educational Content:** Discussions about mental health for educational purposes;
**(d)** **Support Seeking:** Genuine requests for resources or community support;
**(e)** **Historical References:** References to past experiences without current risk;
**(f)** **Advocacy Work:** Mental health advocacy or awareness activities;
**(g)** **Academic Research:** Research or educational discussions about mental health topics;
**(h)** **Professional Discussions:** Professional or clinical discussions about mental health.
## 3. IMMEDIATE RESPONSE PROTOCOLS
### 3.1. High-Risk Situation Response
For HIGH RISK situations involving imminent danger:
**IMMEDIATE ACTIONS (Within 15 minutes):**
**(a)** **Escalate Immediately:** Notify senior staff and designated crisis response team;
**(b)** **Document Everything:** Screenshot and preserve all relevant communications;
**(c)** **DO NOT Provide Counselling:** Avoid attempting therapeutic intervention;
**(d)** **Encourage Professional Help:** Direct user to immediate emergency services;
**(e)** **Provide Crisis Resources:** Share emergency contact information immediately;
**(f)** **Monitor Continuously:** Keep situation under active monitoring;
**(g)** **Prepare for Reporting:** Gather information needed for potential emergency reporting;
**(h)** **Maintain Confidentiality:** Limit information sharing to essential personnel only.
### 3.2. Medium-Risk Situation Response
For MEDIUM RISK situations involving concerning behaviour:
**WITHIN 30 MINUTES:**
**(a)** **Acknowledge Concern:** Respond with empathy while maintaining boundaries;
**(b)** **Avoid Diagnosis:** Do not attempt to diagnose or provide medical advice;
**(c)** **Provide Resources:** Share mental health resources and support information;
**(d)** **Encourage Professional Support:** Suggest contacting mental health professionals;
**(e)** **Document Interaction:** Record the situation and response provided;
**(f)** **Follow-Up Protocol:** Establish appropriate follow-up procedures;
**(g)** **Team Notification:** Inform relevant team members of the situation;
**(h)** **Monitor for Escalation:** Watch for signs of increasing risk level.
### 3.3. Low-Risk Situation Response
For LOW RISK situations involving general mental health concerns:
**WITHIN 2 HOURS:**
**(a)** **Supportive Response:** Provide empathetic, supportive communication;
**(b)** **Resource Sharing:** Share appropriate mental health resources and information;
**(c)** **Community Support:** Connect user with supportive community members where appropriate;
**(d)** **Professional Referral:** Suggest appropriate professional mental health support;
**(e)** **Document Briefly:** Make basic record of interaction and resources provided;
**(f)** **Respect Boundaries:** Maintain appropriate boundaries and avoid overreach;
**(g)** **Encourage Self-Care:** Promote healthy coping strategies and self-care;
**(h)** **Available Support:** Make clear what ongoing support we can and cannot provide.
### 3.4. Response Templates and Guidelines
**APPROPRIATE RESPONSES:**
**(a)** "We're concerned about what you've shared. Please contact emergency services immediately if you're in immediate danger."
**(b)** "While we can't provide professional counselling, we want you to know there are people who can help."
**(c)** "Here are some mental health resources that might be helpful for you."
**(d)** "We care about your wellbeing, but we're not qualified to provide mental health support."
**INAPPROPRIATE RESPONSES:**
**(a)** Attempting to provide therapy or counselling;
**(b)** Making diagnoses or medical recommendations;
**(c)** Minimising or dismissing expressed concerns;
**(d)** Providing specific medical or therapeutic advice;
**(e)** Making promises about outcomes or recovery;
**(f)** Sharing personal experiences as advice;
**(g)** Attempting crisis intervention beyond our capabilities;
**(h)** Providing false reassurances about serious situations.
## 4. EMERGENCY REPORTING AND LEGAL OBLIGATIONS
### 4.1. Mandatory Reporting Requirements
We are legally obligated to report to appropriate authorities when:
**(a)** **Imminent Danger:** We have reasonable belief that someone is in immediate danger of self-harm;
**(b)** **Specific Threats:** Specific, credible threats of self-harm or suicide are communicated;
**(c)** **Child Safety:** Situations involving minors at risk of harm;
**(d)** **Legal Requirements:** When required by applicable laws in relevant jurisdictions;
**(e)** **Court Orders:** When compelled by valid legal process;
**(f)** **Public Safety:** When broader public safety concerns are present;
**(g)** **Professional Obligations:** When professional duties require disclosure;
**(h)** **Emergency Circumstances:** When emergency services intervention may be necessary.
### 4.2. Information Sharing Protocols
When reporting is necessary:
**(a)** **Minimum Necessary:** Share only information necessary for safety purposes;
**(b)** **Relevant Authorities:** Contact appropriate local emergency services or mental health crisis teams;
**(c)** **Documentation:** Maintain detailed records of all reporting decisions and actions;
**(d)** **User Notification:** Inform users when reporting will occur, except when doing so would increase danger;
**(e)** **Legal Consultation:** Consult legal counsel when reporting obligations are unclear;
**(f)** **Follow-Up:** Follow up on reports to ensure appropriate action was taken;
**(g)** **Privacy Protection:** Maintain confidentiality to the maximum extent possible;
**(h)** **Professional Standards:** Follow all applicable professional and legal standards.
### 4.3. Jurisdictional Considerations
Our reporting obligations vary by jurisdiction and may include:
**(a)** **United States:** Varies by state; may include duty to warn or report;
**(b)** **European Union:** GDPR Article 6(1)(d) processing for vital interests;
**(c)** **Canada:** Provincial mental health legislation requirements;
**(d)** **Australia:** State-based mental health act obligations;
**(e)** **United Kingdom:** Mental Health Act and Care Act duties;
**(f)** **Other Jurisdictions:** Local mental health and emergency reporting laws;
**(g)** **International Users:** Applicable laws where user is located;
**(h)** **Treaty Obligations:** International agreements on emergency assistance.
### 4.4. Emergency Contact Protocols
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
For immediate emergencies, we maintain:
**(a)** **Emergency Services:** Direct contact information for emergency services in major jurisdictions;
**(b)** **Crisis Hotlines:** Comprehensive list of mental health crisis lines globally;
**(c)** **Professional Networks:** Contacts with mental health professionals for consultation;
**(d)** **Legal Counsel:** Access to legal advice on reporting obligations;
**(e)** **Local Authorities:** Contact information for relevant local authorities;
**(f)** **User Location Services:** Methods for determining user location when necessary for emergency response;
**(g)** **Translation Services:** Access to translation services for non-English communications;
**(h)** **24/7 Availability:** Round-the-clock access to emergency response capabilities.
## 5. RESOURCES AND REFERRALS
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
### 5.1. Crisis Resources Database
We maintain an up-to-date database of:
**IMMEDIATE CRISIS RESOURCES:**
**(a)** **National Suicide Prevention Lifeline (US):** 988 or 1-800-273-8255;
**(b)** **Crisis Text Line (US):** Text HOME to 741741;
**(c)** **Samaritans (UK):** 116 123;
**(d)** **Lifeline (Australia):** 13 11 14;
**(e)** **Talk Suicide Canada:** 1-833-456-4566;
**(f)** **International Association for Suicide Prevention:** Global resources directory;
**(g)** **Emergency Services:** 911 (US), 999 (UK), 112 (EU), 000 (Australia);
**(h)** **Local Crisis Centres:** Regional crisis intervention centres.
**ONGOING SUPPORT RESOURCES:**
**(a)** **BetterHelp:** Online therapy platform;
**(b)** **Psychology Today:** Mental health professional directory;
**(c)** **National Alliance on Mental Illness (NAMI):** Support groups and resources;
**(d)** **Crisis Intervention Team (CIT):** Law enforcement crisis response;
**(e)** **Peer Support Networks:** Peer-led mental health support groups;
**(f)** **Community Mental Health Centres:** Local community-based services;
**(g)** **University Counselling Centres:** For students and academic community;
**(h)** **Employee Assistance Programs:** Workplace mental health resources.
### 5.2. Specialised Resources
**DEMOGRAPHIC-SPECIFIC RESOURCES:**
**(a)** **Youth Resources:** Teen-specific crisis lines and support services;
**(b)** **LGBTQ+ Support:** The Trevor Project and similar organisations;
**(c)** **Veterans Support:** VA Crisis Line and veteran-specific services;
**(d)** **Cultural Resources:** Culturally-specific mental health organisations;
**(e)** **Language-Specific:** Resources available in multiple languages;
**(f)** **Religious Support:** Faith-based counselling and support services;
**(g)** **Professional Support:** Resources for healthcare workers and first responders;
**(h)** **Accessibility Resources:** Services for individuals with disabilities.
### 5.3. Resource Quality Assurance
All resources in our database are:
**(a)** **Professionally Vetted:** Reviewed for credibility and professional standards;
**(b)** **Regularly Updated:** Information verified and updated at least quarterly;
**(c)** **Accessibility Checked:** Assessed for accessibility and availability;
**(d)** **Culturally Appropriate:** Evaluated for cultural sensitivity and relevance;
**(e)** **Evidence-Based:** Based on established mental health best practices;
**(f)** **User-Tested:** Feedback incorporated from users who have accessed services;
**(g)** **Professionally Recommended:** Endorsed by mental health professionals;
**(h)** **Quality Monitored:** Ongoing monitoring of service quality and availability.
### 5.4. Resource Presentation Guidelines
When providing resources:
**(a)** **Clear Presentation:** Present information clearly and accessibly;
**(b)** **Multiple Options:** Provide several options to accommodate different needs;
**(c)** **Immediate vs. Ongoing:** Distinguish between crisis and ongoing support resources;
**(d)** **Local Relevance:** Prioritise geographically relevant resources when known;
**(e)** **No Recommendations:** Avoid recommending specific providers over others;
**(f)** **Qualification Clarity:** Clearly state our limitations in evaluating services;
**(g)** **User Choice:** Emphasise user autonomy in choosing appropriate support;
**(h)** **Follow-Up Information:** Provide information about what to expect from services.
## 6. TEAM TRAINING AND PREPAREDNESS
### 6.1. Mandatory Training Requirements
All team members receive training on:
**(a)** **Crisis Recognition:** Identifying signs of mental health crises;
**(b)** **Response Protocols:** Appropriate responses for different risk levels;
**(c)** **Legal Obligations:** Understanding reporting requirements and legal duties;
**(d)** **Resource Knowledge:** Familiarity with available mental health resources;
**(e)** **Boundary Setting:** Maintaining appropriate professional boundaries;
**(f)** **Documentation Standards:** Proper documentation of crisis situations;
**(g)** **Communication Skills:** Effective, empathetic communication techniques;
**(h)** **Self-Care Practices:** Managing the emotional impact of crisis work.
### 6.2. Specialised Training for Response Team
Designated crisis response team members receive additional training in:
**(a)** **Advanced Risk Assessment:** More sophisticated risk evaluation techniques;
**(b)** **De-escalation Techniques:** Basic de-escalation without providing therapy;
**(c)** **Legal Consultation:** When and how to consult legal counsel;
**(d)** **Emergency Coordination:** Coordinating with emergency services and authorities;
**(e)** **Cross-Cultural Competency:** Understanding cultural factors in crisis expression;
**(f)** **Technology Tools:** Using platform features for crisis response;
**(g)** **Incident Management:** Managing complex crisis situations;
**(h)** **Trauma-Informed Approaches:** Understanding trauma impacts on communication.
### 6.3. Ongoing Education and Updates
Our training programme includes:
**(a)** **Regular Updates:** Quarterly updates on policies and procedures;
**(b)** **Case Study Reviews:** Learning from anonymised real situations;
**(c)** **Guest Experts:** Presentations from mental health professionals;
**(d)** **Legal Updates:** Updates on changing legal requirements;
**(e)** **Technology Training:** Training on new tools and platform features;
**(f)** **Community Feedback:** Incorporating community input into training;
**(g)** **Industry Best Practices:** Learning from mental health and crisis intervention fields;
**(h)** **Performance Review:** Regular assessment of crisis response effectiveness.
### 6.4. Support for Team Members
We provide support for team members including:
**(a)** **Debriefing Sessions:** Regular debriefing after crisis situations;
**(b)** **Counselling Access:** Access to professional counselling services;
**(c)** **Peer Support:** Peer support networks for team members;
**(d)** **Workload Management:** Appropriate workload distribution and rotation;
**(e)** **Mental Health Days:** Paid mental health days and wellness support;
**(f)** **Professional Development:** Opportunities for relevant professional development;
**(g)** **Recognition Programmes:** Recognition for effective crisis response;
**(h)** **Exit Support:** Support for team members who need to step back from crisis work.
## 7. DOCUMENTATION AND RECORD KEEPING
### 7.1. Documentation Requirements
All crisis situations must be documented with:
**(a)** **Incident Details:** Date, time, platform, and nature of crisis indication;
**(b)** **Risk Assessment:** Initial and ongoing risk level assessments;
**(c)** **Response Actions:** All actions taken and resources provided;
**(d)** **Personnel Involved:** Team members involved in response;
**(e)** **User Communications:** Relevant communications with user (sanitised for privacy);
**(f)** **External Contacts:** Any contacts made with emergency services or authorities;
**(g)** **Follow-Up Actions:** Ongoing monitoring and follow-up actions;
**(h)** **Resolution Status:** Current status and any resolution achieved.
### 7.2. Privacy and Confidentiality
Crisis documentation must balance thorough record-keeping with privacy:
**(a)** **Need-to-Know Basis:** Access limited to personnel with legitimate need;
**(b)** **Anonymisation:** Personal identifiers removed where possible;
**(c)** **Secure Storage:** All records stored in secure, encrypted systems;
**(d)** **Retention Limits:** Records retained only as long as necessary;
**(e)** **User Rights:** Users maintain rights over their personal information;
**(f)** **Legal Privilege:** Attorney-client privilege maintained where applicable;
**(g)** **Disclosure Logging:** All disclosures logged and justified;
**(h)** **Regular Review:** Regular review of documentation practices for privacy compliance.
### 7.3. Reporting and Analysis
We conduct regular analysis of crisis situations to:
**(a)** **Identify Trends:** Recognise patterns in crisis presentations;
**(b)** **Improve Responses:** Enhance response protocols based on outcomes;
**(c)** **Resource Evaluation:** Assess effectiveness of provided resources;
**(d)** **Training Needs:** Identify additional training requirements;
**(e)** **Policy Updates:** Update policies based on practical experience;
**(f)** **Risk Mitigation:** Implement preventive measures where appropriate;
**(g)** **Community Impact:** Understand impact on community wellbeing;
**(h)** **Legal Compliance:** Ensure ongoing compliance with legal obligations.
### 7.4. Quality Assurance
Our documentation system includes:
**(a)** **Regular Audits:** Periodic audits of documentation quality and completeness;
**(b)** **Accuracy Checks:** Verification of information accuracy and completeness;
**(c)** **Template Updates:** Regular updates to documentation templates;
**(d)** **Training Integration:** Integration of documentation training into team education;
**(e)** **System Improvements:** Ongoing improvements to documentation systems;
**(f)** **Error Correction:** Procedures for correcting documentation errors;
**(g)** **Backup Systems:** Redundant storage and backup procedures;
**(h)** **Access Monitoring:** Monitoring and logging of record access.
## 8. COMMUNITY EDUCATION AND PREVENTION
### 8.1. Mental Health Awareness
We promote mental health awareness through:
**(a)** **Educational Content:** Regular content about mental health resources and awareness;
**(b)** **Resource Sharing:** Proactive sharing of mental health resources and information;
**(c)** **De-stigmatisation:** Efforts to reduce stigma around mental health discussions;
**(d)** **Community Events:** Mental health awareness events and campaigns;
**(e)** **Expert Partnerships:** Collaboration with mental health organisations;
**(f)** **Peer Support:** Facilitating peer support networks within our community;
**(g)** **Self-Care Promotion:** Encouraging healthy coping strategies and self-care;
**(h)** **Crisis Prevention:** Educational content about recognising crisis warning signs.
### 8.2. Community Guidelines for Mental Health Discussions
Our community guidelines establish:
**(a)** **Respectful Discussion:** Standards for respectful mental health conversations;
**(b)** **No Diagnosis:** Prohibition on attempting to diagnose community members;
**(c)** **Professional Referral:** Encouragement to seek professional help when appropriate;
**(d)** **Privacy Respect:** Respect for individuals' privacy regarding mental health;
**(e)** **Support Boundaries:** Appropriate boundaries for peer support;
**(f)** **Crisis Recognition:** Guidelines for recognising and responding to crisis situations;
**(g)** **Resource Sharing:** Appropriate ways to share mental health resources;
**(h)** **Harmful Content:** Prohibition on content that could harm vulnerable individuals.
### 8.3. Proactive Support Measures
We implement proactive measures including:
**(a)** **Wellness Checks:** Voluntary wellness check-ins for community members;
**(b)** **Support Groups:** Facilitated support groups for various mental health topics;
**(c)** **Mentorship Programmes:** Peer mentorship programmes with mental health awareness;
**(d)** **Crisis Resources Visibility:** Prominent display of crisis resources on all platforms;
**(e)** **Regular Reminders:** Regular reminders about available support and resources;
**(f)** **Inclusive Environment:** Creating inclusive environments that support mental wellbeing;
**(g)** **Stress Reduction:** Platform features and policies that reduce unnecessary stress;
**(h)** **Community Connection:** Features that promote healthy community connection.
### 8.4. Partnership Development
We develop partnerships with:
**(a)** **Mental Health Organisations:** Local and national mental health organisations;
**(b)** **Crisis Centres:** Crisis intervention centres and hotlines;
**(c)** **Educational Institutions:** Schools and universities with mental health programmes;
**(d)** **Healthcare Systems:** Healthcare systems with mental health services;
**(e)** **Professional Associations:** Mental health professional associations;
**(f)** **Research Institutions:** Academic institutions researching mental health;
**(g)** **Advocacy Groups:** Mental health advocacy and awareness groups;
**(h)** **Technology Partners:** Technology companies with mental health focus.
## 9. LEGAL COMPLIANCE AND LIABILITY
### 9.1. Limitation of Liability
**IMPORTANT LEGAL DISCLAIMERS:**
**(a)** We provide information and resources but not professional mental health services;
**(b)** We cannot guarantee the effectiveness of any resources or referrals provided;
**(c)** We are not liable for outcomes resulting from mental health crises;
**(d)** Our response capabilities are limited and should not be relied upon for emergency intervention;
**(e)** Users must seek appropriate professional help for mental health concerns;
**(f)** We disclaim liability for third-party resources and services;
**(g)** Emergency services should be contacted directly for immediate crises;
**(h)** This policy does not create professional therapeutic relationships.
### 9.2. Duty of Care Limitations
Our duty of care is limited to:
**(a)** **Reasonable Response:** Responding reasonably within our capabilities;
**(b)** **Resource Provision:** Providing appropriate resource information;
**(c)** **Professional Referral:** Referring to appropriate professional services;
**(d)** **Legal Compliance:** Meeting applicable legal reporting requirements;
**(e)** **Documentation:** Maintaining appropriate records of interventions;
**(f)** **Training Maintenance:** Ensuring team members are appropriately trained;
**(g)** **Policy Adherence:** Following established crisis response protocols;
**(h)** **Continuous Improvement:** Regular review and improvement of procedures.
### 9.3. Professional Boundaries
We maintain clear boundaries by:
**(a)** **No Diagnosis:** Never providing diagnoses or professional assessments;
**(b)** **No Treatment:** Not providing therapy, counselling, or medical treatment;
**(c)** **No Medical Advice:** Avoiding medical recommendations or medication advice;
**(d)** **Referral Only:** Limiting our role to information and referral;
**(e)** **Clear Communication:** Clearly communicating our limitations to users;
**(f)** **Professional Consultation:** Consulting professionals when appropriate;
**(g)** **Documentation of Limits:** Documenting the limitations of our interventions;
**(h)** **Ethical Standards:** Adhering to ethical standards for non-professional support.
### 9.4. Legal Consultation Framework
We maintain legal consultation capabilities for:
**(a)** **Reporting Decisions:** When reporting obligations are unclear;
**(b)** **Jurisdictional Questions:** Complex cross-jurisdictional situations;
**(c)** **Privacy Concerns:** Balancing privacy with safety obligations;
**(d)** **Liability Questions:** Understanding liability exposure and mitigation;
**(e)** **Policy Development:** Legal review of policy changes and updates;
**(f)** **Complex Cases:** Unusual or complex crisis situations;
**(g)** **Regulatory Compliance:** Ensuring compliance with changing regulations;
**(h)** **Risk Assessment:** Legal assessment of institutional risks.
## 10. CONTACT INFORMATION AND RESOURCES
### 10.1. Internal Crisis Response Team
**Crisis Response Team:** crisis-response@nhcarrigan.com
**Senior Leadership:** leadership@nhcarrigan.com (for escalation)
**Legal Counsel:** legal@nhcarrigan.com (for legal consultation)
**24/7 Emergency Escalation:** Available through designated emergency contact procedures
### 10.2. External Emergency Resources
**IMMEDIATE CRISIS RESOURCES:**
**(a)** **National Suicide Prevention Lifeline (US):** 988
**(b)** **Crisis Text Line (US):** Text HOME to 741741
**(c)** **Samaritans (UK):** 116 123
**(d)** **Lifeline (Australia):** 13 11 14
**(e)** **Crisis Services Canada:** 1-833-456-4566
**(f)** **Emergency Services:** 911 (US), 999 (UK), 112 (EU), 000 (Australia)
### 10.3. Professional Mental Health Resources
**(a)** **Psychology Today:** https://www.psychologytoday.com
**(b)** **BetterHelp:** https://www.betterhelp.com
**(c)** **National Alliance on Mental Illness:** https://www.nami.org
**(d)** **Mental Health America:** https://www.mhanational.org
**(e)** **International Association for Suicide Prevention:** https://www.iasp.info
### 10.4. Community Support and Information
**Community Support:** community@nhcarrigan.com
**General Information:** info@nhcarrigan.com
**Resource Updates:** To report outdated resources or suggest additions
**Policy Feedback:** feedback@nhcarrigan.com
---
*This Crisis and Mental Health Management Policy establishes our commitment to supporting community wellbeing whilst maintaining clear professional boundaries. We are not mental health professionals and cannot provide therapeutic services. If you or someone you know is in crisis, please contact emergency services or professional crisis intervention services immediately.*
**IF YOU ARE IN IMMEDIATE DANGER, CONTACT EMERGENCY SERVICES: 911 (US), 999 (UK), 112 (EU), 000 (Australia)**
+681 -87
View File
@@ -2,120 +2,714 @@
title: DMCA and Intellectual Property Compliance Policy
---
## 1. General Principles
**PROTECTING CREATIVE RIGHTS WHILST FOSTERING INNOVATION**
- Respect for intellectual property rights is fundamental to our community's ethos and operations.
- All community members, including users, contributors, and administrators, are expected to comply with applicable copyright laws, trademark regulations, and licensing terms.
- This policy aims to protect the rights of content creators while fostering an environment of innovation and knowledge sharing.
- Ignorance of the law or this policy is not considered a valid excuse for non-compliance.
## 1. POLICY OVERVIEW AND PRINCIPLES
## 2. Sharing Copyrighted Material
### 1.1. Fundamental Principles
- Do not share copyrighted material without explicit permission from the copyright holder or a valid license.
- When sharing is permitted, always include proper attribution and adhere to any specified terms of use.
- Linking to legitimately published content is generally acceptable, but copying and pasting substantial portions is discouraged unless explicitly allowed by the copyright holder.
- Be aware that even user-generated content on social media platforms may be copyrighted.
- When in doubt about the copyright status of material, err on the side of caution and seek permission or clarification.
This Digital Millennium Copyright Act and Intellectual Property Compliance Policy ("Policy") is founded upon the following core principles:
## 3. Fair Use and Educational Purposes
**(a)** Respect for intellectual property rights is essential to our community's values and operations;
- Limited use of copyrighted material for commentary, criticism, news reporting, teaching, scholarship, or research may be permissible under fair use doctrines.
- When relying on fair use, clearly indicate the source and purpose of the use.
- Fair use is determined on a case-by-case basis, considering factors such as:
- The purpose and character of the use (commercial vs. non-profit educational)
- The nature of the copyrighted work
- The amount and substantiality of the portion used
- The effect of the use upon the potential market for the copyrighted work
- Educational use does not automatically qualify as fair use; consider all factors carefully.
**(b)** All community members, including users, contributors, administrators, and staff, must comply with applicable copyright laws, trademark regulations, and licensing requirements;
## 4. Proper Attribution
**(c)** We are committed to fostering an environment that encourages innovation and knowledge sharing whilst protecting creators' rights;
- When using or referencing others' work, always provide clear and comprehensive attribution.
- Attribution should include:
- The name of the creator or author
- The title of the work
- The source (e.g., website URL, book title, journal name)
- The date of publication or creation (if available)
- Any applicable license terms
- For digital content, consider using hyperlinks to the original source when possible.
- Follow citation guidelines appropriate to your field or the context of use (e.g., APA, Chicago).
**(d)** Ignorance of applicable law or this Policy does not constitute a valid defence for non-compliance.
## 5. Original Content Creation and Sharing
### 1.2. Scope of Application
- Community members are encouraged to create and share original content.
- By sharing original content in our community spaces, you grant the community a non-exclusive, worldwide, royalty-free right to use, reproduce, modify, adapt, publish, translate, distribute, and display the content within the community.
- You retain copyright of your original work unless explicitly stated otherwise.
- Consider adding a clear copyright notice to your original works.
- Be mindful of using third-party content (e.g., images, music) in your original creations, ensuring you have the right to incorporate such elements.
This Policy applies to:
## 6. Open Source and Creative Commons
**(a)** All users of our Services, platforms, and applications;
- We encourage the use of open source licenses and Creative Commons for shared content where appropriate.
- When using open source or Creative Commons licensed material, adhere strictly to the terms of the license.
- Familiarize yourself with different types of open source and Creative Commons licenses and their requirements (e.g., attribution, share-alike, non-commercial use).
- Provide clear license information when sharing your own content under open source or Creative Commons terms.
**(b)** All content uploaded, shared, or transmitted through our Services;
## 7. Code Snippets and Examples
**(c)** All community interactions, including forums, chat platforms, and collaborative spaces;
- Short code snippets shared for educational or troubleshooting purposes are generally acceptable under fair use.
- For larger code samples, include license information and attribution if taken from other sources.
- When sharing your own code, consider using an appropriate open source license.
- Be aware that copying entire programs or substantial portions of code may infringe copyright, even if source attribution is provided.
**(d)** All third-party integrations and linked content.
## 8. Plagiarism
### 1.3. Legal Framework
- Presenting others' work as your own is strictly prohibited and considered a serious offence.
- This includes code, text, images, ideas, and any other form of content.
- Plagiarism can have serious consequences, including loss of community privileges, academic penalties, or legal action.
- Always cite your sources and use quotation marks for direct quotes.
This Policy is designed to comply with:
## 9. Trademark Usage
**(a)** The Digital Millennium Copyright Act (DMCA) of the United States;
- Respect trademark rights when referencing products, services, or organizations.
- Use trademark symbols (™, ®) appropriately when referring to trademarked names.
- Avoid using trademarks in a way that suggests endorsement or affiliation without permission.
**(b)** International copyright treaties and conventions;
## 10. Digital Millennium Copyright Act (DMCA) Compliance
**(c)** Applicable national and regional intellectual property laws;
- We comply with the DMCA and maintain a policy for addressing claims of copyright infringement.
- If you believe your copyrighted work has been improperly used within our community, submit a DMCA takedown notice to DMCA@nhcarrigan.com.
- DMCA takedown notices must include:
- Identification of the copyrighted work claimed to have been infringed
- Identification of the allegedly infringing material
- Contact information for the complainant
- A statement of good faith belief that the use is not authorized
- A statement, under penalty of perjury, that the information in the notice is accurate and that the complainant is authorized to act on behalf of the copyright owner
- We will promptly investigate all legitimate DMCA takedown notices and take appropriate action, which may include content removal or account suspension.
**(d)** Platform-specific terms of service and licensing requirements.
## 11. Counter-Notifications
## 2. COPYRIGHT PROTECTION AND COMPLIANCE
- If you believe your content was wrongly removed due to a DMCA takedown notice, you may submit a counter-notification.
- Counter-notifications must include:
- Identification of the removed material and its location before removal
- A statement under penalty of perjury that you have a good faith belief the material was removed by mistake or misidentification
- Your name, address, and telephone number
- A statement that you consent to the jurisdiction of the federal district court for the judicial district in which you reside
### 2.1. Prohibition on Unauthorised Sharing
## 12. Repeat Infringer Policy
You must not share copyrighted material through our Services unless you have:
- We maintain a repeat infringer policy to ensure ongoing DMCA compliance.
- Users who repeatedly infringe copyrights may have their accounts terminated.
- We keep records of DMCA notices and counter-notifications to identify repeat infringers.
**(a)** Explicit written permission from the copyright holder;
## 13. Education and Awareness
**(b)** A valid licence that permits such sharing;
- We are committed to educating our community about intellectual property rights and responsibilities.
- Regular updates and resources on copyright law and best practices will be provided.
- Members are encouraged to seek clarification on any aspect of this policy they find unclear.
**(c)** Legal basis for the sharing under applicable copyright exceptions or limitations.
## 14. Policy Updates
### 2.2. Proper Attribution Requirements
- This policy may be updated periodically to reflect changes in law, technology, or community needs.
- Continued use of our community platforms constitutes acceptance of the current policy.
When sharing material is permitted, you must:
## 15. Disclaimer
**(a)** Provide complete and accurate attribution to the original creator;
- This policy is not exhaustive and does not constitute legal advice.
- Users are encouraged to seek independent legal counsel for specific intellectual property matters.
**(b)** Include all required copyright notices and licensing information;
By participating in our community, you agree to abide by this DMCA and Intellectual Property Compliance Policy. Failure to comply may result in content removal, account suspension, or other appropriate actions as determined by community administrators.
**(c)** Comply with any specific attribution requirements set forth in applicable licences;
**(d)** Clearly indicate any modifications made to the original material.
### 2.3. Linking vs. Copying
**(a)** **Permitted Practice:** Linking to legitimately published content is generally acceptable and encouraged;
**(b)** **Restricted Practice:** Copying and redistributing substantial portions of copyrighted material is prohibited unless explicitly permitted;
**(c)** **User-Generated Content:** Be aware that content posted on social media platforms and similar services may be subject to copyright protection.
### 2.4. Due Diligence Requirements
When uncertain about the copyright status of material:
**(a)** Conduct reasonable research to determine copyright ownership;
**(b)** Err on the side of caution and seek permission or clarification;
**(c)** Consult with legal professionals when necessary;
**(d)** Document your efforts to comply with copyright requirements.
## 3. FAIR USE AND EDUCATIONAL PURPOSES
### 3.1. Fair Use Principles
Limited use of copyrighted material may be permissible under fair use doctrines for:
**(a)** Commentary, criticism, or parody;
**(b)** News reporting and journalism;
**(c)** Teaching, scholarship, and academic research;
**(d)** Other purposes recognised under applicable fair use provisions.
### 3.2. Fair Use Assessment Factors
When claiming fair use, you must consider:
**(a)** **Purpose and Character:** Whether the use is commercial or non-profit educational, and whether it transforms the original work;
**(b)** **Nature of the Work:** Whether the copyrighted work is factual or creative in nature;
**(c)** **Amount Used:** The proportion and substantiality of the portion used in relation to the whole;
**(d)** **Market Impact:** The effect of your use on the potential market for the original work.
### 3.3. Educational Use Clarification
**(a)** Educational context does not automatically qualify as fair use;
**(b)** All four factors must be considered in each specific case;
**(c)** Systematic copying for educational purposes may not qualify for fair use protection;
**(d)** Commercial educational uses face higher scrutiny than non-profit educational activities.
### 3.4. Documentation and Source Citation
When relying on fair use:
**(a)** Clearly indicate the source and purpose of your use;
**(b)** Provide proper attribution to the original creator;
**(c)** Document your fair use analysis and reasoning;
**(d)** Be prepared to defend your fair use claim if challenged.
## 4. ATTRIBUTION AND CITATION STANDARDS
### 4.1. Mandatory Attribution Elements
When using or referencing others' work, you must provide:
**(a)** The full name of the creator or author;
**(b)** The complete title of the work;
**(c)** The source (website URL, publication details, repository location);
**(d)** The date of publication or creation (where available);
**(e)** Any applicable licence terms and requirements;
**(f)** A clear indication of any modifications made to the original.
### 4.2. Digital Citation Best Practices
For digital content:
**(a)** Use hyperlinks to original sources whenever possible;
**(b)** Ensure links are functional and lead directly to the referenced content;
**(c)** Include archived versions of links where content may be ephemeral;
**(d)** Follow established citation standards appropriate to your field or context.
### 4.3. Academic and Professional Citations
When creating academic or professional content:
**(a)** Follow recognised citation styles (APA, MLA, Chicago, etc.);
**(b)** Maintain consistency in citation format throughout your work;
**(c)** Include complete bibliographies or reference lists;
**(d)** Distinguish between different types of sources and references.
## 5. ORIGINAL CONTENT CREATION AND LICENSING
### 5.1. Original Content Rights
When creating and sharing original content through our Services:
**(a)** You retain copyright ownership of your original works;
**(b)** You grant our community certain usage rights as specified in our Terms of Service;
**(c)** You may specify additional licensing terms for your content;
**(d)** Copyright notices may be added to clarify ownership and rights.
### 5.2. Third-Party Content in Original Works
When incorporating third-party elements into your original creations:
**(a)** Ensure you have appropriate rights to use all incorporated elements;
**(b)** Provide proper attribution for all third-party contributions;
**(c)** Comply with licensing requirements of incorporated elements;
**(d)** Consider the impact on your ability to license the resulting work.
### 5.3. Community Usage Rights
By sharing content in our community spaces, you grant:
**(a)** A non-exclusive, worldwide, royalty-free right to use, reproduce, and display the content within community contexts;
**(b)** The right to modify content for technical compatibility and presentation purposes;
**(c)** The right to archive content for community preservation purposes;
**(d)** Such other rights as may be specified in our Terms of Service.
### 5.4. Licensing Recommendations
We encourage content creators to:
**(a)** Consider using Creative Commons licences for broader sharing;
**(b)** Clearly specify the terms under which others may use their content;
**(c)** Understand the implications of different licensing choices;
**(d)** Seek legal advice for complex licensing scenarios.
## 6. OPEN SOURCE AND CREATIVE COMMONS COMPLIANCE
### 6.1. Open Source Software
When using open source software:
**(a)** Carefully review and comply with all licence requirements;
**(b)** Include required copyright notices and licence texts;
**(c)** Understand obligations regarding source code availability;
**(d)** Be aware of licence compatibility issues when combining multiple open source components.
### 6.2. Creative Commons Materials
When using Creative Commons licensed content:
**(a)** Identify the specific licence version and requirements;
**(b)** Provide appropriate attribution as specified in the licence;
**(c)** Comply with share-alike requirements where applicable;
**(d)** Respect non-commercial use restrictions where specified;
**(e)** Understand the implications of no-derivatives restrictions.
### 6.3. Licence Verification
**(a)** Verify licence information from authoritative sources;
**(b)** Be cautious of incorrect or outdated licence information;
**(c)** Contact creators directly when licence terms are unclear;
**(d)** Maintain records of your licence compliance efforts.
### 6.4. Contributing to Open Projects
When contributing to open source or Creative Commons projects:
**(a)** Understand the licensing implications of your contributions;
**(b)** Ensure you have the right to license your contributions under project terms;
**(c)** Follow project-specific contribution guidelines and requirements;
**(d)** Be aware that contributions may be difficult to retract once accepted.
## 7. CODE SHARING AND TECHNICAL CONTENT
### 7.1. Code Snippets and Examples
**(a)** **Short Code Snippets:** Generally acceptable under fair use for educational or troubleshooting purposes;
**(b)** **Substantial Code Blocks:** Require proper licensing and attribution;
**(c)** **Complete Programs:** Must comply with applicable software licences;
**(d)** **Modified Code:** Must respect original licence requirements and indicate modifications.
### 7.2. Educational Code Sharing
When sharing code for educational purposes:
**(a)** Provide context and explanation for the code's purpose;
**(b)** Include appropriate licensing information and attribution;
**(c)** Consider the educational value versus the amount of code shared;
**(d)** Respect any restrictions on commercial use or redistribution.
### 7.3. Technical Documentation
**(a)** Original technical documentation is encouraged and valued;
**(b)** When referencing existing documentation, provide proper attribution;
**(c)** Distinguish between your original explanations and quoted material;
**(d)** Consider creating transformative content rather than copying existing documentation.
### 7.4. Open Source Best Practices
When sharing your own code:
**(a)** Choose an appropriate open source licence;
**(b)** Include clear licence files and copyright notices;
**(c)** Provide adequate documentation and attribution for dependencies;
**(d)** Consider the long-term implications of your licensing choices.
## 8. PLAGIARISM PREVENTION AND ACADEMIC INTEGRITY
### 8.1. Definition and Prohibition
Plagiarism, defined as presenting others' work as your own, is strictly prohibited and includes:
**(a)** Copying text, code, images, or other content without attribution;
**(b)** Paraphrasing others' ideas without acknowledgement;
**(c)** Using others' unique ideas, methodologies, or approaches without credit;
**(d)** Self-plagiarism (reusing your own previously published work without disclosure).
### 8.2. Consequences of Plagiarism
Plagiarism may result in:
**(a)** Immediate removal of infringing content;
**(b)** Suspension or termination of community privileges;
**(c)** Notification to relevant academic or professional institutions;
**(d)** Legal action in cases of commercial infringement;
**(e)** Permanent record of violation affecting future community participation.
### 8.3. Prevention Measures
To avoid plagiarism:
**(a)** Always cite your sources and provide proper attribution;
**(b)** Use quotation marks for direct quotes and indicate the source;
**(c)** Paraphrase in your own words whilst still providing attribution;
**(d)** Maintain detailed notes on your sources during research;
**(e)** When in doubt, provide attribution rather than risk infringement.
### 8.4. Academic and Professional Standards
**(a)** Follow the citation standards appropriate to your field or institution;
**(b)** Understand that different disciplines may have different expectations;
**(c)** Seek guidance from supervisors or colleagues when uncertain;
**(d)** Consider using plagiarism detection tools to verify your own work.
## 9. TRADEMARK COMPLIANCE
### 9.1. Trademark Recognition and Respect
When referencing trademarked products, services, or organisations:
**(a)** Use appropriate trademark symbols (™ for common law trademarks, ® for registered trademarks);
**(b)** Capitalise trademark names correctly;
**(c)** Avoid using trademarks in a way that suggests endorsement or affiliation without permission;
**(d)** Respect trademark guidelines published by trademark owners.
### 9.2. Nominative Fair Use
You may use trademarks for:
**(a)** Identifying and discussing the trademarked products or services;
**(b)** Comparative analysis and commentary;
**(c)** News reporting and factual discussion;
**(d)** Parody and criticism (with careful consideration of other legal restrictions).
### 9.3. Prohibited Trademark Uses
You must not:
**(a)** Use trademarks in a way that causes confusion about source or affiliation;
**(b)** Use trademarks as part of your own product or service names without permission;
**(c)** Modify or alter trademark logos or designs;
**(d)** Use trademarks in a way that dilutes their distinctiveness or harms their reputation.
### 9.4. Community Brand Protection
**(a)** Respect our own trademarks and brand elements;
**(b)** Do not use our logos or brand names without permission;
**(c)** Avoid creating confusion about official versus unofficial community content;
**(d)** Contact us for guidance on appropriate use of our brand elements.
## 10. DMCA COMPLIANCE AND TAKEDOWN PROCEDURES
### 10.1. DMCA Policy Statement
We comply with the Digital Millennium Copyright Act and maintain procedures for addressing claims of copyright infringement. We respect the rights of copyright owners whilst protecting the legitimate interests of our users.
### 10.2. Submitting DMCA Takedown Notices
To submit a valid DMCA takedown notice, contact **dmca@nhcarrigan.com** with the following information:
**(a)** **Identification of Copyrighted Work:** A clear description of the copyrighted work claimed to have been infringed, including registration numbers if applicable;
**(b)** **Identification of Infringing Material:** Specific identification of the allegedly infringing material and its location on our Services;
**(c)** **Contact Information:** Your complete contact information, including name, address, telephone number, and email address;
**(d)** **Good Faith Statement:** A statement that you have a good faith belief that the disputed use is not authorised by the copyright owner, its agent, or the law;
**(e)** **Accuracy Statement:** A statement, under penalty of perjury, that the information in the notice is accurate and that you are authorised to act on behalf of the copyright owner;
**(f)** **Physical or Electronic Signature:** Your physical or electronic signature.
### 10.3. Processing DMCA Notices
Upon receipt of a valid DMCA takedown notice:
**(a)** We will promptly investigate the claim;
**(b)** If the claim appears valid, we will remove or disable access to the allegedly infringing material;
**(c)** We will notify the affected user of the takedown and provide information about the counter-notification process;
**(d)** We will document the takedown for our records and potential future reference.
### 10.4. Response Timeline
We endeavour to process DMCA takedown notices within:
**(a)** **Initial Review:** Twenty-four (24) hours for urgent matters;
**(b)** **Investigation and Action:** Seventy-two (72) hours for standard cases;
**(c)** **Complex Cases:** Up to seven (7) business days with notification to relevant parties.
## 11. DMCA COUNTER-NOTIFICATION PROCESS
### 11.1. Right to Counter-Notification
If you believe your content was removed in error or misidentification, you may submit a counter-notification to **dmca@nhcarrigan.com**.
### 11.2. Counter-Notification Requirements
A valid counter-notification must include:
**(a)** **Identification of Removed Material:** Specific identification of the material that was removed and its previous location;
**(b)** **Good Faith Statement:** A statement under penalty of perjury that you have a good faith belief the material was removed due to mistake or misidentification;
**(c)** **Personal Information:** Your complete name, address, and telephone number;
**(d)** **Jurisdiction Consent:** A statement that you consent to the jurisdiction of the federal district court for your district (or the judicial district where you reside if outside the United States);
**(e)** **Service of Process:** A statement that you will accept service of process from the party who submitted the takedown notice;
**(f)** **Physical or Electronic Signature:** Your physical or electronic signature.
### 11.3. Counter-Notification Processing
Upon receipt of a valid counter-notification:
**(a)** We will provide a copy to the original complainant;
**(b)** We will inform the complainant that the material will be restored in 10-14 business days unless they file a court action;
**(c)** If no court action is filed, we will restore the material according to the statutory timeline;
**(d)** We will document the counter-notification and restoration for our records.
### 11.4. Legal Consequences
Both takedown notices and counter-notifications are made under penalty of perjury. False claims may result in liability for damages, attorney's fees, and other legal consequences under applicable law.
## 12. REPEAT INFRINGER POLICY
### 12.1. Policy Statement
We maintain a policy for addressing repeat copyright infringers to ensure ongoing DMCA compliance and protect the rights of copyright holders.
### 12.2. Tracking and Documentation
We maintain records of:
**(a)** All DMCA takedown notices received;
**(b)** Counter-notifications submitted;
**(c)** Actions taken in response to notices;
**(d)** User violation history and patterns.
### 12.3. Consequences for Repeat Infringement
Users who repeatedly infringe copyright may face:
**(a)** **First Offence:** Warning and education about copyright compliance;
**(b)** **Second Offence:** Temporary suspension of account privileges;
**(c)** **Subsequent Offences:** Progressive disciplinary measures up to and including permanent account termination;
**(d)** **Severe Cases:** Immediate termination for egregious or commercial infringement.
### 12.4. Appeals Process
Users subject to repeat infringer sanctions may:
**(a)** Request review of their case within thirty (30) days of sanction;
**(b)** Provide evidence of good faith efforts to comply with copyright law;
**(c)** Demonstrate that previous notices were invalid or withdrawn;
**(d)** Participate in educational programmes to reinstate privileges.
## 13. EDUCATION AND AWARENESS
### 13.1. Community Education Commitment
We are committed to educating our community about intellectual property rights and responsibilities through:
**(a)** Regular updates to this Policy and related guidance materials;
**(b)** Educational resources on copyright, fair use, and licensing;
**(c)** Community workshops and training sessions;
**(d)** Clear examples of acceptable and unacceptable practices.
### 13.2. Resources and Guidance
We provide access to:
**(a)** Links to authoritative sources on copyright law and fair use;
**(b)** Guides to common licensing terms and requirements;
**(c)** Templates and examples for proper attribution;
**(d)** Contact information for additional support and guidance.
### 13.3. Seeking Clarification
Community members are encouraged to:
**(a)** Ask questions about unclear aspects of this Policy;
**(b)** Seek guidance before sharing potentially problematic content;
**(c)** Report suspected violations or concerns;
**(d)** Participate in educational activities and discussions.
### 13.4. Professional Development
We encourage community members to:
**(a)** Stay informed about changes in intellectual property law;
**(b)** Participate in relevant professional development opportunities;
**(c)** Share knowledge and best practices with other community members;
**(d)** Contribute to the development of community guidelines and resources.
## 14. POLICY UPDATES AND COMPLIANCE
### 14.1. Regular Policy Review
This Policy is reviewed regularly to ensure:
**(a)** Compliance with current legal requirements;
**(b)** Alignment with technological developments;
**(c)** Responsiveness to community needs and feedback;
**(d)** Consistency with best practices in the field.
### 14.2. Update Notifications
Changes to this Policy will be communicated through:
**(a)** Prominent notices on our Services and websites;
**(b)** Email notifications to registered users;
**(c)** Community announcements and discussions;
**(d)** Documentation updates with clear change logs.
### 14.3. Continued Use and Acceptance
Continued participation in our community following Policy updates constitutes acceptance of the revised terms. If you do not agree to the updated Policy, you must cease using our Services.
### 14.4. Feedback and Suggestions
We welcome feedback on this Policy and suggestions for improvement. Please contact us at **dmca@nhcarrigan.com** with your comments and recommendations.
## 15. CONTACT INFORMATION AND SUPPORT
### 15.1. Primary Contact
For all matters related to this Policy, including DMCA notices, questions, and reports of violations:
**Email:** dmca@nhcarrigan.com
### 15.2. Additional Resources
**General Support:** privacy@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
**Legal Inquiries:** legal@nhcarrigan.com
### 15.3. Response Commitments
We commit to:
**(a)** Acknowledging receipt of all communications within forty-eight (48) hours;
**(b)** Providing substantive responses within the timeframes specified in this Policy;
**(c)** Treating all inquiries with professionalism and confidentiality;
**(d)** Maintaining accurate records of all communications and actions taken.
### 15.4. Emergency Procedures
For urgent copyright infringement matters that pose immediate legal risk:
**(a)** Contact us immediately at dmca@nhcarrigan.com with "URGENT" in the subject line;
**(b)** Provide all required information for expedited processing;
**(c)** Be prepared to provide additional documentation or clarification promptly;
**(d)** Understand that expedited processing may require additional verification steps.
## 16. LEGAL DISCLAIMER
### 16.1. Policy Limitations
This Policy:
**(a)** Is not exhaustive and does not cover every possible scenario;
**(b)** Does not constitute legal advice or create an attorney-client relationship;
**(c)** Should be supplemented with independent legal counsel for specific situations;
**(d)** May not address all applicable laws in every jurisdiction.
### 16.2. Professional Consultation
Users are encouraged to:
**(a)** Seek independent legal counsel for complex intellectual property matters;
**(b)** Consult with qualified professionals before making significant licensing decisions;
**(c)** Obtain professional advice when facing potential infringement claims;
**(d)** Understand that our guidance cannot replace professional legal advice.
### 16.3. Limitation of Liability
**IMPORTANT: Comprehensive liability limitations and warranty disclaimers applicable to this Policy and all our services are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
In addition to those comprehensive protections:
**(a)** This Policy and related guidance are provided on an "as is" basis;
**(b)** Users assume responsibility for their own compliance with intellectual property laws;
**(c)** Professional legal advice should be sought for significant legal decisions.
---
*By participating in our community, you agree to abide by this DMCA and Intellectual Property Compliance Policy. This Policy is designed to protect the rights of creators whilst fostering an environment of innovation and knowledge sharing. For questions or concerns, please contact us at dmca@nhcarrigan.com.*
+869
View File
@@ -0,0 +1,869 @@
---
title: Export Control and Sanctions Compliance Policy
---
**ENSURING COMPLIANCE WITH INTERNATIONAL TRADE REGULATIONS AND SANCTIONS PROGRAMMES**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Purpose and Objectives
This Export Control and Sanctions Compliance Policy ("Policy") establishes comprehensive procedures and requirements for compliance with export control laws, economic sanctions programmes, and international trade regulations applicable to NHCarrigan ("we," "us," "our," or "the Company") and users of our services, applications, and platforms (collectively, the "Services"). This Policy ensures lawful international distribution and use of our technology and services whilst preventing unauthorised access by restricted parties.
### 1.2. Regulatory Framework
This Policy addresses compliance with multiple regulatory regimes including:
**(a)** **United States**: Export Administration Regulations (EAR), International Traffic in Arms Regulations (ITAR), and Office of Foreign Assets Control (OFAC) sanctions;
**(b)** **United Kingdom**: Export Control Order 2008, Trade Sanctions Regulations, and HM Treasury sanctions programmes;
**(c)** **European Union**: EU Dual-Use Export Control Regulation, Common Foreign and Security Policy sanctions, and member state export control laws;
**(d)** **Canada**: Export and Import Controls Act, Special Economic Measures Act, and Freezing Assets of Corrupt Foreign Officials Act;
**(e)** **Australia**: Defence Trade Controls Act, Autonomous Sanctions Act, and Export Control Act;
**(f)** **International**: United Nations Security Council sanctions, multilateral export control regimes, and international treaties;
**(g)** **Other Jurisdictions**: Export control and sanctions laws of other countries where we operate or provide services;
**(h)** **Emerging Regulations**: New and evolving export control and sanctions regulations worldwide.
### 1.3. Application and Scope
This Policy applies to:
**(a)** **Technology Services**: All software, applications, cloud services, and digital technologies provided by NHCarrigan;
**(b)** **Data and Information**: Technical data, source code, algorithms, and proprietary information;
**(c)** **User Interactions**: All user registrations, service provision, and technical support activities;
**(d)** **Business Relationships**: Commercial partnerships, licensing agreements, and business development activities;
**(e)** **International Operations**: Cross-border service provision, data transfers, and international business activities;
**(f)** **Third-Party Relationships**: Relationships with vendors, contractors, distributors, and integration partners;
**(g)** **Employee Activities**: Employee travel, training, and international business activities;
**(h)** **Research and Development**: Research collaborations, technical exchanges, and development partnerships.
### 1.4. Compliance Commitment
NHCarrigan is committed to:
**(a)** **Legal Compliance**: Full compliance with all applicable export control and sanctions laws;
**(b)** **Risk Management**: Implementing robust risk management and compliance procedures;
**(c)** **Due Diligence**: Conducting thorough due diligence on all international activities;
**(d)** **Training and Education**: Providing comprehensive training on export control and sanctions compliance;
**(e)** **Monitoring and Auditing**: Regular monitoring and auditing of compliance activities;
**(f)** **Continuous Improvement**: Continuously improving compliance procedures and controls;
**(g)** **Cooperation**: Cooperating fully with government authorities and regulatory agencies;
**(h)** **Transparency**: Maintaining transparency in our compliance efforts and reporting.
## 2. CLASSIFICATION AND CONTROL DETERMINATIONS
### 2.1. Technology Classification
We have classified our technology and services according to applicable export control regulations:
**(a)** **Software Classification**: Our software applications are classified under relevant Export Control Classification Numbers (ECCNs) or equivalent classifications;
**(b)** **Encryption Technology**: Software containing encryption capabilities is subject to special classification and licensing requirements;
**(c)** **Dual-Use Technology**: Technology with both civilian and military applications receives appropriate dual-use classifications;
**(d)** **Mass Market Software**: Consumer software that qualifies for mass market exceptions under applicable regulations;
**(e)** **Cloud Services**: Cloud-based services are classified according to their underlying technology and functionality;
**(f)** **Technical Data**: Technical documentation, source code, and proprietary information receive appropriate classifications;
**(g)** **Emerging Technologies**: New technologies are evaluated and classified upon development or deployment;
**(h)** **Third-Party Components**: Third-party software components and dependencies are evaluated for their export control implications.
### 2.2. Control Determinations
Based on classification analysis, our services are subject to the following control determinations:
**(a)** **General Software**: Most of our general-purpose software applications are not subject to export licensing requirements under applicable mass market and de minimis provisions;
**(b)** **Encryption Software**: Software containing encryption functionality may be subject to notification requirements and certain geographic restrictions;
**(c)** **Technical Support**: Technical support and training services may be subject to restrictions when provided to certain countries or entities;
**(d)** **Source Code**: Source code access and distribution may be subject to additional licensing requirements;
**(e)** **Customisation Services**: Custom development and integration services may require export licences depending on the end user and end use;
**(f)** **Research Collaboration**: Research and development collaborations may be subject to licensing requirements;
**(g)** **Data Processing**: Data processing services may be subject to restrictions based on the nature of data and end users;
**(h)** **Artificial Intelligence**: AI and machine learning capabilities may be subject to emerging export control regulations.
### 2.3. License Requirements and Exceptions
We utilise the following licensing approaches:
**(a)** **No Licence Required (NLR)**: Many of our services qualify for NLR status under applicable regulations;
**(b)** **License Exceptions**: We utilise available license exceptions such as mass market software exceptions and technology and software under restriction (TSR);
**(c)** **General Licences**: We operate under general licences where available and applicable;
**(d)** **Specific Licences**: We obtain specific export licences when required for particular transactions or relationships;
**(e)** **Encryption Registrations**: We maintain appropriate encryption registrations and notifications;
**(f)** **Deemed Export Licences**: We obtain deemed export licences for technology transfers to foreign nationals;
**(g)** **Re-export Licences**: We obtain re-export licences when required for downstream distribution;
**(h)** **Transit Licences**: We obtain transit licences when required for temporary presence in controlled jurisdictions.
### 2.4. Ongoing Classification Reviews
We maintain ongoing classification reviews through:
**(a)** **Regular Reviews**: Annual reviews of all technology classifications and determinations;
**(b)** **Change Management**: Evaluation of export control implications for all product changes and updates;
**(c)** **Legal Consultation**: Regular consultation with export control counsel and specialists;
**(d)** **Regulatory Updates**: Monitoring and incorporation of regulatory changes and updates;
**(e)** **Industry Guidance**: Participation in industry working groups and guidance development;
**(f)** **Government Engagement**: Engagement with government agencies for classification guidance;
**(g)** **Third-Party Assessments**: Periodic third-party assessments of classification determinations;
**(h)** **Documentation Maintenance**: Comprehensive documentation of all classification decisions and rationale.
## 3. SANCTIONS COMPLIANCE PROGRAMME
### 3.1. Sanctions Screening and Monitoring
We implement comprehensive sanctions screening including:
**(a)** **Customer Screening**: All customers and users are screened against applicable sanctions lists before service provision;
**(b)** **Real-Time Monitoring**: Real-time monitoring of sanctions list updates and automated re-screening of existing users;
**(c)** **Enhanced Due Diligence**: Enhanced due diligence for users and transactions from high-risk jurisdictions;
**(d)** **Ongoing Monitoring**: Continuous monitoring of user activities for potential sanctions violations;
**(e)** **Transaction Screening**: Screening of financial transactions and commercial activities for sanctions compliance;
**(f)** **Supply Chain Screening**: Screening of vendors, partners, and supply chain participants;
**(g)** **Employee Screening**: Background screening of employees for sanctions and security concerns;
**(h)** **Third-Party Screening**: Screening of all third-party service providers and business partners.
### 3.2. Prohibited Parties and Jurisdictions
We maintain comprehensive restrictions on:
**(a)** **Specially Designated Nationals (SDNs)**: Individuals and entities designated by OFAC and other sanctions authorities;
**(b)** **Denied Persons**: Entities and individuals on denied persons lists maintained by various governments;
**(c)** **Entity Lists**: Companies and organisations on entity lists requiring special licensing;
**(d)** **Restricted Countries**: Countries subject to comprehensive or sectoral sanctions programmes;
**(e)** **Sectoral Sanctions**: Entities subject to sectoral sanctions in specific industries;
**(f)** **Military End Users**: Military end users in certain countries subject to specific restrictions;
**(g)** **Government Entities**: Government entities in restricted countries or engaged in prohibited activities;
**(h)** **Shell Companies**: Shell companies or entities designed to circumvent sanctions restrictions.
### 3.3. Geographic Restrictions
Our services are subject to geographic restrictions including:
**(a)** **Embargoed Countries**: Complete prohibition on service provision to comprehensively embargoed countries;
**(b)** **Restricted Regions**: Limited service provision to regions subject to sectoral or targeted sanctions;
**(c)** **Contested Territories**: Special procedures for contested territories and regions with disputed sovereignty;
**(d)** **High-Risk Jurisdictions**: Enhanced due diligence and monitoring for high-risk jurisdictions;
**(e)** **Transit Restrictions**: Restrictions on services transiting through certain countries;
**(f)** **IP Address Blocking**: Technical measures to prevent access from restricted IP address ranges;
**(g)** **Shipping Restrictions**: Restrictions on physical shipments to certain destinations;
**(h)** **Payment Restrictions**: Restrictions on payment processing for certain jurisdictions.
### 3.4. Sanctions Violation Response
When potential sanctions violations are identified:
**(a)** **Immediate Action**: Immediate suspension of services and freezing of relevant accounts or transactions;
**(b)** **Investigation**: Comprehensive investigation of the circumstances and scope of potential violations;
**(c)** **Legal Consultation**: Immediate consultation with sanctions counsel and legal advisors;
**(d)** **Government Notification**: Prompt notification to relevant government authorities as required;
**(e)** **Remedial Measures**: Implementation of remedial measures to address violations and prevent recurrence;
**(f)** **Compliance Review**: Comprehensive review of compliance procedures to identify and address weaknesses;
**(g)** **Training Enhancement**: Enhanced training and awareness programmes following violations;
**(h)** **Documentation**: Comprehensive documentation of all violation response activities and remedial measures.
## 4. USER AND CUSTOMER COMPLIANCE
### 4.1. User Registration and Verification
All users must comply with our registration and verification procedures:
**(a)** **Identity Verification**: Verification of user identity through government-issued identification;
**(b)** **Address Verification**: Verification of physical address and business location;
**(c)** **Business Information**: Provision of complete business information including ownership structure;
**(d)** **End Use Certification**: Certification of intended end use of services and technology;
**(e)** **Compliance Representations**: Representations regarding compliance with applicable export control and sanctions laws;
**(f)** **Screening Results**: Successful completion of sanctions and export control screening;
**(g)** **Documentation Requirements**: Provision of required documentation for enhanced due diligence;
**(h)** **Ongoing Obligations**: Acceptance of ongoing compliance obligations and monitoring requirements.
### 4.2. Prohibited End Uses and End Users
Users are prohibited from:
**(a)** **Weapons Development**: Using services for development, production, or use of weapons of mass destruction;
**(b)** **Military Applications**: Military end uses in countries subject to arms embargoes or military restrictions;
**(c)** **Proliferation Activities**: Activities related to proliferation of weapons of mass destruction or delivery systems;
**(d)** **Terrorism Support**: Any activities supporting terrorism or terrorist organisations;
**(e)** **Human Rights Violations**: Activities supporting serious human rights violations or abuses;
**(f)** **Cybercrime**: Criminal cyber activities including hacking, fraud, or other illegal online activities;
**(g)** **Sanctions Evasion**: Activities designed to evade or circumvent sanctions or export control restrictions;
**(h)** **Unauthorised Transfers**: Transfers to prohibited parties or for prohibited end uses.
### 4.3. User Compliance Obligations
All users agree to:
**(a)** **Legal Compliance**: Comply with all applicable export control and sanctions laws in their jurisdiction;
**(b)** **Accurate Information**: Provide accurate and complete information regarding their identity, location, and intended use;
**(c)** **Use Restrictions**: Use services only for authorised purposes and in compliance with applicable restrictions;
**(d)** **Transfer Restrictions**: Not transfer, re-export, or provide access to services to prohibited parties or for prohibited uses;
**(e)** **Notification Obligations**: Promptly notify us of any changes in circumstances that may affect compliance;
**(f)** **Cooperation**: Cooperate fully with our compliance monitoring and verification activities;
**(g)** **Record Keeping**: Maintain appropriate records of service usage and compliance activities;
**(h)** **Audit Rights**: Accept our right to audit compliance with export control and sanctions obligations.
### 4.4. Enhanced Due Diligence Requirements
For certain users and transactions, we implement enhanced due diligence including:
**(a)** **Background Investigations**: Comprehensive background investigations of key personnel and ownership;
**(b)** **Site Visits**: Physical site visits to verify business operations and end use;
**(c)** **Reference Checks**: Verification of business references and commercial relationships;
**(d)** **Financial Verification**: Verification of funding sources and financial stability;
**(e)** **Technical Assessments**: Technical assessments of intended use and system integration;
**(f)** **Legal Opinions**: Legal opinions regarding compliance with local laws and regulations;
**(g)** **Ongoing Monitoring**: Enhanced ongoing monitoring of activities and transactions;
**(h)** **Periodic Reviews**: Regular reviews and updates of due diligence information.
## 5. TECHNOLOGY TRANSFER CONTROLS
### 5.1. Technical Data and Source Code
Transfer of technical data and source code is subject to:
**(a)** **Classification Requirements**: Proper classification of all technical data according to export control regulations;
**(b)** **Licensing Determinations**: Determination of licensing requirements for specific transfers;
**(c)** **End User Verification**: Verification of end users and intended use of technical data;
**(d)** **Access Controls**: Implementation of appropriate access controls for sensitive technical information;
**(e)** **Transfer Documentation**: Comprehensive documentation of all technical data transfers;
**(f)** **Encryption Requirements**: Use of appropriate encryption for transmission of controlled technical data;
**(g)** **Audit Trails**: Maintenance of complete audit trails for technical data access and transfer;
**(h)** **Retention Policies**: Implementation of appropriate retention and deletion policies for technical data.
### 5.2. Foreign National Employee Controls
For foreign national employees and contractors:
**(a)** **Deemed Export Licensing**: Obtaining appropriate deemed export licences for foreign national access to controlled technology;
**(b)** **Background Screening**: Comprehensive background screening and security clearance procedures;
**(c)** **Access Restrictions**: Implementation of appropriate access restrictions based on nationality and security clearance;
**(d)** **Training Requirements**: Specialised training on export control obligations and restrictions;
**(e)** **Monitoring Procedures**: Enhanced monitoring of foreign national access to controlled technology;
**(f)** **Documentation Requirements**: Comprehensive documentation of foreign national employment and access;
**(g)** **Reporting Obligations**: Compliance with reporting requirements for foreign national employment;
**(h)** **Termination Procedures**: Appropriate procedures for termination and technology access revocation.
### 5.3. Research and Development Collaborations
For research and development activities:
**(a)** **Collaboration Screening**: Screening of all research collaborators and institutional partners;
**(b)** **Fundamental Research**: Determination of fundamental research exceptions and applicability;
**(c)** **Publication Review**: Review of research publications for export control implications;
**(d)** **Conference Participation**: Compliance procedures for international conference participation;
**(e)** **Student Exchange**: Special procedures for student exchange and visiting researcher programmes;
**(f)** **Joint Development**: Compliance procedures for joint technology development projects;
**(g)** **Intellectual Property**: Management of intellectual property rights in international collaborations;
**(h)** **Government Funding**: Compliance with government funding requirements and restrictions.
### 5.4. Cloud and Remote Services
For cloud and remote service provision:
**(a)** **Data Location**: Understanding and controlling the geographic location of data processing and storage;
**(b)** **Remote Access**: Implementing appropriate controls for remote access by foreign nationals;
**(c)** **Service Architecture**: Designing service architecture to comply with export control requirements;
**(d)** **User Authentication**: Implementing robust user authentication and access control systems;
**(e)** **Audit Capabilities**: Maintaining comprehensive audit capabilities for cloud service usage;
**(f)** **Data Sovereignty**: Compliance with data sovereignty and localisation requirements;
**(g)** **Third-Party Infrastructure**: Managing export control risks in third-party cloud infrastructure;
**(h)** **Cross-Border Data Flows**: Controlling cross-border data flows in compliance with export control laws.
## 6. COMPLIANCE MONITORING AND ENFORCEMENT
### 6.1. Automated Monitoring Systems
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
We employ automated systems for compliance monitoring including:
**(a)** **Real-Time Screening**: Real-time screening of all user registrations and transactions against sanctions lists;
**(b)** **Pattern Recognition**: Advanced pattern recognition to identify potential sanctions evasion activities;
**(c)** **Geographic Monitoring**: Continuous monitoring of user geographic location and access patterns;
**(d)** **Transaction Analysis**: Automated analysis of transactions for compliance red flags;
**(e)** **Alert Systems**: Automated alert systems for potential compliance violations or concerns;
**(f)** **Data Analytics**: Advanced data analytics for identification of compliance risks and trends;
**(g)** **Machine Learning**: Machine learning systems for improved detection of violations and risks;
**(h)** **Integration Systems**: Integration with government databases and sanctions list feeds.
### 6.2. Manual Review Procedures
Supplementing automated systems, we maintain manual review procedures including:
**(a)** **High-Risk Transactions**: Manual review of all high-risk transactions and relationships;
**(b)** **Complex Cases**: Human review of complex compliance cases requiring judgement and analysis;
**(c)** **Exception Handling**: Manual processing of cases requiring special consideration or exceptions;
**(d)** **Escalation Procedures**: Clear escalation procedures for complex or uncertain compliance matters;
**(e)** **Expert Consultation**: Access to export control and sanctions experts for difficult cases;
**(f)** **Quality Assurance**: Quality assurance procedures for compliance screening and monitoring;
**(g)** **Regular Audits**: Regular audits of compliance procedures and decision-making;
**(h)** **Continuous Improvement**: Continuous improvement of manual review processes and procedures.
### 6.3. Violation Detection and Response
When potential violations are detected:
**(a)** **Immediate Containment**: Immediate action to contain potential violations and prevent escalation;
**(b)** **Investigation Launch**: Launch of comprehensive investigation into the scope and nature of violations;
**(c)** **Legal Consultation**: Immediate consultation with export control and sanctions counsel;
**(d)** **Documentation Preservation**: Preservation of all relevant documentation and electronic records;
**(e)** **Risk Assessment**: Assessment of legal, financial, and reputational risks associated with violations;
**(f)** **Corrective Action**: Implementation of immediate corrective actions to address violations;
**(g)** **Government Coordination**: Coordination with government authorities as required by law;
**(h)** **Stakeholder Communication**: Appropriate communication with stakeholders regarding violations and response.
### 6.4. Enforcement Actions
Compliance violations may result in:
**(a)** **Service Suspension**: Immediate suspension of services to violating users or entities;
**(b)** **Account Termination**: Permanent termination of user accounts and access to services;
**(c)** **Asset Freezing**: Freezing of assets and funds as required by sanctions regulations;
**(d)** **Data Deletion**: Deletion of data and information belonging to sanctioned parties;
**(e)** **Access Blocking**: Technical blocking of access from restricted IP addresses or locations;
**(f)** **Contract Termination**: Termination of commercial contracts and business relationships;
**(g)** **Legal Action**: Initiation of legal action to recover damages and prevent future violations;
**(h)** **Regulatory Reporting**: Reporting of violations to appropriate regulatory authorities.
## 7. TRAINING AND AWARENESS
### 7.1. Employee Training Programmes
All employees receive comprehensive export control and sanctions training including:
**(a)** **General Awareness**: Basic awareness training on export control and sanctions laws and regulations;
**(b)** **Role-Specific Training**: Specialised training based on job responsibilities and risk exposure;
**(c)** **New Employee Orientation**: Mandatory export control training for all new employees;
**(d)** **Annual Refresher**: Annual refresher training on updated laws, regulations, and procedures;
**(e)** **Specialised Workshops**: Specialised workshops for high-risk roles and functions;
**(f)** **Case Study Analysis**: Analysis of real-world cases and scenarios relevant to our business;
**(g)** **Regulatory Updates**: Training on new regulations and changes in export control and sanctions laws;
**(h)** **Certification Programmes**: Support for professional certification in export control and sanctions compliance.
### 7.2. Management and Leadership Training
Management and leadership receive enhanced training including:
**(a)** **Strategic Overview**: Strategic overview of export control and sanctions compliance in business operations;
**(b)** **Risk Management**: Risk management principles and strategies for export control and sanctions compliance;
**(c)** **Decision-Making**: Training on compliance decision-making and escalation procedures;
**(d)** **Legal Implications**: Understanding of legal implications and potential penalties for violations;
**(e)** **Business Integration**: Integration of compliance considerations into business planning and operations;
**(f)** **Crisis Management**: Crisis management and response procedures for compliance violations;
**(g)** **Stakeholder Communication**: Communication strategies for compliance matters with stakeholders;
**(h)** **Continuous Improvement**: Leadership in continuous improvement of compliance programmes.
### 7.3. Customer and Partner Education
We provide education and resources for customers and partners including:
**(a)** **Compliance Guidance**: General guidance on export control and sanctions compliance obligations;
**(b)** **Best Practices**: Sharing of best practices for compliance with export control and sanctions laws;
**(c)** **Resource Materials**: Provision of resource materials and references for compliance education;
**(d)** **Webinar Series**: Regular webinars on export control and sanctions compliance topics;
**(e)** **Industry Updates**: Updates on regulatory changes and industry developments;
**(f)** **Consultation Services**: Consultation services for complex compliance questions and issues;
**(g)** **Training Partnerships**: Partnerships with industry organisations for compliance training;
**(h)** **Documentation Support**: Support in developing compliance documentation and procedures.
### 7.4. Awareness and Communication
We maintain ongoing awareness and communication through:
**(a)** **Regular Communications**: Regular communications on compliance matters and regulatory updates;
**(b)** **Policy Updates**: Communication of policy updates and procedural changes;
**(c)** **Success Stories**: Sharing of compliance success stories and positive outcomes;
**(d)** **Lessons Learned**: Communication of lessons learned from compliance challenges and violations;
**(e)** **Industry Participation**: Active participation in industry compliance initiatives and working groups;
**(f)** **Regulatory Engagement**: Engagement with regulatory authorities on compliance matters;
**(g)** **Public Awareness**: Public communication of our commitment to export control and sanctions compliance;
**(h)** **Stakeholder Reporting**: Regular reporting to stakeholders on compliance programme effectiveness.
## 8. RECORD KEEPING AND DOCUMENTATION
### 8.1. Documentation Requirements
We maintain comprehensive documentation including:
**(a)** **Classification Records**: Complete records of technology classifications and determinations;
**(b)** **Screening Records**: Records of all sanctions and export control screening activities;
**(c)** **License Documentation**: All export licenses, registrations, and government approvals;
**(d)** **Due Diligence Files**: Comprehensive due diligence files for customers, partners, and transactions;
**(e)** **Transaction Records**: Detailed records of all international transactions and service provision;
**(f)** **Training Records**: Records of all training activities and compliance education;
**(g)** **Audit Documentation**: Documentation of internal and external compliance audits;
**(h)** **Violation Records**: Complete records of any violations and remedial actions taken.
### 8.2. Retention Periods
Documentation is retained according to the following schedule:
**(a)** **Export Transactions**: Export transaction records retained for minimum 5 years or as required by applicable law;
**(b)** **Sanctions Screening**: Sanctions screening records retained for minimum 5 years from last screening;
**(c)** **License Records**: License and government approval records retained permanently;
**(d)** **Due Diligence**: Due diligence files retained for minimum 5 years after relationship termination;
**(e)** **Training Records**: Training records retained for minimum 3 years or duration of employment;
**(f)** **Audit Records**: Audit documentation retained for minimum 7 years or as required by regulation;
**(g)** **Violation Records**: Violation records retained permanently or as required by law;
**(h)** **Classification Records**: Classification determinations retained for life of technology or product.
### 8.3. Data Security and Access Controls
Compliance documentation is protected through:
**(a)** **Access Controls**: Strict access controls limiting access to authorised personnel only;
**(b)** **Encryption**: Encryption of sensitive compliance documentation and data;
**(c)** **Backup Procedures**: Regular backup of compliance documentation with secure storage;
**(d)** **Audit Trails**: Complete audit trails of access to and modification of compliance records;
**(e)** **Physical Security**: Appropriate physical security for paper records and storage facilities;
**(f)** **Digital Rights Management**: Digital rights management for electronic compliance documentation;
**(g)** **Disposal Procedures**: Secure disposal procedures for expired or unnecessary documentation;
**(h)** **Breach Response**: Incident response procedures for security breaches affecting compliance records.
### 8.4. Government Access and Cooperation
We cooperate fully with government access requests through:
**(a)** **Regulatory Inspections**: Full cooperation with regulatory inspections and examinations;
**(b)** **Information Requests**: Prompt response to government information requests and subpoenas;
**(c)** **Investigation Support**: Support for government investigations of potential violations;
**(d)** **Voluntary Disclosure**: Voluntary disclosure of potential violations and compliance concerns;
**(e)** **Expert Testimony**: Provision of expert testimony and technical assistance as requested;
**(f)** **Documentation Production**: Production of required documentation in appropriate formats;
**(g)** **Interview Cooperation**: Cooperation with government interviews and depositions;
**(h)** **Ongoing Assistance**: Ongoing assistance with government compliance monitoring and oversight.
## 9. INTERNATIONAL OPERATIONS AND SUBSIDIARIES
### 9.1. Global Compliance Framework
Our international operations follow a unified compliance framework including:
**(a)** **Consistent Standards**: Application of consistent compliance standards across all international operations;
**(b)** **Local Adaptation**: Adaptation of procedures to comply with local laws and regulations;
**(c)** **Subsidiary Oversight**: Comprehensive oversight of subsidiary compliance programmes;
**(d)** **Cross-Border Coordination**: Coordination of compliance activities across borders and jurisdictions;
**(e)** **Centralised Reporting**: Centralised reporting of compliance activities and violations;
**(f)** **Shared Resources**: Shared compliance resources and expertise across international operations;
**(g)** **Unified Training**: Unified training programmes adapted for local requirements;
**(h)** **Regular Auditing**: Regular auditing of international compliance programmes and activities.
### 9.2. Regional Compliance Programmes
We maintain regional compliance programmes including:
**(a)** **Americas Programme**: Compliance programme for operations in North, Central, and South America;
**(b)** **European Programme**: Compliance programme for operations in the European Union and associated countries;
**(c)** **Asia-Pacific Programme**: Compliance programme for operations in the Asia-Pacific region;
**(d)** **Middle East and Africa Programme**: Compliance programme for operations in the Middle East and Africa;
**(e)** **Regional Expertise**: Regional compliance experts with local knowledge and experience;
**(f)** **Local Partnerships**: Partnerships with local legal and compliance experts;
**(g)** **Government Relations**: Established relationships with regional government authorities;
**(h)** **Cultural Adaptation**: Adaptation of compliance programmes to local cultural and business practices.
### 9.3. Cross-Border Data Flows
Management of cross-border data flows includes:
**(a)** **Data Classification**: Classification of data according to export control and privacy regulations;
**(b)** **Transfer Restrictions**: Implementation of appropriate restrictions on cross-border data transfers;
**(c)** **Encryption Requirements**: Use of appropriate encryption for international data transfers;
**(d)** **Access Controls**: Implementation of access controls for international data access;
**(e)** **Audit Capabilities**: Maintenance of audit capabilities for cross-border data flows;
**(f)** **Regulatory Compliance**: Compliance with data localisation and sovereignty requirements;
**(g)** **Cloud Architecture**: Design of cloud architecture to support compliant cross-border operations;
**(h)** **Incident Response**: Incident response procedures for cross-border data incidents.
### 9.4. Joint Ventures and Partnerships
For international joint ventures and partnerships:
**(a)** **Due Diligence**: Comprehensive due diligence on all international partners and joint venture participants;
**(b)** **Compliance Requirements**: Contractual requirements for export control and sanctions compliance;
**(c)** **Monitoring Procedures**: Ongoing monitoring of partner and joint venture compliance;
**(d)** **Training Requirements**: Training requirements for partner personnel and joint venture staff;
**(e)** **Audit Rights**: Contractual audit rights for compliance monitoring and verification;
**(f)** **Termination Rights**: Rights to terminate relationships for compliance violations;
**(g)** **Information Sharing**: Procedures for compliant information sharing in partnerships;
**(h)** **Dispute Resolution**: Dispute resolution procedures for compliance-related conflicts.
## 10. EMERGING TECHNOLOGIES AND FUTURE COMPLIANCE
### 10.1. Emerging Technology Assessment
We proactively assess emerging technologies including:
**(a)** **Artificial Intelligence**: Export control implications of AI and machine learning technologies;
**(b)** **Quantum Computing**: Assessment of quantum computing and cryptography technologies;
**(c)** **Biotechnology**: Evaluation of biotechnology and life sciences applications;
**(d)** **Advanced Materials**: Assessment of advanced materials and nanotechnology;
**(e)** **Autonomous Systems**: Export control implications of autonomous and robotic systems;
**(f)** **Blockchain Technologies**: Evaluation of blockchain and distributed ledger technologies;
**(g)** **Advanced Manufacturing**: Assessment of 3D printing and advanced manufacturing technologies;
**(h)** **Space Technologies**: Export control implications of space and satellite technologies.
### 10.2. Regulatory Monitoring and Anticipation
We actively monitor regulatory developments including:
**(a)** **Regulatory Proposals**: Monitoring of proposed changes to export control and sanctions regulations;
**(b)** **Industry Consultations**: Participation in government consultations on regulatory changes;
**(c)** **International Coordination**: Monitoring of international coordination on export control matters;
**(d)** **Technology Trends**: Analysis of technology trends and their potential regulatory implications;
**(e)** **Geopolitical Developments**: Assessment of geopolitical developments affecting export control;
**(f)** **Academic Research**: Monitoring of academic research on export control and sanctions compliance;
**(g)** **Industry Intelligence**: Gathering and analysis of industry intelligence on regulatory trends;
**(h)** **Government Engagement**: Active engagement with government authorities on regulatory development.
### 10.3. Adaptive Compliance Framework
Our compliance framework adapts to changes through:
**(a)** **Flexible Procedures**: Development of flexible procedures that can adapt to regulatory changes;
**(b)** **Rapid Response**: Rapid response capabilities for urgent compliance changes;
**(c)** **Technology Integration**: Integration of new technologies into compliance monitoring and enforcement;
**(d)** **Stakeholder Communication**: Effective communication of changes to stakeholders and users;
**(e)** **Training Updates**: Rapid updates to training programmes for regulatory changes;
**(f)** **System Modifications**: Quick modification of systems and procedures for compliance changes;
**(g)** **Risk Assessment**: Regular risk assessment and updating for emerging threats and challenges;
**(h)** **Continuous Learning**: Continuous learning and improvement of compliance capabilities.
### 10.4. Innovation and Compliance Balance
We balance innovation with compliance through:
**(a)** **Compliance by Design**: Integration of compliance considerations into product and service design;
**(b)** **Risk-Based Approach**: Risk-based approach to compliance that enables innovation while managing risks;
**(c)** **Stakeholder Engagement**: Engagement with stakeholders on balancing innovation and compliance;
**(d)** **Regulatory Advocacy**: Advocacy for reasonable and effective export control and sanctions regulations;
**(e)** **Industry Leadership**: Leadership in developing industry best practices for compliance and innovation;
**(f)** **Public-Private Partnership**: Partnership with government authorities on compliance and innovation;
**(g)** **Research and Development**: Investment in research and development of compliance technologies;
**(h)** **Future Planning**: Long-term planning for compliance in emerging technology areas.
## 11. CONTACT INFORMATION AND SUPPORT
### 11.1. Export Control and Sanctions Compliance
For export control and sanctions compliance matters:
**Email:** export-compliance@nhcarrigan.com
**Subject Line:** Export Control Compliance - [Brief Description]
**Response Time:** Within 7-10 business days for compliance inquiries
**Emergency Contact:** Available for urgent compliance matters
### 11.2. License Applications and Government Relations
For license applications and government relations:
**Email:** export-licensing@nhcarrigan.com
**Subject Line:** Export License Matter - [License Type]
**Response Time:** Within 7-10 business days for licensing matters
**Government Relations:** Dedicated team for government agency coordination
### 11.3. Sanctions Screening and Verification
For sanctions screening and verification requests:
**Email:** sanctions-screening@nhcarrigan.com
**Subject Line:** Sanctions Verification Request - [Entity Name]
**Response Time:** Within 4 hours during business days for screening requests
**Automated Systems:** Real-time automated screening available through our systems
### 11.4. Training and Education
For export control and sanctions training:
**Email:** export-training@nhcarrigan.com
**Subject Line:** Export Control Training Request
**Training Portal:** Access to online training modules and resources
**Response Time:** Within 7-10 business days for training requests
---
*This Export Control and Sanctions Compliance Policy ensures our full compliance with international trade regulations whilst enabling lawful global service provision. By using our Services, you acknowledge understanding of these requirements and agree to comply with all applicable export control and sanctions laws. For compliance questions or assistance, please contact us at export-compliance@nhcarrigan.com.*
+415 -18
View File
@@ -2,33 +2,430 @@
title: Government Actions and Compliance
---
## 1. Introduction
**MAINTAINING TRANSPARENCY IN GOVERNMENT AND LEGAL AUTHORITY INTERACTIONS**
The purpose of this document is to maintain transparency regarding any government or legal authority's actions against our organisation that result in a release of your data to those authorities.
## 1. INTRODUCTION AND POLICY STATEMENT
### 1.1. Disclaimers
### 1.1. Transparency Commitment
- We do not provide any sort of proactive information to regulatory agencies.
- We do not, and will never, set up "backdoors" or other direct access routes for regulatory agencies to surveil or access your data.
- All data in this document cover the entirety of NHCarrigan's lifetime, from our inception in
This transparency report is published to maintain complete transparency regarding any actions taken by government agencies, law enforcement authorities, or other legal entities that may result in the disclosure of user data or information stored by NHCarrigan ("we," "us," "our," or "the Company").
## 2. Requests for Information
### 1.2. Scope and Coverage
We have received 0 requests for information/data from authoritative agencies.
This report covers:
| Agency | Data Requested | Result |
| ------ | -------------- | ------ |
**(a)** All formal requests for information or data from governmental or regulatory authorities;
## 3. Warrants and Subpoenas
**(b)** All warrants, subpoenas, court orders, or similar legal instruments served upon our organisation;
We have been the subject of 0 warrants or subpoenas for our information/data.
**(c)** Any asset seizures, data searches, or investigative actions affecting our systems or data;
| Agency | Date of Action | Result |
| ------ | -------------- | ------ |
**(d)** All time periods from the inception of NHCarrigan operations to the date of this report.
## 4. Asset Seizures
### 1.3. Reporting Principles
We have had our data/information searched or seized 0 times.
Our transparency reporting is guided by the following principles:
| Agency | Scope of Search | Result |
| ------ | --------------- | ------ |
**(a)** **Comprehensive Coverage:** All relevant actions and requests are documented without exception;
**(b)** **Regular Updates:** This report is updated promptly following any new developments;
**(c)** **Legal Compliance:** All disclosures comply with applicable laws and court-imposed restrictions;
**(d)** **User Protection:** We prioritise transparency whilst respecting ongoing legal proceedings and user privacy.
## 2. POLICY DECLARATIONS
### 2.1. Proactive Information Sharing
We explicitly declare that:
**(a)** We do not provide any proactive information to regulatory agencies, law enforcement, or government entities without legal compulsion;
**(b)** We do not engage in voluntary information sharing programmes with government agencies;
**(c)** We do not participate in mass surveillance or data collection programmes;
**(d)** All government data requests must follow proper legal channels and procedures.
### 2.2. System Integrity and Access
We firmly commit that:
**(a)** We do not, and will never, create "backdoors" or direct access routes for regulatory agencies to access user data or systems;
**(b)** We do not implement any covert monitoring or surveillance capabilities at the request of government entities;
**(c)** We do not provide real-time access to user communications or data without proper legal process;
**(d)** Any access to user data by authorities must be pursuant to valid legal process and within the bounds of applicable law.
### 2.3. Legal Process Requirements
For any disclosure of user information, we require:
**(a)** Valid legal process appropriate to the type of information requested;
**(b)** Proper jurisdictional authority over the matter in question;
**(c)** Specificity in the request regarding the information sought and the legal basis;
**(d)** Compliance with applicable data protection and privacy laws.
### 2.4. User Notification Policy
Subject to legal restrictions and court orders:
**(a)** We endeavour to notify affected users of government requests for their information;
**(b)** We provide reasonable advance notice where legally permissible;
**(c)** We challenge overly broad or inappropriate requests through legal channels;
**(d)** We advocate for the narrowest possible scope of any required disclosures.
## 3. INFORMATION REQUESTS
### 3.1. Summary Statistics
**Total Requests Received:** 0 (Zero)
**Time Period Covered:** From inception of NHCarrigan operations through the date of this report
### 3.2. Types of Information Requests
We categorise information requests as follows:
**(a)** **Emergency Requests:** Involving immediate threats to life or safety;
**(b)** **Criminal Investigations:** Related to suspected criminal activity;
**(c)** **Civil Matters:** Arising from civil litigation or administrative proceedings;
**(d)** **Regulatory Inquiries:** From regulatory bodies regarding compliance or oversight.
### 3.3. Detailed Request Log
| Request Date | Agency/Authority | Type of Request | Information Requested | Legal Basis | Response Date | Result/Action Taken | User Notification |
|--------------|------------------|-----------------|----------------------|-------------|---------------|---------------------|-------------------|
| No requests received to date | | | | | | | |
### 3.4. Response Procedures
When we receive information requests, our standard procedure includes:
**(a)** **Legal Review:** Assessment by qualified legal counsel of the validity and scope of the request;
**(b)** **Minimal Disclosure:** Limiting any disclosure to the minimum information required by law;
**(c)** **Documentation:** Maintaining detailed records of all requests and responses;
**(d)** **Transparency Reporting:** Including appropriate information in this public transparency report.
## 4. WARRANTS AND SUBPOENAS
### 4.1. Summary Statistics
**Total Warrants Received:** 0 (Zero)
**Total Subpoenas Received:** 0 (Zero)
**Time Period Covered:** From inception of NHCarrigan operations through the date of this report
### 4.2. Types of Legal Process
We track the following types of legal process:
**(a)** **Search Warrants:** Authorising search and seizure of specific information or systems;
**(b)** **Subpoenas:** Compelling production of documents or testimony;
**(c)** **Court Orders:** Directing specific actions or disclosures;
**(d)** **National Security Letters:** Administrative subpoenas related to national security investigations (where applicable).
### 4.3. Detailed Process Log
| Service Date | Court/Agency | Type of Process | Scope of Request | Response Required | Response Date | Compliance Action | Challenge Filed | User Notification |
|--------------|--------------|-----------------|------------------|-------------------|---------------|-------------------|-----------------|-------------------|
| No legal process served to date | | | | | | | | |
### 4.4. Legal Challenge Policy
Our policy regarding legal challenges includes:
**(a)** **Threshold Review:** Automatic legal review of all process for validity and scope;
**(b)** **Challenge Criteria:** Filing challenges when process is overbroad, invalid, or inappropriate;
**(c)** **User Advocacy:** Advocating for user privacy rights within legal constraints;
**(d)** **Procedural Compliance:** Ensuring all responses comply with applicable legal requirements.
## 5. ASSET SEIZURES AND SEARCHES
### 5.1. Summary Statistics
**Total Seizures/Searches:** 0 (Zero)
**Time Period Covered:** From inception of NHCarrigan operations through the date of this report
### 5.2. Types of Seizures and Searches
We categorise enforcement actions as follows:
**(a)** **Physical Seizures:** Seizure of physical hardware, servers, or storage media;
**(b)** **Digital Searches:** Direct access to or copying of digital information;
**(c)** **Account Freezes:** Temporary or permanent restriction of access to accounts or systems;
**(d)** **Data Preservation:** Requirements to preserve specific data pending legal proceedings.
### 5.3. Detailed Action Log
| Action Date | Agency | Type of Action | Scope of Search/Seizure | Legal Authority | Property/Data Affected | Recovery/Return | Impact Assessment |
|-------------|--------|----------------|-------------------------|-----------------|------------------------|-----------------|-------------------|
| No seizures or searches to date | | | | | | | |
### 5.4. Response and Mitigation Procedures
In the event of asset seizures or searches, our procedures include:
**(a)** **Immediate Assessment:** Rapid evaluation of the scope and impact of the action;
**(b)** **Legal Representation:** Immediate engagement of qualified legal counsel;
**(c)** **User Protection:** Implementation of measures to protect user data and privacy;
**(d)** **Service Continuity:** Actions to maintain service availability where legally permissible.
## 6. DATA PROTECTION AND PRIVACY SAFEGUARDS
### 6.1. Technical Safeguards
We implement technical measures to protect user data:
**(a)** **Encryption:** All user data is encrypted both in transit and at rest;
**(b)** **Access Controls:** Strict access controls limit personnel who can access user data;
**(c)** **Audit Logging:** Comprehensive logging of all access to user data;
**(d)** **Data Minimisation:** Collection and retention of only necessary user information.
### 6.2. Legal Safeguards
Our legal protections include:
**(a)** **Qualified Legal Review:** All government requests reviewed by qualified legal counsel;
**(b)** **Narrow Interpretation:** Interpreting all legal process as narrowly as legally permissible;
**(c)** **Challenge Preparation:** Maintaining resources to challenge inappropriate or overbroad requests;
**(d)** **Jurisdictional Analysis:** Careful analysis of jurisdictional issues in cross-border requests.
### 6.3. Operational Safeguards
Our operational procedures include:
**(a)** **Incident Response:** Established procedures for responding to government actions;
**(b)** **Communication Plans:** Clear communication protocols with users and stakeholders;
**(c)** **Documentation Standards:** Comprehensive documentation of all interactions with authorities;
**(d)** **Recovery Procedures:** Plans for service recovery following any enforcement actions.
### 6.4. International Considerations
For cross-border requests, we consider:
**(a)** **Treaty Obligations:** Applicable mutual legal assistance treaties and agreements;
**(b)** **Local Law Compliance:** Requirements under local data protection and privacy laws;
**(c)** **Diplomatic Channels:** Appropriate use of diplomatic channels for sensitive matters;
**(d)** **Conflict Resolution:** Procedures for resolving conflicts between different legal systems.
## 7. REPORTING METHODOLOGY AND LIMITATIONS
### 7.1. Data Collection
This transparency report is compiled using:
**(a)** **Legal Records:** Comprehensive records of all legal process received;
**(b)** **Communication Logs:** Documentation of all communications with government agencies;
**(c)** **Internal Reports:** Regular internal assessments of government interaction;
**(d)** **Legal Review:** Quarterly review by qualified legal counsel for completeness and accuracy.
### 7.2. Reporting Limitations
This report is subject to the following limitations:
**(a)** **Legal Restrictions:** Some information may be withheld due to court orders or legal restrictions;
**(b)** **Classification Issues:** Certain national security matters may not be reportable;
**(c)** **Ongoing Proceedings:** Active legal matters may limit the detail that can be disclosed;
**(d)** **Aggregation Requirements:** Some jurisdictions may require statistical aggregation rather than detailed reporting.
### 7.3. Update Schedule
This report is updated according to the following schedule:
**(a)** **Quarterly Updates:** Regular updates published every three months;
**(b)** **Event-Driven Updates:** Additional updates following significant developments;
**(c)** **Annual Review:** Comprehensive annual review and analysis;
**(d)** **Legal Milestone Updates:** Updates following resolution of significant legal matters.
### 7.4. Verification and Accuracy
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
We ensure report accuracy through:
**(a)** **Multi-Source Verification:** Cross-referencing multiple internal sources;
**(b)** **Legal Review:** Review by qualified legal counsel before publication;
**(c)** **External Audit:** Periodic external audit of transparency reporting procedures;
**(d)** **Correction Procedures:** Clear procedures for correcting any errors or omissions.
## 8. CONTACT INFORMATION AND SUPPORT
### 8.1. Legal Process Service
For service of legal process:
**Email:** legal@nhcarrigan.com
**Physical Address:** [To be provided when applicable]
**Business Hours:** Monday through Friday, 9:00 AM to 5:00 PM Pacific Standard Time
### 8.2. General Inquiries
For questions about this transparency report:
**Email:** transparency@nhcarrigan.com
**Subject Line:** Government Transparency Report Inquiry
### 8.3. Media and Press Inquiries
For media inquiries regarding government actions:
**Email:** press@nhcarrigan.com
**Response Time:** Within 7-10 business days for all matters
### 8.4. User Support
For users concerned about government access to their data:
**Email:** privacy@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
**Response Time:** Within 7-10 business days for privacy-related inquiries
## 9. FUTURE DEVELOPMENTS
### 9.1. Policy Evolution
We continuously review and improve our government transparency policies based on:
**(a)** **Legal Developments:** Changes in applicable laws and regulations;
**(b)** **Industry Standards:** Evolving best practices in transparency reporting;
**(c)** **Stakeholder Feedback:** Input from users, legal experts, and privacy advocates;
**(d)** **Operational Experience:** Lessons learned from any government interactions.
### 9.2. Enhanced Reporting
We are committed to enhancing this transparency report through:
**(a)** **Additional Metrics:** Expanding the types of statistics and information reported;
**(b)** **Improved Analysis:** Providing more detailed analysis of trends and implications;
**(c)** **Interactive Features:** Developing interactive tools for exploring transparency data;
**(d)** **International Perspective:** Expanding coverage to include international legal developments.
### 9.3. Stakeholder Engagement
We engage with stakeholders through:
**(a)** **Public Consultation:** Regular opportunities for public input on transparency policies;
**(b)** **Expert Advisory:** Consultation with legal and privacy experts;
**(c)** **Industry Collaboration:** Participation in industry transparency initiatives;
**(d)** **Academic Partnership:** Collaboration with academic researchers on transparency issues.
## 10. LEGAL DISCLAIMER
### 10.1. Report Limitations
This transparency report:
**(a)** Is provided for informational purposes and public accountability;
**(b)** Does not constitute legal advice or create attorney-client privilege;
**(c)** May be subject to legal restrictions on disclosure in some jurisdictions;
**(d)** Represents our good faith effort to provide accurate and complete information.
### 10.2. Legal Compliance
This report is prepared in compliance with:
**(a)** All applicable transparency reporting requirements;
**(b)** Court orders and legal restrictions on disclosure;
**(c)** Data protection and privacy laws;
**(d)** National security and law enforcement confidentiality requirements.
### 10.3. No Warranties
**IMPORTANT: Comprehensive warranty disclaimers and liability limitations applicable to this report and all our services are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
In addition to those comprehensive protections, this transparency report is provided without warranties regarding:
**(a)** Accuracy of information subject to legal reporting restrictions;
**(b)** Completeness where disclosure is legally prohibited;
**(c)** Changes in circumstances after publication date.
**Report Period:** From inception of NHCarrigan operations through
**Publication Date:**
**Next Scheduled Update:**
---
*This transparency report demonstrates our commitment to user privacy and government accountability. We will continue to update this report regularly and advocate for user rights within the bounds of applicable law. For questions about this report, please contact us at transparency@nhcarrigan.com.*
+731
View File
@@ -0,0 +1,731 @@
---
title: Limitation of Liability and Indemnification Policy
---
**COMPREHENSIVE PROTECTION THROUGH LIABILITY LIMITATIONS AND INDEMNIFICATION PROVISIONS**
## 1. INTRODUCTION AND SCOPE
### 1.1. Policy Purpose and Importance
This Limitation of Liability and Indemnification Policy ("Policy") establishes comprehensive protections for NHCarrigan ("we," "us," "our," or "the Company") and clarifies the allocation of risk and responsibility between the Company and users of our services, applications, and platforms (collectively, the "Services"). This Policy is fundamental to our ability to provide innovative services whilst managing legal and financial risks.
### 1.2. Integration with Other Legal Documents
This Policy operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Acceptable Use Policy, Service Level Agreement, API Terms and Conditions, and all applicable legal protections by reference.
Where conflicts exist between documents, the most restrictive liability limitation shall apply to ensure maximum protection for the Company.
### 1.3. Scope of Application
This Policy applies to:
**(a)** All users, customers, developers, and third parties interacting with our Services;
**(b)** All services, applications, platforms, and tools provided by NHCarrigan;
**(c)** All content, data, and information processed through our Services;
**(d)** All commercial and non-commercial usage of our Services;
**(e)** All direct and indirect consequences of Service usage;
**(f)** All claims arising before, during, or after the use of our Services;
**(g)** All legal theories and causes of action, whether known or unknown;
**(h)** All jurisdictions where our Services are accessed or used.
### 1.4. Legal Framework and Enforceability
This Policy is designed to:
**(a)** Comply with applicable laws whilst maximising legal protection;
**(b)** Ensure enforceability across multiple jurisdictions;
**(c)** Provide clear guidance on risk allocation and responsibility;
**(d)** Establish predictable legal frameworks for business relationships;
**(e)** Balance user rights with Company protection needs;
**(f)** Support sustainable business operations through risk management;
**(g)** Align with industry standards and best practices;
**(h)** Facilitate insurance coverage and risk transfer arrangements.
## 2. COMPREHENSIVE LIABILITY DISCLAIMERS
### 2.1. General Service Disclaimers
**IMPORTANT NOTICE: THE FOLLOWING DISCLAIMERS ARE FUNDAMENTAL TO OUR SERVICE RELATIONSHIP AND CONSTITUTE ESSENTIAL TERMS OF YOUR AGREEMENT WITH US.**
**AS IS" AND "AS AVAILABLE" BASIS:**
All Services are provided strictly on an "AS IS" and "AS AVAILABLE" basis without warranties, representations, or conditions of any kind, whether express, implied, statutory, or otherwise.
**EXPRESS DISCLAIMER OF WARRANTIES:**
We expressly disclaim and exclude all warranties including, but not limited to:
**(a)** **Merchantability**: No warranty that Services are suitable for commercial use or will meet commercial requirements;
**(b)** **Fitness for Particular Purpose**: No warranty that Services will meet your specific needs, requirements, or expectations;
**(c)** **Non-Infringement**: No warranty that Services do not infringe third-party intellectual property or other rights;
**(d)** **Quality and Performance**: No warranty regarding the quality, performance, or reliability of Services;
**(e)** **Accuracy and Completeness**: No warranty regarding the accuracy, completeness, or currency of information or data;
**(f)** **Uninterrupted Service**: No warranty that Services will be available, accessible, or operate without interruption;
**(g)** **Error-Free Operation**: No warranty that Services will be free from errors, bugs, viruses, or other harmful components;
**(h)** **Security**: No warranty that Services will be secure or that data will be protected from unauthorised access.
### 2.2. Technology and Software Disclaimers
Regarding our technology, software, and digital services:
**(a)** **Compatibility**: No warranty of compatibility with all devices, browsers, operating systems, or third-party software;
**(b)** **Performance Standards**: No guarantee of specific performance benchmarks, speed, or efficiency levels;
**(c)** **Data Integrity**: No warranty regarding data integrity, accuracy, or prevention of data loss or corruption;
**(d)** **Backup and Recovery**: No warranty regarding backup services or data recovery capabilities;
**(e)** **Version Control**: No warranty regarding backward compatibility or version stability;
**(f)** **Third-Party Integration**: No warranty regarding the performance or availability of third-party integrations;
**(g)** **Customisation**: No warranty that Services can be customised to meet specific requirements;
**(h)** **Scalability**: No warranty regarding scalability or ability to handle increased usage demands.
### 2.3. Content and Information Disclaimers
Regarding content and information provided through our Services:
**(a)** **Accuracy**: No warranty regarding the accuracy, truthfulness, or reliability of any content or information;
**(b)** **Completeness**: No warranty that information is complete, current, or comprehensive;
**(c)** **Professional Advice**: No warranty that content constitutes professional, legal, financial, or medical advice;
**(d)** **Suitability**: No warranty that information is suitable for any particular purpose or decision-making;
**(e)** **User-Generated Content**: No warranty regarding user-generated content or its appropriateness;
**(f)** **Third-Party Content**: No warranty regarding content from third-party sources or contributors;
**(g)** **Currency**: No warranty that information is up-to-date or reflects current circumstances;
**(h)** **Verification**: No obligation to verify the accuracy or completeness of any content or information.
### 2.4. Business and Commercial Disclaimers
For business and commercial use of our Services:
**(a)** **Business Outcomes**: No warranty regarding specific business outcomes, results, or success;
**(b)** **Revenue Generation**: No warranty that Services will generate revenue, profits, or business value;
**(c)** **Market Performance**: No warranty regarding market performance or competitive advantages;
**(d)** **Regulatory Compliance**: No warranty that Services ensure compliance with industry regulations;
**(e)** **Business Continuity**: No warranty regarding business continuity or uninterrupted operations;
**(f)** **Cost Savings**: No warranty regarding cost savings or operational efficiencies;
**(g)** **Return on Investment**: No warranty regarding return on investment or financial benefits;
**(h)** **Strategic Objectives**: No warranty that Services will help achieve strategic business objectives.
## 3. COMPREHENSIVE LIMITATION OF LIABILITY
### 3.1. Exclusion of Consequential and Indirect Damages
**TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NHCARRIGAN SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, PUNITIVE, OR EXEMPLARY DAMAGES, INCLUDING BUT NOT LIMITED TO:**
**(a)** **Lost Profits**: Loss of actual or anticipated profits, revenue, or business opportunities;
**(b)** **Business Interruption**: Interruption of business operations, production, or services;
**(c)** **Lost Savings**: Loss of anticipated savings, cost reductions, or efficiency gains;
**(d)** **Data Loss**: Loss, corruption, or unauthorised access to data, information, or content;
**(e)** **Reputation Damage**: Damage to reputation, goodwill, or business relationships;
**(f)** **Opportunity Costs**: Lost business opportunities or competitive disadvantages;
**(g)** **Third-Party Claims**: Claims, damages, or losses imposed by third parties;
**(h)** **Personal Injury**: Personal injury, emotional distress, or mental anguish (except where prohibited by law).
### 3.2. Exclusion of Direct Damages
**TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, WE ALSO DISCLAIM LIABILITY FOR DIRECT DAMAGES INCLUDING:**
**(a)** **Service Failures**: Damages arising from service outages, failures, or unavailability;
**(b)** **Performance Issues**: Damages from poor performance, slow response times, or system limitations;
**(c)** **Data Issues**: Damages from data inaccuracies, incompleteness, or processing errors;
**(d)** **Security Breaches**: Damages from security incidents, unauthorised access, or data breaches;
**(e)** **Integration Problems**: Damages from integration failures or compatibility issues;
**(f)** **Content Issues**: Damages from inappropriate, harmful, or inaccurate content;
**(g)** **User Errors**: Damages from user errors, misuse, or misunderstanding of Services;
**(h)** **Force Majeure**: Damages from events beyond our reasonable control.
### 3.3. Maximum Liability Cap
**IN JURISDICTIONS THAT DO NOT PERMIT COMPLETE EXCLUSION OF LIABILITY:**
**(a)** **Aggregate Liability Limit**: Our total aggregate liability for all claims shall not exceed the lesser of $100 or the amounts actually paid by you for the specific Services giving rise to liability in the 12 months immediately preceding the first claim;
**(b)** **Per-Incident Limit**: Our liability for any single incident or related series of incidents shall not exceed £50 or the monthly fee for the affected Service, whichever is greater;
**(c)** **Free Services**: For free Services, our maximum liability is limited to $100 in aggregate for all claims;
**(d)** **Time Limitation**: Liability is limited to damages incurred in the 12-month period immediately preceding the claim;
**(e)** **Proportionate Liability**: Where liability is shared, our liability is limited to our proportionate share of fault;
**(f)** **Mitigation Requirement**: Liability is contingent upon reasonable efforts to mitigate damages;
**(g)** **Insurance Coordination**: Liability limitations coordinate with available insurance coverage;
**(h)** **Currency Conversion**: All monetary limits are stated in United States Dollars with conversion at current exchange rates.
### 3.4. Liability Limitation Scope
**These liability limitations apply regardless of:**
**(a)** **Legal Theory**: Whether claims are based in contract, tort, negligence, strict liability, or any other legal theory;
**(b)** **Foreseeability**: Whether damages were foreseeable or we had knowledge of their possibility;
**(c)** **Remedy Failure**: Whether limited remedies provided elsewhere fail of their essential purpose;
**(d)** **Fault Distribution**: The degree of fault attributable to different parties;
**(e)** **Claim Multiplicity**: The number of claims or legal theories asserted;
**(f)** **Time of Occurrence**: Whether damages occurred before, during, or after Service usage;
**(g)** **Geographic Location**: The jurisdiction where damages occur or claims are brought;
**(h)** **User Classification**: Whether users are individuals, businesses, or other entities.
## 4. COMPREHENSIVE INDEMNIFICATION PROVISIONS
### 4.1. User Indemnification Obligations
**Users agree to indemnify, defend, and hold harmless NHCarrigan, its parent companies, subsidiaries, affiliates, officers, directors, employees, agents, contractors, licensors, and service providers (collectively, the "Indemnified Parties") from and against any and all claims, demands, actions, damages, losses, costs, liabilities, and expenses (including reasonable attorneys' fees and court costs) arising from or relating to:**
**(a)** **Service Usage**: Your use, misuse, or inability to use the Services in any manner;
**(b)** **Policy Violations**: Your violation of these terms or any other applicable policies, rules, or guidelines;
**(c)** **Legal Violations**: Your violation of any applicable laws, regulations, or third-party rights;
**(d)** **Content Liability**: Any content you submit, post, transmit, or make available through the Services;
**(e)** **Intellectual Property**: Claims that your content or usage infringes intellectual property rights;
**(f)** **Privacy Violations**: Claims arising from your collection, use, or disclosure of personal information;
**(g)** **Third-Party Interactions**: Your interactions with other users or third parties through the Services;
**(h)** **Downstream Usage**: Any use of Services by third parties through your account or authorisation.
### 4.2. Commercial and Business Indemnification
**For commercial and business users, indemnification extends to:**
**(a)** **Business Operations**: Claims arising from integration of Services into business operations;
**(b)** **Customer Interactions**: Claims from your customers or clients related to Service usage;
**(c)** **Employee Actions**: Claims arising from your employees' or contractors' use of Services;
**(d)** **Regulatory Violations**: Claims from violation of industry regulations or professional standards;
**(e)** **Data Processing**: Claims related to data processing activities conducted through Services;
**(f)** **Commercial Content**: Claims related to commercial content, advertising, or promotional materials;
**(g)** **Competitive Activities**: Claims arising from competitive or business development activities;
**(h)** **Licensing Violations**: Claims from violation of software licences or intellectual property rights.
### 4.3. Developer and API Indemnification
**Developers and API users agree to additional indemnification for:**
**(a)** **Application Development**: Claims arising from applications built using our APIs or services;
**(b)** **End User Claims**: Claims from end users of applications or integrations;
**(c)** **Data Integration**: Claims related to data integration, processing, or storage activities;
**(d)** **Security Incidents**: Claims arising from security vulnerabilities in integrated applications;
**(e)** **Performance Issues**: Claims related to performance, availability, or functionality of integrated services;
**(f)** **Third-Party Services**: Claims arising from integration with third-party services or platforms;
**(g)** **Commercial Distribution**: Claims related to commercial distribution or monetisation of applications;
**(h)** **Compliance Failures**: Claims from failure to comply with API terms or usage restrictions.
### 4.4. Indemnification Process and Procedures
**The indemnification process includes:**
**(a)** **Notice Requirement**: We will provide prompt written notice of any claim subject to indemnification;
**(b)** **Defence Control**: We reserve the right to assume the exclusive defence and control of any matter subject to indemnification;
**(c)** **Legal Counsel**: We may select legal counsel of our choice, with costs covered by the indemnifying party;
**(d)** **Cooperation Requirement**: You agree to cooperate fully with the defence of any indemnified claim;
**(e)** **Settlement Authority**: We may settle claims with your consent, which shall not be unreasonably withheld;
**(f)** **Information Access**: You will provide all necessary information and assistance for claim defence;
**(g)** **Cost Advancement**: You may be required to advance costs and expenses for claim defence;
**(h)** **Recovery Rights**: We retain all rights to recover costs and damages from responsible parties.
## 5. RISK ALLOCATION AND USER RESPONSIBILITY
### 5.1. User Assumption of Risk
**By using our Services, users expressly acknowledge and assume the following risks:**
**(a)** **Technology Risks**: Inherent risks in using internet-based and cloud-based technologies;
**(b)** **Data Risks**: Risks of data loss, corruption, or unauthorised access inherent in digital systems;
**(c)** **Business Risks**: Risks of business interruption, competitive disadvantage, or operational challenges;
**(d)** **Security Risks**: Risks of security vulnerabilities, cyberattacks, or malicious activities;
**(e)** **Performance Risks**: Risks of performance degradation, service limitations, or capacity constraints;
**(f)** **Integration Risks**: Risks associated with integrating Services with existing systems or workflows;
**(g)** **Compliance Risks**: Risks of regulatory non-compliance or changes in legal requirements;
**(h)** **Market Risks**: Risks of market changes, competitive pressures, or business model evolution.
### 5.2. User Responsibility for Risk Management
**Users are solely responsible for:**
**(a)** **Risk Assessment**: Conducting their own risk assessment before using Services;
**(b)** **Risk Mitigation**: Implementing appropriate risk mitigation measures and controls;
**(c)** **Insurance Coverage**: Obtaining adequate insurance coverage for their activities and risks;
**(d)** **Backup and Recovery**: Implementing independent backup and disaster recovery procedures;
**(e)** **Security Measures**: Implementing appropriate security measures for their systems and data;
**(f)** **Compliance Monitoring**: Monitoring compliance with applicable laws and regulations;
**(g)** **Professional Advice**: Seeking professional advice regarding legal, technical, and business matters;
**(h)** **Contingency Planning**: Developing contingency plans for service interruptions or failures.
### 5.3. Company Risk Management Limitations
**Our risk management efforts are limited to:**
**(a)** **Reasonable Care**: Exercising reasonable care in providing Services according to industry standards;
**(b)** **Security Measures**: Implementing reasonable security measures for our systems and infrastructure;
**(c)** **Policy Compliance**: Enforcing our policies and terms to maintain service quality and security;
**(d)** **Legal Compliance**: Complying with applicable laws and regulations in our operations;
**(e)** **Insurance Maintenance**: Maintaining appropriate insurance coverage for our business operations;
**(f)** **Incident Response**: Maintaining incident response capabilities for security and operational issues;
**(g)** **Vendor Management**: Managing third-party vendors and service providers appropriately;
**(h)** **Continuous Improvement**: Continuously improving our services and risk management practices.
### 5.4. Shared Responsibility Model
**Our service relationship operates under a shared responsibility model:**
**Company Responsibilities:**
- Infrastructure security and maintenance
- Service availability and performance (subject to SLA terms)
- Data security measures for systems under our control
- Compliance with applicable laws in our operations
**User Responsibilities:**
- Appropriate use of Services according to terms and policies
- Security of user accounts, credentials, and access controls
- Compliance with applicable laws in user's jurisdiction and industry
- Risk management and mitigation for user's business operations
## 6. FORCE MAJEURE AND EXTERNAL FACTORS
### 6.1. Force Majeure Events
**We shall not be liable for any failure to perform or delay in performance due to force majeure events, including but not limited to:**
**(a)** **Natural Disasters**: Earthquakes, floods, hurricanes, volcanic eruptions, wildfires, or other natural catastrophes;
**(b)** **Human Conflicts**: Wars, terrorism, civil unrest, riots, strikes, labour disputes, or other human conflicts;
**(c)** **Government Actions**: Government orders, regulations, sanctions, trade restrictions, or other official actions;
**(d)** **Infrastructure Failures**: Power grid failures, internet backbone disruptions, telecommunications outages, or critical infrastructure failures;
**(e)** **Pandemics**: Public health emergencies, pandemics, or government-mandated closures;
**(f)** **Cyber Attacks**: Large-scale cyber attacks, distributed denial of service attacks, or other malicious activities beyond our control;
**(g)** **Third-Party Failures**: Failures of critical third-party services, suppliers, or infrastructure providers;
**(h)** **Regulatory Changes**: Sudden regulatory changes that materially affect our ability to provide Services.
### 6.2. Third-Party Dependencies
**Our Services rely on various third-party providers and dependencies, and we disclaim liability for:**
**(a)** **Cloud Providers**: Outages, performance issues, or failures of underlying cloud infrastructure providers;
**(b)** **Internet Service Providers**: Connectivity issues, routing problems, or service degradation by ISPs;
**(c)** **Payment Processors**: Payment processing failures, delays, or security incidents;
**(d)** **Content Delivery Networks**: CDN performance issues, geographical restrictions, or service limitations;
**(e)** **DNS Services**: Domain name resolution failures or DNS-related service interruptions;
**(f)** **Certificate Authorities**: SSL certificate issues, validation failures, or certificate authority problems;
**(g)** **Integration Partners**: Failures or changes in third-party services that integrate with our platforms;
**(h)** **Regulatory Authorities**: Actions by regulatory authorities that affect third-party service provision.
### 6.3. Technology Limitations
**We disclaim liability for limitations inherent in technology:**
**(a)** **Internet Architecture**: Limitations and vulnerabilities inherent in internet architecture and protocols;
**(b)** **Software Complexity**: Bugs, vulnerabilities, or limitations inherent in complex software systems;
**(c)** **Hardware Failures**: Hardware failures, capacity limitations, or performance degradation;
**(d)** **Network Congestion**: Network congestion, bandwidth limitations, or routing inefficiencies;
**(e)** **Browser Compatibility**: Variations in browser behaviour, compatibility issues, or rendering differences;
**(f)** **Device Limitations**: Limitations of user devices, operating systems, or hardware capabilities;
**(g)** **Protocol Limitations**: Limitations or vulnerabilities in communication protocols and standards;
**(h)** **Scalability Constraints**: Technical constraints that limit scalability or performance under high loads.
## 7. JURISDICTIONAL VARIATIONS AND ENFORCEABILITY
### 7.1. Jurisdictional Adaptation
**These liability limitations are designed to be enforceable across jurisdictions:**
**(a)** **Maximum Enforceability**: Limitations apply to the maximum extent permitted by applicable law in each jurisdiction;
**(b)** **Severability**: If any provision is unenforceable, the remainder shall remain in full force and effect;
**(c)** **Modification**: Limitations shall be modified as necessary to ensure enforceability while preserving intent;
**(d)** **Local Law Compliance**: Limitations comply with mandatory local law requirements while maximising protection;
**(e)** **Consumer Protection**: Special considerations for jurisdictions with strong consumer protection laws;
**(f)** **Business-to-Business**: Enhanced enforceability for business-to-business relationships;
**(g)** **International Treaties**: Compliance with international treaties and conventions affecting liability;
**(h)** **Conflict of Laws**: Clear conflict of law provisions to determine applicable liability rules.
### 7.2. Consumer Protection Considerations
**In jurisdictions with consumer protection laws:**
**(a)** **Statutory Rights**: These limitations do not affect statutory consumer rights that cannot be excluded by agreement;
**(b)** **Unfair Terms**: Limitations are drafted to avoid classification as unfair or unconscionable terms;
**(c)** **Good Faith**: All limitations are imposed in good faith and with reasonable commercial justification;
**(d)** **Transparency**: Clear and prominent disclosure of all liability limitations;
**(e)** **Proportionality**: Limitations are proportionate to the nature of Services provided;
**(f)** **Alternative Remedies**: Provision of alternative remedies where complete exclusion is not permitted;
**(g)** **Consumer Education**: Educational materials to help consumers understand limitation implications;
**(h)** **Regulatory Compliance**: Compliance with consumer protection regulations and guidance.
### 7.3. Business and Commercial Enforceability
**For business and commercial relationships:**
**(a)** **Commercial Reasonableness**: All limitations are commercially reasonable and industry-standard;
**(b)** **Negotiated Terms**: Limitations reflect negotiated risk allocation between commercial parties;
**(c)** **Insurance Coordination**: Limitations coordinate with standard commercial insurance coverage;
**(d)** **Industry Practice**: Limitations align with standard industry practices and norms;
**(e)** **Risk-Benefit Analysis**: Limitations reflect appropriate risk-benefit allocation for service provision;
**(f)** **Competitive Market**: Limitations are consistent with competitive market conditions;
**(g)** **Business Justification**: Clear business justification for all liability limitations;
**(h)** **Professional Standards**: Compliance with professional standards and best practices.
### 7.4. International Enforcement
**For international service provision:**
**(a)** **Treaty Compliance**: Compliance with international treaties affecting liability and jurisdiction;
**(b)** **Cross-Border Recognition**: Structure to facilitate cross-border recognition and enforcement;
**(c)** **Choice of Law**: Clear choice of law provisions to govern liability questions;
**(d)** **Forum Selection**: Appropriate forum selection clauses for dispute resolution;
**(e)** **Enforcement Mechanisms**: Practical mechanisms for international enforcement of limitations;
**(f)** **Diplomatic Immunity**: Considerations for diplomatic immunity and sovereign immunity issues;
**(g)** **International Standards**: Alignment with international standards for liability limitation;
**(h)** **Reciprocity**: Reciprocal recognition of liability limitations across jurisdictions.
## 8. INSURANCE AND RISK TRANSFER
### 8.1. User Insurance Recommendations
**We strongly recommend that users maintain:**
**(a)** **Business Liability**: General business liability insurance appropriate for their operations;
**(b)** **Technology Insurance**: Technology errors and omissions insurance for IT-related risks;
**(c)** **Cyber Insurance**: Cyber liability insurance for data security and privacy risks;
**(d)** **Professional Indemnity**: Professional indemnity insurance for professional service providers;
**(e)** **Business Interruption**: Business interruption insurance for operational continuity;
**(f)** **Data Breach**: Specific data breach response insurance coverage;
**(g)** **International Coverage**: International insurance coverage for global business operations;
**(h)** **Industry-Specific**: Industry-specific insurance coverage for regulated sectors.
### 8.2. Risk Transfer Mechanisms
**Our liability limitations facilitate risk transfer through:**
**(a)** **Insurance Markets**: Enabling users to obtain appropriate insurance coverage for transferred risks;
**(b)** **Risk Pricing**: Allowing market-based pricing of risks through insurance mechanisms;
**(c)** **Loss Prevention**: Incentivising loss prevention and risk management measures;
**(d)** **Claims Handling**: Facilitating efficient claims handling and dispute resolution;
**(e)** **Risk Pooling**: Enabling risk pooling through insurance and other financial mechanisms;
**(f)** **Capital Markets**: Facilitating access to capital markets for risk financing;
**(g)** **Self-Insurance**: Supporting self-insurance and captive insurance arrangements;
**(h)** **Risk Sharing**: Enabling risk sharing arrangements between commercial parties.
### 8.3. Insurance Coordination
**These liability limitations coordinate with insurance coverage through:**
**(a)** **Coverage Gaps**: Identifying and addressing potential coverage gaps;
**(b)** **Deductible Management**: Coordinating with insurance deductibles and self-insured retentions;
**(c)** **Claims Coordination**: Facilitating coordination between multiple insurance policies;
**(d)** **Subrogation Rights**: Preserving subrogation rights for insurance carriers;
**(e)** **Additional Insured**: Provisions for additional insured status where appropriate;
**(f)** **Waiver of Subrogation**: Coordinated waivers of subrogation between parties and insurers;
**(g)** **Primary and Excess**: Coordination between primary and excess insurance coverage;
**(h)** **International Coverage**: Coordination of coverage across multiple jurisdictions and policies.
## 9. SURVIVAL AND ENFORCEMENT
### 9.1. Survival of Provisions
**The following provisions survive termination of any agreement or relationship:**
**(a)** **Liability Limitations**: All liability limitations and disclaimers remain in effect permanently;
**(b)** **Indemnification**: All indemnification obligations continue for events occurring before termination;
**(c)** **Warranty Disclaimers**: All warranty disclaimers remain effective for all prior service provision;
**(d)** **Risk Allocation**: Risk allocation provisions continue to apply to pre-termination activities;
**(e)** **Force Majeure**: Force majeure protections apply to events before, during, and after termination;
**(f)** **Insurance Provisions**: Insurance-related provisions continue as necessary for coverage coordination;
**(g)** **Dispute Resolution**: Dispute resolution procedures continue for all claims and disputes;
**(h)** **Governing Law**: Governing law and jurisdiction provisions continue to apply to all matters.
### 9.2. Enforcement Mechanisms
**These limitations are enforceable through:**
**(a)** **Contractual Terms**: Express contractual terms in all user agreements and terms of service;
**(b)** **Click-Through Acceptance**: Click-through acceptance mechanisms for online services;
**(c)** **Notice Provisions**: Prominent notice and disclosure of all liability limitations;
**(d)** **Separate Agreement**: Separate acknowledgement agreements for high-risk activities;
**(e)** **Professional Advice**: Requirements for professional legal advice in certain circumstances;
**(f)** **Renewal Confirmations**: Periodic renewal and confirmation of limitation acceptance;
**(g)** **Legal Documentation**: Comprehensive legal documentation supporting enforceability;
**(h)** **Compliance Monitoring**: Ongoing monitoring of compliance with limitation requirements.
### 9.3. Amendment and Modification
**These liability limitations may be amended only through:**
**(a)** **Written Agreement**: Express written agreement signed by authorised representatives;
**(b)** **Formal Process**: Formal amendment process with appropriate notice and acceptance;
**(c)** **Legal Review**: Review by qualified legal counsel before any modifications;
**(d)** **Insurance Consultation**: Consultation with insurance providers regarding coverage impacts;
**(e)** **Risk Assessment**: Comprehensive risk assessment of proposed modifications;
**(f)** **Board Approval**: Board approval for significant changes to fundamental risk allocation;
**(g)** **Documentation**: Comprehensive documentation of all changes and their rationale;
**(h)** **User Notice**: Appropriate notice to users of any changes affecting their obligations or rights.
### 9.4. Integration and Interpretation
**These provisions shall be interpreted and applied as follows:**
**(a)** **Broad Construction**: Liability limitations shall be construed broadly to maximise protection;
**(b)** **Cumulative Effect**: All limitations are cumulative and mutually reinforcing;
**(c)** **Consistent Interpretation**: Consistent interpretation across all related agreements and policies;
**(d)** **Good Faith**: All provisions are made and shall be interpreted in good faith;
**(e)** **Commercial Reasonableness**: Interpretation consistent with commercial reasonableness;
**(f)** **Industry Standards**: Interpretation consistent with industry standards and best practices;
**(g)** **Legal Precedent**: Consideration of relevant legal precedent and case law;
**(h)** **Regulatory Guidance**: Consideration of applicable regulatory guidance and interpretation.
## 10. CONTACT INFORMATION AND LEGAL SUPPORT
### 10.1. Legal and Liability Questions
For questions about liability limitations and legal matters:
**Email:** legal@nhcarrigan.com
**Subject Line:** Liability and Legal Inquiry - [Brief Description]
**Response Time:** Within 7-10 business days for legal inquiries
**Legal Counsel:** All complex legal matters are reviewed by qualified legal counsel
### 10.2. Claims and Disputes
For claims potentially subject to liability limitations:
**Email:** claims@nhcarrigan.com
**Subject Line:** Legal Claim - [Claim Type]
**Notice Requirement:** Formal notice required for all claims seeking damages
**Response Time:** Within 7-10 business days for claim acknowledgement
### 10.3. Insurance and Risk Management
For insurance and risk management coordination:
**Email:** risk@nhcarrigan.com
**Subject Line:** Insurance and Risk Matter
**Coverage Questions:** Questions about insurance coverage and risk transfer
**Response Time:** Within 7-10 business days for insurance-related inquiries
### 10.4. Emergency Legal Matters
For urgent legal matters requiring immediate attention:
**Email:** legal-emergency@nhcarrigan.com
**Subject Line:** URGENT LEGAL MATTER - [Brief Description]
**Phone:** Emergency contact information available to qualified legal representatives
**Response Time:** Within 7-10 business days for all legal matters
---
*This Limitation of Liability and Indemnification Policy provides comprehensive legal protection through risk allocation, liability limitations, and indemnification provisions. By using our Services, you acknowledge and agree to these terms and understand their legal implications. For questions about liability matters, please contact us at legal@nhcarrigan.com.*
File diff suppressed because it is too large Load Diff
+355 -133
View File
@@ -2,241 +2,463 @@
title: Privacy Policy
---
## 1. Overview and Scope
**YOUR PRIVACY RIGHTS AND OUR DATA PROTECTION COMMITMENTS**
### 1.1. General Applicability
## 1. INTRODUCTION AND SCOPE
This privacy policy ("General Policy") governs the collection, use, storage, and protection of data across all our services, platforms, and applications (collectively referred to as "Services").
### 1.1. About This Policy
### 1.2. Project-Specific Policies
This Privacy Policy ("Policy") sets out how NHCarrigan ("we," "us," "our," or "the Company") collects, uses, stores, and protects your personal information when you use our services, applications, and platforms (collectively, the "Services").
Individual projects or Services may be subject to additional, project-specific privacy policies ("Project Policies"). These Project Policies apply concurrently with the General Policy. In the event of any conflict between the General Policy and a Project Policy, the stricter privacy protections shall prevail.
### 1.2. Policy Applicability
### 1.3. Policy Updates and Retroactivity
This Policy applies to:
We reserve the right to modify, amend, or update this General Policy and any Project Policies at any time. All changes to these policies, including the General Policy and any Project Policies, are retroactive and apply to previously collected data as well as data collected after the changes take effect.
**(a)** All services, websites, and applications operated by NHCarrigan;
### 1.4. Notification of Changes
**(b)** All users of our Services, regardless of location;
We will make reasonable efforts to notify users of significant changes to our privacy policies. However, it is the user's responsibility to regularly review the applicable privacy policies for any updates.
**(c)** All personal data collected through our Services;
### 1.5. Acceptance of Terms
**(d)** Both current and former users of our Services.
By accessing, using, or continuing to use our Services, you explicitly acknowledge and agree to be bound by the most current version of the General Policy and any applicable Project Policies. If you do not agree with the terms of these policies, you must immediately cease using our Services.
### 1.3. Additional Policies
### 1.6. Effective Date
Specific Services may be subject to additional privacy notices or terms ("Service-Specific Policies"). Where such policies exist:
The effective date of the current version of this policy will be clearly stated at the beginning of the document. Each revision will be numbered or dated for easy reference.
**(a)** They supplement this main Policy;
## 2. Data Collection, Documentation, and User Rights
**(b)** In case of conflict, the most privacy-protective terms shall apply;
### 2.1. Data Collection Practices
**(c)** We shall clearly identify when additional policies apply.
We strive to collect only the data necessary for the proper functioning and improvement of our Services. However, the scope of data collection may change as our Services evolve.
### 1.4. Policy Updates
### 2.2. Documentation Efforts
We reserve the right to update this Policy at any time. Changes may:
We make every effort to maintain accurate and up-to-date documentation regarding our data collection practices. This includes:
**(a)** Take effect immediately upon publication;
- Regular reviews of our data collection processes
- Timely updates to our privacy policy and related documentation
- Clear communication about significant changes in data collection
**(b)** Apply retroactively to previously collected data;
### 2.3. Potential Undocumented Data Collection
**(c)** Require your continued consent through ongoing use of our Services.
Despite our best efforts, it is possible that at any given time, an application or Service may collect data that is not explicitly documented. This may occur due to:
### 1.5. Acceptance and Consent
- Recent updates or changes to our Services
- Technical issues or bugs
- Third-party integrations or dependencies
By using our Services, you:
### 2.4. General Data Rights
**(a)** Acknowledge that you have read and understood this Policy;
Regardless of whether specific data collection is documented, users have the following rights:
**(b)** Consent to our collection and processing of your personal data as described;
#### 2.4.1. Right to Access:
**(c)** Agree to be bound by the current version of this Policy.
At any time, you may request a complete copy of your data stored by one of our applications. Requests must be done via `privacy@nhcarrigan.com` from the email address the data belongs to. This ensures that a user cannot impersonate you and request your data. We may request additional identifying information, depending on the structure of the data collected by the application.
### 1.6. Contact for Privacy Matters
#### 3.4.2. Right to Rectification:
For all privacy-related inquiries, please contact us at: **privacy@nhcarrigan.com**
You may request corrections to any inaccurate data we hold about you.
## 2. INFORMATION WE COLLECT
#### 3.4.3. Right to Erasure:
### 2.1. Types of Personal Information
At any time, you may request complete removal of your stored data. Requests must be done via `privacy@nhcarrigan.com` from the email address the data belongs to. This ensures that a user cannot impersonate you and request your data. We may request additional identifying information, depending on the structure of the data collected by the application.
We may collect the following categories of personal information:
This will **not** opt you out of future data collection unless specifically requested. We reserve the right to refuse removal requests when the data are necessary for specific functionality of the app, in circumstances where removing your data would compromise the functionality for all users.
**(a)** **Identity Information:** Name, username, email address, and demographic information;
#### 3.4.4. Right to Restrict Processing:
**(b)** **Technical Information:** IP address, browser type, device information, and operating system;
At any time, you may request to opt out of data collection for an application by requesting removal of your data and discontinuing interaction with the application. We may request additional identifying information, depending on the structure of the data collected by the application.
**(c)** **Usage Information:** How you interact with our Services, including pages visited and features used;
We reserve the right to refuse opt-out requests when the data are necessary for specific functionality of the app, in circumstances where opting-out would compromise the functionality for all users.
**(d)** **Communication Information:** Messages sent through our platforms and support communications;
#### 3.4.5. Right to Data Portability:
**(e)** **Account Information:** Registration details, preferences, and account settings.
You may request a copy of your data in a structured, commonly used, and machine-readable format.
### 2.2. Methods of Collection
### 3.5. Exercising Your Rights
We collect personal information through:
To exercise any of these rights or to inquire about data we may hold:
**(a)** **Direct Provision:** Information you provide when registering, using our Services, or contacting us;
- Contact us through `privacy@nhcarrigan.com`.
- Be prepared to verify your identity to protect the security of your information
**(b)** **Automated Collection:** Technical data collected through cookies, logs, and analytics tools;
### 3.6. Opting Out of Data Collection
**(c)** **Third-Party Sources:** Information from integrated services and platforms (with your consent).
- You may cease using our Services
- For specific types of data collection, we may offer granular opt-out options
- Note that opting out of essential data collection may limit or prevent your use of certain Services
### 2.3. Undocumented Collection
### 3.7. Response Time and Process
Despite our best efforts to maintain comprehensive documentation:
We will make reasonable efforts to respond to all data-related requests within 30 days. Complex requests may require additional time, in which case we will notify you.
**(a)** Some data collection may occur that is not explicitly documented;
### 3.8. Limitations
**(b)** This may result from system updates, third-party integrations, or technical changes;
While we strive to honour all legitimate requests, be aware that legal requirements may sometimes prevent us from fully complying with certain requests.
**(c)** You maintain all privacy rights regardless of documentation status;
### 3.9. Ongoing Commitment
**(d)** We commit to honouring all data subject rights for any collected information.
We are committed to transparency and user privacy. We continuously work to improve our data practices and documentation to ensure the highest standards of data protection and user trust.
## 3. HOW WE USE YOUR INFORMATION
## 4. Data Retention
### 3.1. Primary Purposes
### 4.1. Retention Principle
We process your personal information for the following purposes:
We adhere to the principle of data minimization, storing personal data for the shortest time necessary to fulfil the purposes for which it was collected and to ensure the proper functioning of our applications.
**(a)** **Service Provision:** To provide, operate, and maintain our Services;
### 4.2. Retention Periods
**(b)** **Communication:** To respond to inquiries and provide customer support;
Specific retention periods may vary depending on the type of data and the purpose for which it is processed. Generally:
**(c)** **Improvement:** To analyse usage patterns and enhance our Services;
- Active user data is retained for the duration of the user's account activity
- Inactive user data may be retained for a period after the last user interaction, typically not exceeding 12 months
- Aggregated and anonymized data may be retained indefinitely for analytical purposes
**(d)** **Security:** To protect against fraud, abuse, and security threats;
### 4.3. Automatic Deletion
**(e)** **Legal Compliance:** To fulfil our legal obligations and protect our rights.
Where technically feasible, we implement automated processes to delete or anonymize personal data that has exceeded its retention period.
### 3.2. Legal Basis for Processing
### 4.4. Legal and Regulatory Compliance
Our legal basis for processing personal information includes:
Certain data may be retained for longer periods if required by applicable laws, regulations, or to comply with legal obligations.
**(a)** **Consent:** Where you have explicitly agreed to processing;
### 4.5. Backup Retention
**(b)** **Contract:** Where processing is necessary to perform our Services;
For data recovery purposes, backups may contain personal data for a period beyond the active retention period. These backups are secured and accessed only when necessary for system restoration.
**(c)** **Legitimate Interests:** Where we have legitimate business interests that do not override your rights;
### 4.6. User-Initiated Deletion
**(d)** **Legal Obligation:** Where required by applicable law.
Users may request the deletion of their data at any time, subject to our legitimate business needs and legal obligations.
### 3.3. Automated Decision-Making
## 5. Availability of Data
We may use automated systems for:
### 5.1. Access Control
**(a)** Spam detection and content moderation;
Access to user data is strictly controlled and limited to authorized members of the nhcarrigan team on a need-to-know basis.
**(b)** Security threat identification;
### 5.2. Purpose Limitation
**(c)** Service personalisation and recommendations.
Data access by the nhcarrigan team is permitted only for the following purposes:
You have the right to request human review of automated decisions that significantly affect you.
- Debugging application issues
- Improving application functionality and user experience
- Contributing to the development and maintenance of the application
- Responding to user support requests
- Ensuring compliance with legal and regulatory requirements
## 4. DATA SHARING AND DISCLOSURE
### 5.3. Data Security Measures
### 4.1. Internal Access
We implement robust security measures to protect data from unauthorized access, including but not limited to:
Access to your personal information within our organisation is restricted to:
- Encryption of data in transit and at rest
- Multi-factor authentication for developer accounts
- Regular security audits and vulnerability assessments
- Logging of data access and modifications
**(a)** Authorised team members on a need-to-know basis;
### 5.4. Developer Training and Accountability
**(b)** Personnel responsible for system maintenance and support;
All team members with data access are:
**(c)** Individuals involved in legal compliance and security matters.
- Required to undergo privacy and security training
- Bound by confidentiality agreements
- Subject to disciplinary action for unauthorized data access or misuse
### 4.2. Third-Party Sharing
### 5.5. Third-Party Access
We may share your information with:
We do not sell user data. In cases where third-party service providers require access to perform specific functions:
**(a)** **Service Providers:** Third-party companies that help us operate our Services;
- Access is limited to the minimum necessary data
- Providers are bound by strict contractual obligations to protect user data
- We regularly review and audit third-party practices
**(b)** **Legal Authorities:** When required by law, court order, or to protect legal rights;
### 5.6. Transparency
**(c)** **Business Partners:** With your explicit consent and for specific purposes;
We maintain logs of data access by our team and can provide this information upon justified request, subject to privacy and security considerations.
**(d)** **Successors:** In the event of a merger, acquisition, or business transfer.
### 5.7. User Data Requests
### 4.3. Data Sale Prohibition
Users may request information about how their data has been accessed or used by contacting our designated data protection contact.
We do not and will not sell your personal information to third parties for commercial purposes.
### 5.8. Continuous Improvement
### 4.4. International Transfers
We regularly review and update our data handling practices to ensure the highest standards of data protection and to minimize unnecessary access to personal information.
Your information may be transferred to and processed in countries other than your own. We ensure appropriate safeguards are in place for such transfers, including:
## 6. Contact Information and Data Inquiries
**(a)** Adequacy decisions by relevant authorities;
We value transparency and are committed to addressing any questions or concerns you may have regarding our privacy practices. There are several ways to reach us:
**(b)** Standard contractual clauses;
### 6.1. Forum
**(c)** Other legally recognised transfer mechanisms.
For immediate assistance and community support, join our forum: https://forum.nhcarrigan.com
## 5. YOUR PRIVACY RIGHTS
### 6.2. Email Contact
### 5.1. General Rights
For privacy-specific inquiries or formal requests, please email: `privacy@nhcarrigan.com`
Regardless of your location, you have the following rights regarding your personal information:
### 6.3. Response Time
**(a)** **Right of Access:** Request a copy of the personal information we hold about you;
We strive to respond to all inquiries within 5 business days. Complex issues may require additional time.
**(b)** **Right of Rectification:** Request correction of inaccurate or incomplete information;
### 6.4. Types of Inquiries
**(c)** **Right of Erasure:** Request deletion of your personal information in certain circumstances;
We welcome contact regarding:
**(d)** **Right to Restrict Processing:** Request limitation of how we process your information;
- Questions about this privacy policy
- Inquiries about our data collection and use practices
- Requests to exercise your data rights (access, rectification, erasure, etc.)
- Reporting of potential data breaches or security concerns
- Suggestions for improving our privacy practices
**(e)** **Right to Data Portability:** Receive your information in a structured, commonly used format.
### 6.5. Information to Include
### 5.2. Exercising Your Rights
To help us address your inquiry efficiently, please include:
To exercise any of these rights:
- Your full name
- The email address associated with your account (if applicable)
- A detailed description of your question or concern
- Any relevant dates, times, or specific instances related to your inquiry
**(a)** Submit requests through our **Privacy Request Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/qEJgBWGDfyHv6x51VU9aVX/4
### 6.6. Verification Process
**(b)** Alternatively, submit requests to **privacy@nhcarrigan.com** from the email address associated with your account;
For security reasons, we may need to verify your identity before processing certain requests, especially those related to personal data.
**(c)** Provide sufficient information to verify your identity;
### 6.7. Alternative Contact Methods
**(d)** Specify clearly which right you wish to exercise;
If you are unable to use Discord or email, please visit our website for additional contact options: https://nhcarrigan.com
**(e)** Include any relevant details or documentation to support your request.
### 6.8. Updates and Notifications
### 5.3. Response Timeframes
If you wish to receive updates about changes to our privacy policy or data practices, please bookmark this page.
We endeavour to respond to all privacy requests within 7-10 business days. For complex requests that require additional time, we will notify you and respond within thirty (30) days as required by applicable data protection laws (including GDPR).
### 6.9. Legal Inquiries
### 5.4. Limitations on Rights
For legal or formal inquiries, please use the email provided above and clearly mark your message as a legal inquiry.
Your privacy rights may be limited where:
### 6.10. Accessibility
**(a)** Deletion would compromise essential functionality for all users;
If you require this information in an alternative format for accessibility reasons, please let us know, and we will do our best to accommodate your needs.
**(b)** We have overriding legitimate interests or legal obligations;
**(c)** Information is necessary for the establishment, exercise, or defence of legal claims;
**(d)** Processing is required for compliance with legal obligations.
## 6. DATA RETENTION AND DELETION
### 6.1. Retention Principles
We retain personal information based on the following principles:
**(a)** **Data Minimisation:** We keep only what is necessary for the stated purposes;
**(b)** **Purpose Limitation:** Information is retained only as long as needed for its original purpose;
**(c)** **Legal Requirements:** Some information may be retained to comply with legal obligations.
### 6.2. Retention Periods
General retention periods include:
**(a)** **Active Account Data:** Retained whilst your account remains active;
**(b)** **Inactive Account Data:** Retained for up to twelve (12) months after last activity;
**(c)** **Communication Records:** Retained for up to three (3) years for support purposes;
**(d)** **Legal and Compliance Data:** Retained as required by applicable laws.
### 6.3. Automated Deletion
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
Where technically feasible, we implement automated systems to:
**(a)** Delete information that has exceeded its retention period;
**(b)** Anonymise data where deletion is not possible;
**(c)** Regularly review and purge unnecessary information.
### 6.4. Backup Retention
For system recovery purposes:
**(a)** Backups may contain personal information beyond active retention periods;
**(b)** Backup systems are secured and accessed only when necessary for restoration;
**(c)** Personal information in backups is subject to the same protection standards.
## 7. DATA SECURITY
### 7.1. Security Measures
We implement comprehensive security measures including:
**(a)** **Encryption:** Data is encrypted both in transit and at rest;
**(b)** **Access Controls:** Multi-factor authentication and role-based access restrictions;
**(c)** **Monitoring:** Continuous monitoring for security threats and unauthorised access;
**(d)** **Regular Audits:** Periodic security assessments and vulnerability testing.
### 7.2. Personnel Security
All team members with access to personal information:
**(a)** Undergo privacy and security training;
**(b)** Sign confidentiality agreements;
**(c)** Are subject to background checks where legally permissible;
**(d)** Face disciplinary action for unauthorised access or misuse.
### 7.3. Incident Response
In the event of a data breach:
**(a)** We will investigate and contain the incident promptly;
**(b)** Affected users will be notified within seventy-two (72) hours where feasible;
**(c)** Relevant authorities will be notified as required by law;
**(d)** We will provide regular updates on our investigation and remediation efforts.
### 7.4. Third-Party Security
Third-party service providers must:
**(a)** Maintain equivalent security standards;
**(b)** Sign data processing agreements;
**(c)** Undergo regular security assessments;
**(d)** Notify us immediately of any security incidents.
## 8. COOKIES AND TRACKING TECHNOLOGIES
### 8.1. Use of Cookies
We use cookies and similar technologies to:
**(a)** Remember your preferences and settings;
**(b)** Analyse usage patterns and improve our Services;
**(c)** Provide personalised content and features;
**(d)** Maintain security and prevent fraud.
### 8.2. Types of Cookies
We may use the following types of cookies:
**(a)** **Essential Cookies:** Necessary for basic functionality;
**(b)** **Performance Cookies:** Help us understand how our Services are used;
**(c)** **Functional Cookies:** Remember your choices and preferences;
**(d)** **Targeting Cookies:** Used to deliver relevant content (with consent).
### 8.3. Cookie Management
You can manage cookies through:
**(a)** Your browser settings;
**(b)** Our cookie preference centre (where available);
**(c)** Opt-out tools provided by third-party services.
Please note that disabling certain cookies may affect the functionality of our Services.
## 9. CHILDREN'S PRIVACY
### 9.1. Age Restrictions
Our Services are not intended for children under the age of thirteen (13), or the minimum digital age of consent in your jurisdiction, whichever is higher.
### 9.2. Collection from Children
We do not knowingly collect personal information from children under the applicable minimum age. If we become aware that we have collected such information:
**(a)** We will delete the information promptly;
**(b)** We will notify the child's parent or guardian if possible;
**(c)** We will take steps to prevent future collection.
### 9.3. Parental Rights
Parents and guardians have the right to:
**(a)** Review any personal information we hold about their child;
**(b)** Request deletion of their child's information;
**(c)** Refuse to permit further collection from their child.
## 10. CONTACT INFORMATION AND COMPLAINTS
### 10.1. Privacy Contact
For all privacy-related matters, contact our Data Protection Officer at:
**Email:** privacy@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com (for general inquiries)
### 10.2. Information to Include
When contacting us about privacy matters, please provide:
**(a)** Your full name and contact information;
**(b)** Details of your request or concern;
**(c)** Any relevant account information or identifiers;
**(d)** Supporting documentation if applicable.
### 10.3. Response Commitment
We commit to:
**(a)** Acknowledging all privacy inquiries within two (2) business days;
**(b)** Providing substantive responses within the timeframes specified in this Policy;
**(c)** Treating all inquiries with respect and confidentiality;
**(d)** Following up to ensure your concerns have been adequately addressed.
### 10.4. Complaints and Escalation
If you are not satisfied with our response:
**(a)** You may request escalation to senior management;
**(b)** You have the right to lodge a complaint with relevant data protection authorities;
**(c)** You may seek independent legal advice regarding your rights.
### 10.5. Supervisory Authority Contact
For complaints in jurisdictions with data protection authorities, you may contact your local supervisory authority. In the European Union, you can find your local authority at: https://edpb.europa.eu/about-edpb/board/members_en
## 11. UPDATES
### 11.1. Policy Updates
We may update this Policy periodically to reflect:
**(a)** Changes in our data processing practices;
**(b)** New legal requirements or regulatory guidance;
**(c)** Feedback from users and data protection authorities;
**(d)** Technological developments and security enhancements.
### 11.2. Notification of Changes
We will notify you of material changes through:
**(a)** Prominent notices on our Services;
**(b)** Email notifications to registered users;
**(c)** Updates to our website and documentation.
### 11.3. Version History
Previous versions of this Policy are available upon request for transparency and reference purposes.
---
*This Privacy Policy is designed to comply with applicable data protection laws whilst providing clear information about our privacy practices. If you have any questions or concerns, please do not hesitate to contact us.*
+543 -74
View File
@@ -2,135 +2,604 @@
title: Security Policy
---
## 1. Introduction
**PROTECTING OUR SYSTEMS AND YOUR DATA THROUGH RESPONSIBLE SECURITY PRACTICES**
This Security Policy outlines the procedures for reporting security vulnerabilities in our applications and the terms under which we handle such reports. By participating in our security reporting process, you agree to comply with this policy.
## 1. INTRODUCTION AND SCOPE
## 2. Scope
### 1.1. Policy Overview
This policy applies to all applications, services, and systems maintained by our organization, including but not limited to:
This Security Policy ("Policy") establishes the procedures and terms under which we handle the reporting and resolution of security vulnerabilities discovered in our applications, systems, and services. By participating in our security reporting process, you acknowledge and agree to comply with all provisions of this Policy.
- Our main websites and applications
- All open-source projects hosted on our repositories
- Any associated APIs or backend services
### 1.2. Scope of Coverage
## 3. Reporting a Vulnerability
This Policy applies to all applications, services, and systems maintained by NHCarrigan, including but not limited to:
### 3.1 Reporting Channels
**(a)** All primary websites and web applications operated under our domain;
If you discover a security vulnerability within any of our applications or systems, please report it through one of the following secure channels:
**(b)** Mobile applications distributed through official channels;
1. Send an email to `security@nhcarrigan.com`
**(c)** Open-source projects hosted in our official repositories;
### 3.2 Public Disclosure Prohibition
**(d)** Application Programming Interfaces (APIs) and backend services;
Do NOT disclose the vulnerability publicly or through any public channels, including but not limited to:
**(e)** Infrastructure and hosting environments that support our services;
- Public GitHub issues
- Social media platforms
- Public forums or chat rooms
- Blog posts or articles
**(f)** Associated documentation, support systems, and auxiliary platforms.
### 3.3 Required Information
### 1.3. Security Principles
When reporting a vulnerability, please provide:
Our security programme is founded on the following principles:
- A detailed description of the vulnerability
- Steps to reproduce the issue
- Potential impact of the vulnerability
- Any suggested mitigation or fix (if known)
**(a)** **Transparency:** We maintain open communication about our security practices whilst protecting sensitive operational details;
## 4. Response Process
**(b)** **Collaboration:** We work cooperatively with security researchers and the broader community to identify and address vulnerabilities;
### 4.1 Acknowledgment
**(c)** **Continuous Improvement:** We regularly assess and enhance our security measures based on emerging threats and best practices;
We will acknowledge receipt of your vulnerability report within 3 business days.
**(d)** **User Protection:** Our primary focus is protecting the confidentiality, integrity, and availability of user data and systems.
### 4.2 Assessment and Verification
### 1.4. Legal Framework
Our security team will assess the reported vulnerability and may contact you for additional information if needed.
This Policy is designed to operate within the framework of applicable laws and regulations, including but not limited to computer fraud and abuse laws, data protection regulations, and responsible disclosure principles recognised in the security research community.
### 4.3 Resolution Timeline
## 2. VULNERABILITY REPORTING PROCEDURES
We strive to resolve confirmed vulnerabilities within 90 days of the initial report, depending on the complexity and severity of the issue.
### 2.1. Reporting Channels
## 5. Disclosure Policy
If you discover a security vulnerability within any of our systems or applications, please report it exclusively through our designated secure reporting channel:
### 5.1 Coordinated Disclosure
**Security Vulnerability Report Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/wgdbBkS4tjCGoVZTqtmMNx/4
We practice coordinated disclosure. We will work with you to ensure that a fix is available before any public disclosure of the vulnerability.
**Primary Contact:** security@nhcarrigan.com
### 5.2 Public Acknowledgment
**Subject Line Format:** [SECURITY] Brief description of vulnerability
With your permission, we may publicly acknowledge your contribution in discovering and reporting the vulnerability after it has been resolved.
**Alternative Contact:** For urgent matters requiring immediate attention, you may also contact our general support team with clear indication of the security nature of your report.
## 6. Legal Safe Harbor
### 2.2. Public Disclosure Prohibition
### 6.1 Authorization
To protect our users and systems, you must not disclose security vulnerabilities publicly or through any public channels until we have had reasonable opportunity to investigate and address the issue. Prohibited disclosure methods include, but are not limited to:
We authorize security research and vulnerability disclosure activities, provided they are conducted in accordance with this policy and all applicable laws.
**(a)** Public GitHub issues or pull requests;
### 6.2 Scope of Protection
**(b)** Social media platforms (Twitter, LinkedIn, Facebook, etc.);
We will not initiate legal action for accidental, good faith violations of this policy. This safe harbor applies only to activities that:
**(c)** Public forums, discussion boards, or community platforms;
- Comply with all aspects of this Security Policy
- Do not compromise or attempt to compromise the privacy or safety of our users, employees, or systems
- Do not violate any applicable laws
**(d)** Blog posts, articles, or public presentations;
### 6.3 Limitations
**(e)** Security mailing lists or vulnerability databases;
This safe harbor does not apply to:
**(f)** Any other medium accessible to the general public.
- Vulnerabilities or information obtained through means other than security research
- Research conducted on third-party applications or services that integrate with our systems
### 2.3. Required Information for Vulnerability Reports
## 7. Bug Bounty Program
To facilitate effective investigation and resolution, please include the following information in your vulnerability report:
We do not currently offer monetary rewards or "bug bounties" for reporting security vulnerabilities. Your contributions to our security are greatly appreciated, but are on a voluntary basis.
**(a)** **Detailed Description:** A comprehensive explanation of the vulnerability, including the potential security impact and risk level;
We will gladly thank you in our [Hall of Fame](/community/hall-of-fame)
**(b)** **Reproduction Steps:** Clear, step-by-step instructions that allow our team to reproduce the vulnerability consistently;
## 8. Data Protection and Privacy
**(c)** **Technical Details:** Relevant technical information such as affected URLs, parameters, request/response examples, and system configurations;
### 8.1 Handling of Submitted Information
**(d)** **Proof of Concept:** Where appropriate and safe, include demonstration code or screenshots that illustrate the vulnerability without causing harm;
Any information you provide in your vulnerability report will be handled in accordance with our Privacy Policy and applicable data protection laws.
**(e)** **Suggested Remediation:** If known, provide recommendations for addressing the vulnerability or mitigating the risk;
### 8.2 Confidentiality
**(f)** **Discovery Context:** Information about how the vulnerability was discovered and any tools or techniques used.
We will treat all vulnerability reports as confidential and will not share the information beyond what is necessary to address the reported issue.
### 2.4. Information Handling and Confidentiality
## 9. Proactive Measures
All vulnerability reports and related communications will be handled with strict confidentiality in accordance with our privacy policy and applicable data protection laws. We commit to:
In order to maintain the best possible effort to protect your data and the safety of our applications, we implement the following proactive security measures.
**(a)** Limiting access to vulnerability information to authorised personnel only;
### 9.1. Code Scanning
**(b)** Implementing appropriate security measures to protect report details;
Our projects are scanned for potential security risks and vulnerabilities using SonarQube. You can view the latest scan reports [on our dashboard](https://quality.nhcarrigan.link).
**(c)** Not sharing vulnerability information with third parties without explicit consent, except as required by law;
### 9.2. Local Scanning
**(d)** Maintaining detailed records of all communications and actions taken.
We also run a weekly scan on all of our projects using local tooling:
## 3. RESPONSE PROCEDURES AND TIMELINES
- Gitleaks (to detect leaked secrets and credentials)
- Grype (secondary detection for vulnerabilities in dependencies)
- Snyk (in-depth scanning of code and dependencies)
- Syft (to generate Software Bill of Materials for third-party auditors to use)
- Trivy (to detect vulnerabilities in dependencies)
### 3.1. Initial Acknowledgement
The results of these scans are found at https://security.nhcarrigan.com
We will acknowledge receipt of your vulnerability report within the following timeframes:
## 10. Compliance with Laws and Regulations
**(a)** **Standard Reports:** Within three (3) business days of receipt;
All security research and vulnerability disclosure activities must comply with all applicable local, state, and federal laws, as well as any relevant international laws.
**(b)** **High-Priority Reports:** Within twenty-four (24) hours for reports indicating critical vulnerabilities or active exploitation;
## 11. Policy Updates
**(c)** **Complex Reports:** Within five (5) business days for reports requiring initial technical assessment before acknowledgement.
We reserve the right to update or modify this Security Policy at any time. Any changes will be effective immediately upon posting the updated policy on our website or repository.
### 3.2. Assessment and Verification Process
## 12. Contact Information
Following initial acknowledgement, our security team will:
For any questions regarding this Security Policy, please contact us at `security@nhcarrigan.com`.
**(a)** Conduct a thorough technical assessment of the reported vulnerability;
By reporting a security vulnerability to us, you acknowledge that you have read, understood, and agree to this Security Policy.
**(b)** Attempt to reproduce the issue using the provided steps and information;
**(c)** Evaluate the potential impact and risk level of the vulnerability;
**(d)** Determine the scope of affected systems and users;
**(e)** Develop an appropriate response and remediation plan.
### 3.3. Communication and Updates
Throughout the investigation and resolution process, we will:
**(a)** Provide regular status updates on the progress of our investigation;
**(b)** Communicate any additional information required to complete our assessment;
**(c)** Notify you of our preliminary findings and proposed resolution timeline;
**(d)** Keep you informed of any changes to our remediation plans or timelines.
### 3.4. Resolution Timeline
We are committed to resolving confirmed vulnerabilities within the following timeframes:
**(a)** **Critical Vulnerabilities:** Within seven (7) days for issues posing immediate risk to user data or system integrity;
**(b)** **High-Risk Vulnerabilities:** Within thirty (30) days for significant security issues requiring comprehensive remediation;
**(c)** **Medium-Risk Vulnerabilities:** Within sixty (60) days for moderate security concerns;
**(d)** **Low-Risk Vulnerabilities:** Within ninety (90) days for minor security issues;
**(e)** **Complex Vulnerabilities:** Extended timelines may be necessary for issues requiring significant architectural changes or third-party coordination, with regular communication about progress.
## 4. COORDINATED DISCLOSURE POLICY
### 4.1. Coordinated Disclosure Principles
We practice coordinated disclosure to balance transparency with security. This approach ensures that:
**(a)** Vulnerabilities are thoroughly investigated and properly addressed before public disclosure;
**(b)** Users and affected parties have adequate time to apply security updates;
**(c)** The security research community benefits from shared knowledge whilst minimising potential harm.
### 4.2. Disclosure Timeline
Our standard coordinated disclosure timeline follows this process:
**(a)** **Initial Report:** Vulnerability reported through appropriate channels;
**(b)** **Assessment Period:** Investigation and verification (up to 30 days);
**(c)** **Remediation Period:** Development and deployment of fixes (30-90 days depending on complexity);
**(d)** **Public Disclosure:** Joint announcement of vulnerability and resolution (after fix deployment and reasonable notice period). Aggregated and sanitized vulnerability reports are published at: https://security.nhcarrigan.com/report/
### 4.3. Public Acknowledgement
With your explicit consent, we may publicly acknowledge your contribution in discovering and reporting the vulnerability after it has been resolved. Such acknowledgement may include:
**(a)** Recognition in our security advisories or public statements;
**(b)** Listing in our security researchers hall of fame;
**(c)** Social media recognition and appreciation;
**(d)** References in relevant security documentation or case studies.
### 4.4. Researcher Discretion
You retain the right to:
**(a)** Request anonymity in all public communications and acknowledgements;
**(b)** Decline participation in joint disclosure activities;
**(c)** Publish your own disclosure after coordinated resolution, following responsible disclosure principles;
**(d)** Specify your preferred method and format for public acknowledgement.
## 5. LEGAL SAFE HARBOUR PROVISIONS
### 5.1. Authorisation for Security Research
We explicitly authorise security research and vulnerability disclosure activities conducted in accordance with this Policy and applicable laws. This authorisation is intended to encourage responsible security research whilst protecting both researchers and our organisation.
### 5.2. Scope of Safe Harbour Protection
Our safe harbour provisions apply to security research activities that:
**(a)** Comply with all requirements and restrictions outlined in this Policy;
**(b)** Are conducted in good faith for the purpose of improving security;
**(c)** Do not compromise the privacy, safety, or security of our users, employees, or systems;
**(d)** Do not violate applicable laws or regulations;
**(e)** Are conducted without commercial motivation or malicious intent.
### 5.3. Protected Activities
Under this safe harbour, we will not initiate legal action against researchers for activities including:
**(a)** Accessing systems or data necessary to identify and document security vulnerabilities;
**(b)** Circumventing security measures solely for the purpose of vulnerability research;
**(c)** Creating accounts or using services as reasonably necessary for security testing;
**(d)** Downloading or accessing data that is the direct result of a security vulnerability, provided such access is limited to demonstrating the issue.
### 5.4. Limitations and Exclusions
This safe harbour protection does not apply to:
**(a)** Activities that violate applicable laws, regardless of research intent;
**(b)** Research conducted on third-party systems or applications that integrate with our services;
**(c)** Activities that involve social engineering, phishing, or physical security testing;
**(d)** Accessing, modifying, or deleting data belonging to other users;
**(e)** Conducting denial-of-service attacks or similar disruptive activities;
**(f)** Activities conducted after we have requested cessation or identified security policy violations.
### 5.5. Compliance Requirements
To maintain safe harbour protection, researchers must:
**(a)** Report vulnerabilities through designated channels within a reasonable timeframe;
**(b)** Provide sufficient detail to allow us to reproduce and address the vulnerability;
**(c)** Avoid disclosing vulnerabilities publicly before coordinated resolution;
**(d)** Cooperate with our investigation and remediation efforts;
**(e)** Cease testing activities upon request from our security team.
## 6. BUG BOUNTY PROGRAMME
### 6.1. Current Programme Status
At present, we do not operate a formal monetary bug bounty programme. Our security efforts rely on the goodwill and community spirit of security researchers who contribute to improving our security posture on a voluntary basis.
### 6.2. Non-Monetary Recognition
While we do not currently offer financial rewards, we deeply appreciate security researchers' contributions and provide recognition through:
**(a)** **Hall of Fame Recognition:** Public acknowledgement in our security contributors hall of fame;
**(b)** **Community Recognition:** Acknowledgement in our community forums and social media channels;
**(c)** **Professional References:** With your consent, we may serve as a reference for your security research activities;
**(d)** **Networking Opportunities:** Introduction to other security professionals and organisations within our network.
### 6.3. Future Programme Development
We continuously evaluate the possibility of implementing a formal bug bounty programme. Factors influencing this decision include:
**(a)** The volume and quality of vulnerability reports received;
**(b)** Available resources for programme administration and reward distribution;
**(c)** Legal and regulatory considerations in relevant jurisdictions;
**(d)** Alignment with our organisational priorities and community values.
### 6.4. Alternative Contribution Opportunities
Security researchers interested in contributing to our security efforts may also consider:
**(a)** Contributing to our open-source security tools and documentation;
**(b)** Participating in community discussions about security best practices;
**(c)** Helping to educate other community members about security awareness;
**(d)** Collaborating on security-related content and educational materials.
## 7. DATA PROTECTION AND PRIVACY
### 7.1. Handling of Submitted Information
All information provided in vulnerability reports will be processed and protected in accordance with our Privacy Policy and applicable data protection laws. This includes:
**(a)** Implementing appropriate technical and organisational measures to protect report data;
**(b)** Limiting access to vulnerability information to authorised personnel only;
**(c)** Using vulnerability information solely for the purpose of investigation and remediation;
**(d)** Maintaining confidentiality of researcher information and contact details.
### 7.2. Data Retention Policies
We retain vulnerability reports and related communications:
**(a)** **Active Cases:** For the duration of the investigation and remediation process;
**(b)** **Resolved Cases:** For up to three (3) years following resolution for audit and reference purposes;
**(c)** **Legal Requirements:** As required by applicable laws and regulations;
**(d)** **Historical Analysis:** Anonymised trend data may be retained indefinitely for security improvement purposes.
### 7.3. Confidentiality Commitments
We commit to treating all vulnerability reports as confidential information and will not:
**(a)** Share report details with unauthorised third parties;
**(b)** Use vulnerability information for purposes other than remediation and security improvement;
**(c)** Disclose researcher identity or contact information without explicit consent;
**(d)** Publicly discuss specific vulnerability details before coordinated disclosure.
### 7.4. Researcher Privacy Rights
Security researchers maintain standard privacy rights regarding their personal information, including:
**(a)** The right to request access to personal data we hold about them;
**(b)** The right to request correction of inaccurate personal information;
**(c)** The right to request deletion of personal data in certain circumstances;
**(d)** The right to object to or restrict processing of personal data where legally applicable.
## 8. PROACTIVE SECURITY MEASURES
### 8.1. Security Monitoring and Assessment
To maintain the highest possible security standards and protect user data, we implement comprehensive proactive security measures across all our systems and applications.
### 8.2. Automated Security Scanning
Our security programme includes regular automated scanning and assessment using industry-standard tools:
**(a)** **Static Code Analysis:** Regular scanning of source code for potential security vulnerabilities using SonarQube and similar tools;
**(b)** **Dynamic Application Security Testing:** Ongoing testing of running applications to identify runtime vulnerabilities;
**(c)** **Infrastructure Scanning:** Regular assessment of our hosting infrastructure and network security;
**(d)** **Dependency Scanning:** Continuous monitoring of third-party libraries and components for known vulnerabilities.
### 8.3. Security Tool Integration
We utilise a comprehensive suite of security tools integrated into our development and deployment processes:
**(a)** **Gitleaks:** Automated detection of secrets, credentials, and sensitive information in code repositories;
**(b)** **Grype:** Secondary vulnerability scanning for dependencies and container images;
**(c)** **Snyk:** In-depth analysis of code and dependencies for security vulnerabilities and license compliance;
**(d)** **Syft:** Generation of Software Bills of Materials (SBOMs) for third-party security audits;
**(e)** **Trivy:** Comprehensive vulnerability scanning for containers, filesystems, and cloud configurations.
### 8.4. Public Security Reporting
We maintain transparency about our security posture through publicly accessible security reports and dashboards:
**(a)** **Security Vulnerability Reports:** Aggregated and sanitized security vulnerability reports for all our products are published at: https://security.nhcarrigan.com/report/
**(b)** **Quality Dashboard:** Real-time security and quality metrics available;
**(c)** **Security Reports:** Comprehensive security scan results published;
**(d)** **Regular Updates:** Weekly scanning cycles ensure up-to-date security information;
**(e)** **Trend Analysis:** Historical data tracking to identify and address security trends over time.
### 8.5. Security Development Lifecycle
Our development processes incorporate security at every stage:
**(a)** **Secure Coding Standards:** All developers follow established secure coding guidelines and best practices;
**(b)** **Security Code Reviews:** Mandatory security-focused code reviews for all changes and new features;
**(c)** **Automated Testing:** Security tests integrated into continuous integration and deployment pipelines;
**(d)** **Regular Training:** Ongoing security awareness and training for all development team members.
## 9. COMPLIANCE AND REGULATORY CONSIDERATIONS
### 9.1. Legal Compliance Requirements
All security research and vulnerability disclosure activities must comply with applicable laws and regulations, including but not limited to:
**(a)** Computer Fraud and Abuse Act (CFAA) and similar legislation in various jurisdictions;
**(b)** Data protection and privacy laws (GDPR, CCPA, etc.);
**(c)** Export control regulations affecting security tools and techniques;
**(d)** Industry-specific regulations applicable to our services or user base.
### 9.2. International Considerations
Given the global nature of our services and user base, researchers should be aware that:
**(a)** Different jurisdictions may have varying legal frameworks for security research;
**(b)** Cross-border data transfer and access may be subject to additional regulations;
**(c)** Some security research techniques may be legal in one jurisdiction but prohibited in another;
**(d)** Researchers are responsible for ensuring their activities comply with laws in their jurisdiction.
### 9.3. Ethical Guidelines
Beyond legal compliance, we expect all security research to adhere to widely recognised ethical guidelines:
**(a)** **Minimise Harm:** Avoid actions that could compromise user privacy, data integrity, or system availability;
**(b)** **Respect Boundaries:** Cease testing when requested or when encountering systems outside our scope;
**(c)** **Professional Conduct:** Maintain professional standards in all communications and interactions;
**(d)** **Community Benefit:** Focus on activities that benefit the broader security community and user protection.
### 9.4. Reporting Regulatory Concerns
If vulnerability research reveals potential regulatory compliance issues or legal violations:
**(a)** Include such concerns in your initial vulnerability report;
**(b)** We will assess the regulatory implications as part of our investigation;
**(c)** We may need to report certain types of vulnerabilities to relevant regulatory authorities;
**(d)** Researchers will be kept informed of any regulatory reporting requirements that may affect disclosure timelines.
## 10. CONTACT INFORMATION AND SUPPORT
### 10.1. Primary Security Contact
For all security-related matters, including vulnerability reports, questions about this Policy, and general security inquiries:
**Security Vulnerability Report Form** (Preferred for vulnerability reports): https://forms.nhcarrigan.com/o/docs/forms/wgdbBkS4tjCGoVZTqtmMNx/4
**Email:** security@nhcarrigan.com
**Response Time:** We aim to respond to all security inquiries within 7-10 business days
**Emergency Contact:** For critical security issues requiring immediate attention, mark your email with [URGENT] in the subject line
### 10.2. Alternative Contact Methods
If you are unable to use our primary email contact:
**General Support:** contact@nhcarrigan.com (clearly mark security-related messages)
**Discord Community:** https://chat.nhcarrigan.com (for general security discussions only, not vulnerability reports)
**Documentation:** This Policy and related security documentation is maintained at our official documentation site
### 10.3. Response Commitments and Service Levels
We commit to maintaining the following response standards:
**(a)** **Initial Acknowledgement:** All security reports acknowledged within 7-10 business days;
**(b)** **Status Updates:** Regular progress updates provided at least weekly for active investigations;
**(c)** **Technical Clarification:** Response to technical questions within 7-10 business days;
**(d)** **Escalation Path:** Clear escalation procedures for urgent matters or communication issues.
### 10.4. Communication Preferences and Requirements
To ensure effective communication:
**(a)** **Language:** All communications should be in English to ensure proper understanding and response;
**(b)** **Technical Detail:** Provide sufficient technical detail to enable reproduction and assessment;
**(c)** **Contact Information:** Include reliable contact information for follow-up questions;
**(d)** **Time Zone Considerations:** Our primary response times are based on Pacific Standard Time business hours.
### 10.5. Support Resources
Additional resources available to security researchers:
**(a)** **Documentation:** Comprehensive security policy documentation and guidelines;
**(b)** **Community Support:** Access to our community forums for general security discussions;
**(c)** **Educational Resources:** Links to security research best practices and legal guidelines;
**(d)** **Feedback Mechanisms:** Opportunities to provide feedback on our security policies and procedures.
## 11. POLICY UPDATES AND MAINTENANCE
### 11.1. Regular Review and Updates
This Security Policy is reviewed and updated regularly to ensure:
**(a)** **Legal Compliance:** Alignment with current laws and regulations;
**(b)** **Best Practices:** Incorporation of industry best practices and standards;
**(c)** **Community Feedback:** Response to input from security researchers and community members;
**(d)** **Operational Experience:** Refinement based on our experience with vulnerability reports and security incidents.
### 11.2. Change Notification Process
Changes to this Policy will be communicated through:
**(a)** **Direct Notification:** Email notification to researchers who have previously submitted reports;
**(b)** **Public Announcement:** Updates posted on our website and community forums;
**(c)** **Documentation Updates:** Version-controlled updates to our official documentation;
**(d)** **Industry Channels:** Notification through relevant security community channels where appropriate.
### 11.3. Policy Implementation
Policy updates will:
**(a)** Provide reasonable notice periods for significant changes;
**(b)** Maintain backward compatibility for ongoing vulnerability reports;
**(c)** Include transition procedures for any changes affecting active security research.
### 11.4. Feedback and Continuous Improvement
We welcome feedback on this Policy from:
**(a)** Security researchers who have participated in our vulnerability disclosure process;
**(b)** Legal and compliance professionals familiar with relevant regulations;
**(c)** Industry peers and security community members;
**(d)** Internal team members involved in security operations and incident response.
## 12. ACKNOWLEDGEMENTS AND RECOGNITION
### 12.1. Community Appreciation
We extend our sincere gratitude to the global security research community for their valuable contributions to improving the security of our systems and protecting our users. The collaborative approach to security research benefits everyone and represents the best of community-driven innovation.
### 12.2. Commitment to Excellence
This Security Policy represents our ongoing commitment to:
**(a)** **Transparency:** Maintaining open and honest communication about our security practices;
**(b)** **Collaboration:** Working cooperatively with researchers to address security concerns;
**(c)** **Continuous Improvement:** Regularly enhancing our security measures and response procedures;
**(d)** **User Protection:** Prioritising the security and privacy of our users above all other considerations.
### 12.3. Future Development
We are committed to the ongoing development and improvement of our security programme, including:
**(a)** Regular assessment of our security policies and procedures;
**(b)** Investment in security tools and technologies;
**(c)** Training and professional development for our security team;
**(d)** Engagement with the broader security community and industry initiatives.
---
*By reporting a security vulnerability to us, you acknowledge that you have read, understood, and agree to comply with this Security Policy. This Policy is designed to promote responsible security research whilst protecting the interests of our users, our organisation, and the broader community. For questions about this Policy or to report security vulnerabilities, please contact us at security@nhcarrigan.com.*
+495
View File
@@ -0,0 +1,495 @@
---
title: Service Level Agreement and Warranty Disclaimer
---
**DEFINING SERVICE EXPECTATIONS WHILST PROTECTING AGAINST UNFOUNDED WARRANTY CLAIMS**
## 1. INTRODUCTION AND SCOPE
### 1.1. Purpose and Application
This Service Level Agreement and Warranty Disclaimer ("SLA") establishes the terms and conditions governing the availability, performance, and reliability of services provided by NHCarrigan ("we," "us," "our," or "the Company"). This SLA applies to all users of our services, applications, and platforms (collectively, the "Services").
### 1.2. Integration with Other Policies
This SLA operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Acceptable Use Policy, and all applicable legal protections by reference.
### 1.3. Scope of Services Covered
This SLA applies to:
**(a)** All websites and web applications operated by NHCarrigan;
**(b)** Application Programming Interfaces (APIs) and related services;
**(c)** Community platforms and interactive services;
**(d)** Support services and documentation platforms;
**(e)** Any other services explicitly designated as covered by this SLA.
### 1.4. Definitions
For the purposes of this SLA:
**(a)** "Availability" means the percentage of time Services are accessible and functional;
**(b)** "Downtime" means periods when Services are not accessible or functional due to our systems;
**(c)** "Maintenance Window" means scheduled periods for system maintenance or updates;
**(d)** "Service Credit" means any remedial measure provided for SLA violations;
**(e)** "Uptime" means the percentage of time Services are operational and accessible.
## 2. SERVICE AVAILABILITY COMMITMENTS
### 2.1. General Availability Targets
We endeavour to maintain the following availability targets for our Services:
**(a)** **Primary Services**: 99.5% uptime on a monthly basis, excluding scheduled maintenance;
**(b)** **API Services**: 99.0% uptime on a monthly basis, excluding scheduled maintenance;
**(c)** **Community Platforms**: 99.0% uptime on a monthly basis, excluding scheduled maintenance;
**(d)** **Documentation Services**: 98.0% uptime on a monthly basis, excluding scheduled maintenance.
### 2.2. Availability Calculation Methodology
Availability percentages are calculated as follows:
**(a)** **Measurement Period**: Monthly calendar periods from 00:00 UTC on the first day to 23:59 UTC on the last day;
**(b)** **Exclusions**: Scheduled maintenance windows, force majeure events, and user-caused outages;
**(c)** **Monitoring**: Continuous automated monitoring from multiple geographic locations;
**(d)** **Verification**: All calculations subject to verification through our monitoring systems.
### 2.3. Scheduled Maintenance
We reserve the right to perform scheduled maintenance with the following provisions:
**(a)** **Notice Period**: Minimum 24 hours advance notice for non-emergency maintenance;
**(b)** **Maintenance Windows**: Typically scheduled during low-usage periods;
**(c)** **Duration Limits**: Routine maintenance limited to 4 hours per month;
**(d)** **Emergency Maintenance**: May be performed without advance notice when necessary for security or stability.
### 2.4. Service Availability Exclusions
The following circumstances are excluded from availability calculations:
**(a)** **Scheduled Maintenance**: Planned system updates and maintenance activities;
**(b)** **Force Majeure**: Natural disasters, acts of terrorism, government actions, or other events beyond our control;
**(c)** **Third-Party Failures**: Outages caused by internet service providers, cloud platforms, or other external dependencies;
**(d)** **User-Caused Issues**: Problems resulting from user actions, misconfigurations, or violations of our usage policies;
**(e)** **Denial of Service Attacks**: Service disruptions caused by malicious attacks or abuse;
**(f)** **Beta or Experimental Services**: Services explicitly designated as beta, experimental, or pre-release.
## 3. PERFORMANCE STANDARDS
### 3.1. Response Time Targets
We endeavour to maintain the following response time targets:
**(a)** **Web Application Response**: Average page load time under 3 seconds for standard pages;
**(b)** **API Response Time**: Average API response time under 500 milliseconds for standard requests;
**(c)** **Database Query Performance**: Average database response time under 100 milliseconds;
**(d)** **Static Content Delivery**: Average content delivery time under 1 second globally.
### 3.2. Performance Measurement
Performance metrics are measured using:
**(a)** **Automated Monitoring**: Continuous performance monitoring from multiple locations;
**(b)** **Real User Monitoring**: Analysis of actual user experience data;
**(c)** **Synthetic Testing**: Regular automated testing of key user journeys;
**(d)** **Third-Party Verification**: Independent monitoring services where applicable.
### 3.3. Performance Factors
Performance may be affected by:
**(a)** **Geographic Location**: Distance from our servers and content delivery network;
**(b)** **Network Conditions**: Internet connectivity quality and bandwidth;
**(c)** **Device Capabilities**: Processing power and memory of user devices;
**(d)** **Usage Patterns**: High traffic volumes and concurrent user loads;
**(e)** **Content Complexity**: Size and complexity of requested resources.
## 4. WARRANTY DISCLAIMERS
### 4.1. Reference to Comprehensive Warranty Disclaimers
**IMPORTANT: Comprehensive warranty disclaimers, including all general, software, third-party service, and data warranties, are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 4.2. SLA-Specific Disclaimers
In addition to the comprehensive disclaimers in our Liability Policy, we specifically disclaim any warranties regarding:
**(a)** **Specific Availability Levels**: While we endeavour to meet stated availability targets, we do not warrant specific uptime percentages;
**(b)** **Performance Metrics**: Target performance levels are goals, not guaranteed service levels;
**(c)** **Service Continuity**: We do not warrant uninterrupted service or elimination of all outages;
**(d)** **Remedy Completeness**: Service credits and remedies are your sole remedies for service level shortfalls.
## 5. SERVICE LIMITATIONS AND RESTRICTIONS
### 5.1. Usage Limitations
Our Services are subject to the following limitations:
**(a)** **Rate Limits**: API and automated access may be subject to rate limiting;
**(b)** **Resource Limits**: Storage, bandwidth, and processing resources may be limited;
**(c)** **Concurrent User Limits**: Some services may limit concurrent user connections;
**(d)** **Feature Restrictions**: Certain features may be limited or restricted based on usage patterns.
### 5.2. Geographic and Legal Restrictions
Services may be subject to:
**(a)** **Geographic Limitations**: Some services may not be available in all jurisdictions;
**(b)** **Export Control Compliance**: Restrictions based on export control and sanctions laws;
**(c)** **Local Law Compliance**: Limitations required by applicable local laws and regulations;
**(d)** **Content Restrictions**: Geographic restrictions on certain content or features.
### 5.3. Technical Limitations
Users should be aware of the following technical limitations:
**(a)** **Platform Dependencies**: Services may depend on third-party platforms and services;
**(b)** **Browser Compatibility**: Web services may not function identically across all browsers;
**(c)** **Device Limitations**: Mobile applications may have varying functionality across devices;
**(d)** **Network Requirements**: Services may require stable internet connectivity for full functionality.
## 6. SERVICE LEVEL REMEDIES AND CREDITS
### 6.1. Service Level Breach Determination
A Service Level breach occurs when:
**(a)** Monthly availability falls below the stated targets in Section 2.1;
**(b)** The shortfall is verified through our monitoring systems;
**(c)** The user has properly reported the issue through appropriate channels;
**(d)** The breach is not due to excluded circumstances listed in Section 2.4.
### 6.2. Available Remedies
**IMPORTANT: SERVICE CREDITS ARE YOUR SOLE AND EXCLUSIVE REMEDY FOR SERVICE LEVEL BREACHES.**
Available remedies for verified Service Level breaches include:
**(a)** **Service Extension**: Extension of service periods to compensate for downtime;
**(b)** **Service Credits**: Credits applicable to future services (where paid services are involved);
**(c)** **Priority Support**: Enhanced support priority for affected users;
**(d)** **Alternative Solutions**: Reasonable alternative arrangements where technically feasible.
### 6.3. Remedy Limitations
Service Level remedies are subject to the following limitations:
**(a)** **Maximum Credits**: Total credits shall not exceed 100% of monthly service fees (where applicable);
**(b)** **Request Timeline**: Remedy requests must be submitted within 30 days of the alleged breach;
**(c)** **Verification Required**: All remedy requests subject to verification through our monitoring data;
**(d)** **Good Faith Usage**: Remedies available only to users in good standing with all applicable policies.
### 6.4. Remedy Request Process
To request Service Level remedies:
**(a)** **Submission**: Submit requests to support@nhcarrigan.com with "SLA Remedy Request" in the subject line;
**(b)** **Documentation**: Provide detailed information about the service disruption experienced;
**(c)** **Verification**: Allow reasonable time for our team to verify the claim against monitoring data;
**(d)** **Resolution**: We will respond within 7-10 business days with our determination and any applicable remedies.
## 7. FORCE MAJEURE AND EXTERNAL FACTORS
### 7.1. Force Majeure Events
We shall not be liable for service disruptions caused by force majeure events including:
**(a)** **Natural Disasters**: Earthquakes, floods, hurricanes, volcanic eruptions, or other natural catastrophes;
**(b)** **Human Actions**: Wars, terrorism, civil unrest, labour strikes, or government actions;
**(c)** **Infrastructure Failures**: Power grid failures, internet backbone disruptions, or telecommunications outages;
**(d)** **Pandemic Events**: Public health emergencies that affect our operations or service delivery.
### 7.2. Third-Party Dependencies
Our Services rely on various third-party providers, and we cannot guarantee:
**(a)** **Cloud Platform Reliability**: Availability of underlying cloud infrastructure providers;
**(b)** **Internet Service Continuity**: Stability of internet service providers and network infrastructure;
**(c)** **Payment Processor Availability**: Functionality of payment processing services;
**(d)** **Content Delivery Networks**: Performance of content distribution services.
### 7.3. Cyber Security Threats
Service availability may be affected by:
**(a)** **Denial of Service Attacks**: Malicious attempts to disrupt service availability;
**(b)** **Security Incidents**: Necessary service restrictions to address security vulnerabilities;
**(c)** **Malicious Traffic**: Need to block or filter harmful or abusive traffic;
**(d)** **Threat Response**: Implementation of security measures that may affect service performance.
## 8. MONITORING AND REPORTING
### 8.1. Service Monitoring
We maintain comprehensive service monitoring including:
**(a)** **Automated Monitoring**: 24/7 automated monitoring of service availability and performance;
**(b)** **Geographic Distribution**: Monitoring from multiple global locations to assess user experience;
**(c)** **Real-Time Alerts**: Immediate notification systems for service disruptions;
**(d)** **Performance Metrics**: Continuous measurement of response times and system performance.
### 8.2. Status Communication
Service status information is communicated through:
**(a)** **Status Page**: Real-time service status available at designated status page at https://uptime.nhcarrigan.com;
**(b)** **Incident Updates**: Regular updates during service disruptions or maintenance;
**(c)** **Social Media**: Status updates through official social media channels;
**(d)** **Email Notifications**: Direct notifications to users for significant service impacts (where contact information is available).
### 8.3. Transparency Reports
:::tip[Heads Up!]{icon=pen}
The policy or policies in this section are still a work in progress. We have not yet implemented the necessary infrastructure to comply with this section.
We are working very hard to get them in place as soon as possible. If you would like to help, consider [applying to join our team!](https://forms.nhcarrigan.com/o/docs/forms/mCxDu3snk9TzFiDjrT4Vc8/4)
:::
We publish regular transparency reports including:
**(a)** **Monthly Availability Reports**: Summary of availability statistics for each service category;
**(b)** **Performance Summaries**: Analysis of performance trends and improvements;
**(c)** **Incident Reviews**: Post-incident analysis and improvement measures implemented;
**(d)** **Infrastructure Updates**: Information about infrastructure improvements and expansions.
## 9. USER RESPONSIBILITIES AND OBLIGATIONS
### 9.1. Proper Usage Requirements
To ensure optimal service performance, users must:
**(a)** **Comply with Usage Policies**: Adhere to all applicable usage policies and terms of service;
**(b)** **Use Services Appropriately**: Avoid activities that may degrade service performance for other users;
**(c)** **Report Issues Promptly**: Notify us of service issues through appropriate channels;
**(d)** **Maintain Account Security**: Implement appropriate security measures for account access.
### 9.2. System Requirements
Users are responsible for:
**(a)** **Compatible Systems**: Ensuring their systems meet minimum requirements for service access;
**(b)** **Network Connectivity**: Maintaining adequate internet connectivity for service usage;
**(c)** **Software Updates**: Keeping browsers and applications updated for optimal compatibility;
**(d)** **Security Software**: Managing security software that may interfere with service access.
### 9.3. Data Management
Users must:
**(a)** **Backup Important Data**: Maintain independent backups of critical data;
**(b)** **Verify Data Accuracy**: Confirm accuracy of data before relying on it for important decisions;
**(c)** **Understand Data Limitations**: Recognise the limitations of automated data processing;
**(d)** **Report Data Issues**: Promptly report suspected data corruption or inconsistencies.
## 10. LIMITATION OF LIABILITY
### 10.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, maximum liability caps, and all related legal protections are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all liability matters related to service level performance.**
### 10.2. SLA-Specific Liability Clarifications
In addition to the comprehensive protections in our Liability Policy:
**(a)** **Service Credits as Sole Remedy**: Service credits and remedies specified in this SLA are your sole and exclusive remedies for service level breaches;
**(b)** **No Additional Damages**: No additional damages are available beyond the specific remedies outlined in Section 6 of this SLA;
**(c)** **Remedy Limitations**: All SLA remedies are subject to the overall liability limitations in our Liability Policy.
## 11. INDEMNIFICATION
### 11.1. Reference to Comprehensive Indemnification Framework
**IMPORTANT: All indemnification obligations, procedures, scope, and related provisions are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference and governs all indemnification matters related to SLA compliance and service usage.**
## 12. DISPUTE RESOLUTION
### 12.1. Initial Resolution Procedures
Before initiating formal legal proceedings, parties agree to attempt resolution through:
**(a)** **Direct Communication**: Good faith discussions between the parties for at least 30 days;
**(b)** **Technical Review**: Joint technical review of any service-related disputes;
**(c)** **Escalation Process**: Progressive escalation through appropriate management levels;
**(d)** **Documentation**: Maintenance of detailed records of resolution attempts.
### 12.2. Governing Law and Jurisdiction
This SLA shall be governed by:
**(a)** **Applicable Law**: The laws of Washington State, United States, without regard to conflict of law principles;
**(b)** **Jurisdiction**: Exclusive jurisdiction of federal or state courts located in Washington State;
**(c)** **Consent**: You consent to the jurisdiction of such courts and waive any objection to venue;
**(d)** **Enforcement**: This SLA may be enforced in any court of competent jurisdiction.
## 13. MODIFICATIONS AND UPDATES
### 13.1. Right to Modify
We reserve the right to modify this SLA at any time to:
**(a)** **Reflect Service Changes**: Update terms to reflect changes in service offerings or technology;
**(b)** **Legal Compliance**: Ensure compliance with applicable laws and regulations;
**(c)** **Business Requirements**: Adapt to changing business needs and operational requirements;
**(d)** **User Feedback**: Incorporate feedback and lessons learned from service operations.
### 13.2. Modification Notice
Material changes to this SLA will be communicated through:
**(a)** **Website Posting**: Prominent notice on our primary website;
**(b)** **Email Notification**: Direct notification to registered users where contact information is available;
**(c)** **Service Notifications**: In-application notifications where technically feasible;
**(d)** **Advance Notice**: Minimum 30 days advance notice for material changes affecting service levels.
### 13.3. Acceptance of Modifications
**(a)** **Continued Use**: Continued use of Services after modification notice constitutes acceptance;
**(b)** **Opt-Out Right**: You may discontinue service usage if you disagree with modifications;
**(c)** **Implementation**: Modifications become effective as specified in the notice;
**(d)** **Version Control**: Current and historical versions available for reference.
## 14. CONTACT INFORMATION AND SUPPORT
### 14.1. SLA-Related Inquiries
For questions about this SLA or service level issues:
**Email:** sla@nhcarrigan.com
**Subject Line:** SLA Inquiry - [Brief Description]
**Response Time:** Within 7-10 business days for SLA-related inquiries
### 14.2. Service Level Remedy Requests
For Service Level remedy requests:
**Email:** support@nhcarrigan.com
**Subject Line:** SLA Remedy Request - [Service Name]
**Response Time:** Within 7-10 business days for remedy determinations
### 14.3. Technical Support
For general technical support:
**Email:** support@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
**Response Time:** Within 7-10 business days for technical support requests
### 14.4. Legal and Compliance Matters
For legal matters related to this SLA:
**Email:** legal@nhcarrigan.com
**Subject Line:** Legal Matter - SLA
**Response Time:** Within 7-10 business days for legal inquiries
---
*This Service Level Agreement and Warranty Disclaimer defines our service commitments whilst protecting against unfounded warranty claims. By using our Services, you acknowledge understanding of these terms and agree to the limitations and obligations described herein. For questions about service levels or to report issues, please contact us at sla@nhcarrigan.com.*
+495 -17
View File
@@ -2,28 +2,506 @@
title: Data Subprocessors
---
## 1. Subprocessors
**TRANSPARENCY IN DATA PROCESSING RELATIONSHIPS**
The following entities process your data on our behalf. Interacting with our applications is subject to the privacy policies and terms of these entities.
## 1. INTRODUCTION AND OVERVIEW
### 1.1. Primary Subprocessors
### 1.1. Purpose and Scope
These entities directly store, manage, or handle our application data.
This document provides comprehensive information about third-party entities that process personal data on behalf of NHCarrigan ("we," "us," "our," or "the Company"). By using our services, you acknowledge that your data may be processed by these subprocessors in accordance with their respective privacy policies and our contractual agreements.
| Entity | Data Processed |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| DigitalOcean | Any data transmitted over the network to and from our applications. |
| HubSpot | Data submitted to our Contact, Sales Inquiry, Sanction Appeals, Newsletter Sign-up, and Staff Application forms, as well as data transmitted via our embedded chat widgets. |
| MongoDB | Any data provided to our applications when you interact with them. |
| ProtonMail | Any information transmitted to and from our `nhcarrigan.com` email addresses. |
| Stripe | Information provided during the identity and age verification processes necessary to access certain applications and community channels, and payment information for invoices. |
### 1.2. Legal Framework
### 1.2. Secondary Subprocessors
This disclosure is provided in accordance with:
In addition to our primary subprocessors, platforms and services you engage with in order to interface with our applications maintain their own privacy policies, and may store your data pursuant to those policies.
**(a)** Data protection regulations requiring transparency about third-party processing;
Such platforms include, but are not limited to:
**(b)** Our commitment to user privacy and informed consent;
- Codeberg
- Discord
- GitHub
**(c)** Contractual obligations with our users regarding data processing;
**(d)** Industry best practices for data processing transparency.
### 1.3. Data Processing Principles
All subprocessor relationships are governed by:
**(a)** **Purpose Limitation:** Data processing is limited to specified, legitimate purposes;
**(b)** **Data Minimisation:** Only necessary data is shared with subprocessors;
**(c)** **Security Requirements:** All subprocessors must maintain appropriate security measures;
**(d)** **Contractual Protection:** Formal agreements govern all data processing relationships.
### 1.4. User Rights and Protections
Your rights regarding subprocessor data processing include:
**(a)** **Transparency:** Full disclosure of all entities processing your data;
**(b)** **Consent:** Your continued use constitutes consent to the processing described;
**(c)** **Control:** Rights to access, correct, and delete data processed by subprocessors;
**(d)** **Notice:** Advance notification of changes to subprocessor arrangements.
## 2. PRIMARY SUBPROCESSORS
### 2.1. Definition and Role
Primary subprocessors are third-party entities that directly process, store, or manage data on our behalf as part of our core service delivery. These relationships involve direct contractual arrangements and technical integrations.
### 2.2. Primary Subprocessor Details
#### 2.2.1. Anthropic
**Data Processing Role:** Artificial Intelligence and Natural Language Processing
**Types of Data Processed:**
- Messages and commands sent to and from applications utilising AI integration services
- User interactions with AI-powered features
- Content analysis for service improvement and safety
**Processing Purpose:**
- Providing AI-powered responses and functionality
- Natural language understanding and generation
- Content moderation and safety filtering
- Service improvement and optimisation
**Data Transfer Mechanism:** Encrypted API communications
**Retention Period:** As specified in Anthropic's data retention policies
**Security Measures:** Industry-standard encryption and access controls
**Location:** United States
**Privacy Policy:** https://www.anthropic.com/privacy
#### 2.2.2. DigitalOcean
**Data Processing Role:** Infrastructure and Hosting Services
**Types of Data Processed:**
- All data transmitted over networks to and from our applications
- System logs and performance metrics
- Backup data and system configurations
- Network traffic metadata
**Processing Purpose:**
- Providing cloud infrastructure and hosting services
- Ensuring system availability and performance
- Maintaining security and monitoring systems
- Data backup and disaster recovery
**Data Transfer Mechanism:** Encrypted network transmission
**Retention Period:** As required for service provision and legal compliance
**Security Measures:** SOC 2 Type II compliance, encryption, access controls
**Location:** Multiple global data centres (primarily United States and Europe)
**Privacy Policy:** https://www.digitalocean.com/legal/privacy-policy
#### 2.2.3. MongoDB
**Data Processing Role:** Database Management and Storage
**Types of Data Processed:**
- All structured data provided to our applications through user interactions
- User account information and preferences
- Application data and user-generated content
- System configuration and metadata
**Processing Purpose:**
- Providing database hosting and management services
- Ensuring data availability and integrity
- Facilitating data backup and recovery
- Supporting application functionality
**Data Transfer Mechanism:** Encrypted database connections
**Retention Period:** As configured in our data retention policies
**Security Measures:** Encryption at rest and in transit, access controls, audit logging
**Location:** Configurable global regions (primarily United States)
**Privacy Policy:** https://www.mongodb.com/legal/privacy-policy
#### 2.2.4. Stripe
**Data Processing Role:** Payment Processing and Identity Verification
**Types of Data Processed:**
- Payment information including credit card details and billing addresses
- Identity verification information for age and identity confirmation
- Transaction history and payment method data
- Information necessary for regulatory compliance (KYC/AML)
**Processing Purpose:**
- Processing payments and managing billing
- Verifying user identity and age for service access
- Preventing fraud and ensuring regulatory compliance
- Managing subscriptions and recurring payments
**Data Transfer Mechanism:** PCI DSS compliant encrypted transmissions
**Retention Period:** As required by payment regulations and Stripe policies
**Security Measures:** PCI DSS Level 1 compliance, tokenisation, fraud detection
**Location:** Global processing infrastructure with data residency options
**Privacy Policy:** https://stripe.com/privacy
## 3. SECONDARY SUBPROCESSORS
### 3.1. Definition and Role
Secondary subprocessors are platforms and services that users interact with directly to access our services. While we do not have direct contractual control over these entities, user interaction with our services through these platforms may result in data processing by these entities under their own terms and policies.
### 3.2. Platform Integration Notice
When you access our services through third-party platforms, your interactions are subject to both our privacy policy and the privacy policies of these platforms. We recommend reviewing the privacy policies of all platforms you use to access our services.
### 3.3. Secondary Subprocessor Platforms
#### 3.3.1. Discord
**Relationship Type:** Community Platform Integration
**Data Processing Context:**
- User interactions in Discord servers managed by or affiliated with NHCarrigan
- Bot services and integrations provided through Discord
- Community management and moderation activities
**User Responsibility:** Review Discord's Privacy Policy and Terms of Service
**Privacy Policy:** https://discord.com/privacy
#### 3.3.2. GitHub
**Relationship Type:** Development Platform and Code Repository
**Data Processing Context:**
- Contributions to open-source projects
- Issue reporting and feature requests
- Code repository access and version control
- Development collaboration activities
**User Responsibility:** Review GitHub's Privacy Statement and Terms of Service
**Privacy Policy:** https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement
#### 3.3.3. PayPal
**Relationship Type:** Alternative Payment Processing
**Data Processing Context:**
- Payment processing for services and donations
- Transaction history and payment verification
- Dispute resolution and customer service
**User Responsibility:** Review PayPal's Privacy Statement and User Agreement
**Privacy Policy:** https://www.paypal.com/us/legalhub/privacy-full
#### 3.3.4. Twitch
**Relationship Type:** Live Streaming Platform Integration
**Data Processing Context:**
- Live streaming services and chat interactions
- Channel management and viewer analytics
- Content delivery and broadcasting services
**User Responsibility:** Review Twitch's Privacy Notice and Terms of Service
**Privacy Policy:** https://www.twitch.tv/p/legal/privacy-notice
## 4. SUBPROCESSOR MANAGEMENT AND GOVERNANCE
### 4.1. Due Diligence Process
Before engaging any primary subprocessor, we conduct comprehensive due diligence including:
**(a)** **Security Assessment:** Evaluation of data security measures and certifications;
**(b)** **Privacy Review:** Analysis of privacy policies and data processing practices;
**(c)** **Compliance Verification:** Confirmation of regulatory compliance and certifications;
**(d)** **Contract Negotiation:** Establishment of data processing agreements with appropriate protections.
### 4.2. Ongoing Monitoring
We maintain ongoing oversight of subprocessor relationships through:
**(a)** **Regular Audits:** Periodic review of subprocessor security and privacy practices;
**(b)** **Performance Monitoring:** Assessment of service quality and compliance;
**(c)** **Incident Management:** Coordination on security incidents and data breaches;
**(d)** **Contract Management:** Regular review and update of contractual terms.
### 4.3. Data Processing Agreements
All primary subprocessors are bound by data processing agreements that include:
**(a)** **Purpose Limitation:** Specific restrictions on data use and processing purposes;
**(b)** **Security Requirements:** Mandatory security controls and incident response procedures;
**(c)** **Confidentiality:** Strict confidentiality and non-disclosure obligations;
**(d)** **Audit Rights:** Our right to audit subprocessor data processing practices.
### 4.4. Subprocessor Change Management
Changes to subprocessor arrangements are managed through:
**(a)** **Impact Assessment:** Evaluation of privacy and security implications;
**(b)** **User Notification:** Advance notice to users of significant changes;
**(c)** **Transition Planning:** Careful planning to minimise service disruption;
**(d)** **Documentation Updates:** Timely updates to this disclosure document.
## 5. DATA TRANSFER AND SECURITY
### 5.1. International Data Transfers
When data is transferred internationally to subprocessors, we ensure appropriate safeguards through:
**(a)** **Adequacy Decisions:** Reliance on jurisdictions with adequate data protection laws;
**(b)** **Standard Contractual Clauses:** Implementation of EU Standard Contractual Clauses where applicable;
**(c)** **Certification Schemes:** Use of subprocessors with recognised privacy certifications;
**(d)** **Binding Corporate Rules:** Acceptance of subprocessors with approved internal data transfer rules.
### 5.2. Security Requirements
All primary subprocessors must maintain security measures including:
**(a)** **Encryption:** Data encryption both in transit and at rest;
**(b)** **Access Controls:** Role-based access controls and multi-factor authentication;
**(c)** **Monitoring:** Continuous monitoring for security threats and incidents;
**(d)** **Incident Response:** Established procedures for responding to security incidents.
### 5.3. Compliance and Certifications
We prefer subprocessors with recognised compliance certifications such as:
**(a)** **SOC 2 Type II:** System and Organisation Controls for service organisations;
**(b)** **ISO 27001:** International standard for information security management;
**(c)** **PCI DSS:** Payment Card Industry Data Security Standard (for payment processors);
**(d)** **GDPR Compliance:** Demonstrated compliance with General Data Protection Regulation.
### 5.4. Data Breach Response
In the event of a data breach involving a subprocessor:
**(a)** **Immediate Notification:** Subprocessors must notify us within 24 hours;
**(b)** **Impact Assessment:** Joint assessment of the scope and impact of the breach;
**(c)** **User Notification:** Prompt notification to affected users where required;
**(d)** **Remediation:** Collaborative efforts to contain and remedy the breach.
## 6. USER RIGHTS AND CONTROL
### 6.1. Transparency Rights
Users have the right to:
**(a)** **Information:** Full transparency about subprocessor data processing activities;
**(b)** **Updates:** Regular updates about changes to subprocessor arrangements;
**(c)** **Access:** Information about how to exercise rights with each subprocessor;
**(d)** **Contact:** Direct communication channels for subprocessor-related concerns.
### 6.2. Data Subject Rights
Regarding data processed by subprocessors, users may:
**(a)** **Request Access:** Obtain information about data processing activities;
**(b)** **Seek Rectification:** Request correction of inaccurate data;
**(c)** **Demand Erasure:** Request deletion of personal data in certain circumstances;
**(d)** **Restrict Processing:** Limit how data is processed by subprocessors.
### 6.3. Exercise of Rights
To exercise rights regarding subprocessor data processing:
**(a)** **Primary Contact:** Submit requests through our **Privacy Request Form** (Preferred): https://forms.nhcarrigan.com/o/docs/forms/qEJgBWGDfyHv6x51VU9aVX/4 or contact us at privacy@nhcarrigan.com for coordination;
**(b)** **Direct Contact:** Contact subprocessors directly using their provided channels;
**(c)** **Documentation:** Provide sufficient information to verify identity and specify requests;
**(d)** **Response Time:** Allow reasonable time for investigation and response.
### 6.4. Complaint Mechanisms
If you have concerns about subprocessor data processing:
**(a)** **Internal Escalation:** Raise concerns through our customer support channels;
**(b)** **Supervisory Authorities:** Contact relevant data protection authorities;
**(c)** **Legal Remedies:** Pursue legal remedies available in your jurisdiction;
**(d)** **Alternative Resolution:** Participate in mediation or arbitration where available.
## 7. UPDATES AND CHANGES
### 7.1. Change Notification Process
We will notify users of changes to subprocessor arrangements through:
**(a)** **Email Notification:** Direct notification to registered users for significant changes;
**(b)** **Website Updates:** Updates to this document with change logs;
**(c)** **Service Notifications:** In-app notifications where technically feasible;
**(d)** **Community Announcements:** Public announcements in community forums.
### 7.2. Types of Changes Requiring Notification
Changes requiring advance notification include:
**(a)** **New Subprocessors:** Addition of new primary subprocessors;
**(b)** **Changed Processing:** Significant changes to data processing purposes or methods;
**(c)** **Location Changes:** Changes to data processing locations or jurisdictions;
**(d)** **Security Changes:** Material changes to security measures or protections.
### 7.3. Objection Rights
If you object to changes in subprocessor arrangements:
**(a)** **Notification Period:** We typically provide 30 days' notice of significant changes;
**(b)** **Objection Process:** You may object within the notification period;
**(c)** **Alternative Arrangements:** We will consider reasonable alternative arrangements where possible;
**(d)** **Service Termination:** You may terminate services if objections cannot be accommodated.
### 7.4. Emergency Changes
In emergency situations requiring immediate subprocessor changes:
**(a)** **Immediate Implementation:** Changes may be implemented without prior notice;
**(b)** **Prompt Notification:** Users will be notified as soon as reasonably possible;
**(c)** **Explanation:** Full explanation of the circumstances requiring emergency changes;
**(d)** **Remediation Options:** Information about available remediation options.
## 8. CONTACT INFORMATION AND SUPPORT
### 8.1. Primary Contact
For questions about subprocessor data processing:
**Email:** privacy@nhcarrigan.com
**Subject Line:** Subprocessor Data Processing Inquiry
**Response Time:** Within 7-10 business days for standard inquiries
### 8.2. Rights Requests
For exercising data subject rights regarding subprocessor processing:
**Email:** privacy@nhcarrigan.com
**Subject Line:** Data Subject Rights - Subprocessor
**Required Information:** Please include your full name, account information, and specific request details
### 8.3. Complaints and Concerns
For complaints about subprocessor data processing:
**Email:** privacy@nhcarrigan.com
**Subject Line:** Subprocessor Complaint
**Alternative:** Contact relevant supervisory authorities in your jurisdiction
### 8.4. Technical Support
For technical issues related to third-party platform integrations:
**Email:** support@nhcarrigan.com
**Discord Community:** https://chat.nhcarrigan.com
**Response Time:** Within 7-10 business days for technical support requests
## 9. COMPLIANCE AND REGULATORY INFORMATION
### 9.1. Regulatory Framework
This subprocessor disclosure is maintained in compliance with:
**(a)** **General Data Protection Regulation (GDPR):** EU data protection requirements;
**(b)** **California Consumer Privacy Act (CCPA):** California privacy law requirements;
**(c)** **Other Applicable Laws:** Additional data protection laws in relevant jurisdictions;
**(d)** **Industry Standards:** Best practices for data processing transparency.
### 9.2. Regular Review
This document is reviewed and updated:
**(a)** **Quarterly:** Regular quarterly review for accuracy and completeness;
**(b)** **Change-Triggered:** Updates following any changes to subprocessor arrangements;
**(c)** **Annual Audit:** Comprehensive annual audit of all subprocessor relationships;
**(d)** **Regulatory Updates:** Updates following changes in applicable laws or regulations.
### 9.3. Documentation Standards
We maintain documentation standards including:
**(a)** **Version Control:** Clear versioning and change tracking for all updates;
**(b)** **Audit Trail:** Complete records of all changes and their justifications;
**(c)** **Legal Review:** Review by qualified legal counsel before publication;
**(d)** **Stakeholder Input:** Consideration of feedback from users and privacy advocates.
---
*This document provides transparency about our data processing relationships to help you make informed decisions about using our services. By using our services, you acknowledge understanding of these subprocessor arrangements and consent to the data processing described herein. For questions or concerns about subprocessor data processing, please contact us at privacy@nhcarrigan.com.*
File diff suppressed because it is too large Load Diff
+175
View File
@@ -0,0 +1,175 @@
---
title: 00. Frequently Asked Questions
---
**PROVIDING ANSWERS TO FREQUENTLY ASKED QUESTIONS REGARDING THE MENTORSHIP PROGRAMME**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Frequently Asked Questions Documentation (hereinafter referred to as "the FAQ") provides answers to common questions regarding our Mentorship Programme. This FAQ operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Purpose and Scope
This FAQ addresses common questions and concerns regarding programme participation, expectations, and procedures. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
**IMPORTANT: This FAQ supplements but does not replace our comprehensive Mentorship Programme Terms and Conditions. All programme participants are required to familiarise themselves with and comply with all applicable policies.**
## 2. PROGRAMME COST AND FINANCIAL MATTERS
### 2.1. Programme Fees
**Question: Does the mentorship programme cost anything?**
**Answer:** No. Our Mentorship Programme is offered entirely free of charge. We do not collect tuition fees, academic fees, or any other programme-related charges.
**Additional Costs:**
- Participants may incur costs for third-party services such as hosting for application deployment
- All such costs are paid directly to third-party service providers
- Our organisation does not collect, process, or receive any payments related to these third-party services
**Voluntary Donations:**
- We welcome voluntary donations to support programme operations
- Donations are entirely optional and do not affect programme participation or outcomes
- For comprehensive information about donation options and policies, please refer to our [Donation and Support Policy](/about/donate)
## 3. PROGRAMME STRUCTURE AND SUPPORT
### 3.1. Self-Guided Programme Structure
**Question: How does the mentorship programme work?**
**Answer:** Our Mentorship Programme is designed to be self-guided and self-managed. The programme structure includes:
- **Self-Guided Documentation:** Comprehensive guides and templates for each stage of development
- **Resource Library:** Templates, examples, and checklists to support independent learning
- **On-Demand Support:** Programme leadership and community members available to answer questions when asked
- **Flexible Timeline:** Work at your own pace with no mandatory deadlines or review requirements
**Programme Philosophy:**
- Participants follow documentation and use provided resources independently
- Reviews and approvals are optional and available upon request
- Support is provided when participants ask for help, not through mandatory checkpoints
- **IMPORTANT: To get the most value from the programme experience, participants should actively ask mentors questions as much as possible. Mentors are available to help, but they rely on participants to initiate contact and ask for assistance when needed.**
- Community and peer support is encouraged throughout the programme
### 3.2. Response Time Expectations
**Question: How quickly will I get responses to my questions?**
**Answer:** The programme is designed to be self-guided, so you can progress independently without waiting for responses. However, when you do have questions:
- The Mentorship Programme is provided on a voluntary basis without compensation
- Programme leadership maintains multiple paid employment positions to cover personal expenses
- Response times may vary based on workload, availability, and other commitments
- Community members and alumni may also provide assistance
**Response Time Guidelines:**
- Most programme activities can be completed independently using provided documentation
- If you have questions, feel free to ask in the #mentee-chat channel
- If you have not received a response within 10 business days, you may send a gentle reminder
- Repeated communications at intervals of less than 10 business days may result in disciplinary action
- We appreciate your patience and understanding regarding response timelines
## 4. PROGRAMME WITHDRAWAL AND DISCONTINUATION
### 4.1. Voluntary Withdrawal
**Question: What if I change my mind?**
**Answer:** Participants may withdraw from the Mentorship Programme at any time without penalty or obligation.
**Withdrawal Procedures:**
- Participants must notify programme leadership of their intent to withdraw
- We request that participants provide a brief explanation for withdrawal to assist with programme improvement
- No fees, fines, or penalties apply to voluntary withdrawal
- Programme leadership will not pressure participants to remain in the programme
### 4.2. Temporary Breaks and Life Circumstances
**Question: I do not want to drop out, but I have a life situation going on...**
**Answer:** Temporary breaks from programme activities are acceptable and accommodated.
**Break Procedures:**
- Participants may request temporary breaks to address personal circumstances
- No activity requirements are enforced during approved breaks
- Participants must notify programme leadership of break requests to avoid unnecessary communications
- Programme leadership will respect break periods and adjust communications accordingly
## 5. PROGRAMME EXPULSION AND TERMINATION
### 5.1. Expulsion Circumstances
**Question: Will you kick us out at all?**
**Answer:** Programme participation may be terminated under specific circumstances as outlined in our Mentorship Programme Terms and Conditions.
**Grounds for Expulsion:**
**5.1.1 Inactivity and Non-Communication:**
- Failure to communicate for a period of two (2) weeks or more without prior notification
- Complete absence of response to programme communications
- Failure to notify programme leadership of breaks or absences
- Expulsion may occur to make programme capacity available for committed participants
**5.1.2 Code of Conduct Violations:**
- Violation of our [Community Code of Conduct](/community/coc)
- Failure to comply with community rules and standards
- Behaviour that compromises the safety and inclusivity of our learning environment
- Expulsion is necessary to maintain programme integrity and community safety
**5.1.3 Malicious Behaviour:**
- Intentional introduction of malware, viruses, or malicious code to programme repositories
- Development of projects designed to actively harm individuals or groups
- Any behaviour that poses security risks or legal liability
- Expulsion is necessary to protect programme participants and our organisation
### 5.2. Expulsion Procedures
All expulsion decisions are made in accordance with our Mentorship Programme Terms and Conditions and Community Code of Conduct. Participants subject to expulsion will receive appropriate notice and may access our appeals process as outlined in our [Appeals Process](/community/appeal).
## 6. ADDITIONAL QUESTIONS AND SUPPORT
### 6.1. Unanswered Questions
**Question: What if I have a question not covered here?**
**Answer:** For questions not addressed in this FAQ:
- Review the comprehensive mentorship documentation (01-10) for detailed guidance on each programme stage
- Check the resource library for templates, examples, and additional materials
- Contact programme leadership through the designated #mentee-chat channel in our Discord community
- Ask community members and alumni for peer support and guidance
- Programme leadership is available to answer questions when asked, but most activities can be completed independently
- Additional information is available in our comprehensive [Mentorship Programme Terms and Conditions](/about/mentorship)
## 7. LIMITATION OF LIABILITY AND DISCLAIMERS
### 7.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 7.2. Programme Disclaimer
This FAQ provides general information about our Mentorship Programme. However:
- Programme terms, conditions, and procedures may be modified at any time
- This FAQ does not create contractual obligations beyond those set forth in our formal programme terms
- Programme leadership reserves the right to make decisions regarding programme participation based on individual circumstances
## 8. CONCLUSION
This FAQ addresses common questions regarding our Mentorship Programme. For comprehensive programme terms, conditions, and requirements, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
All programme participants are expected to familiarise themselves with and comply with all applicable policies and procedures. Questions about programme participation should be directed to programme leadership through designated communication channels.
---
*For questions about the Mentorship Programme or to suggest improvements, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,139 @@
---
title: 01. Onboarding
---
**ESTABLISHING ONBOARDING PROCEDURES AND REQUIREMENTS FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Onboarding Documentation (hereinafter referred to as "the Documentation") establishes mandatory procedures and requirements for participants accepted into our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all individuals who have been accepted into our Mentorship Programme. All participants must complete the onboarding procedures set forth in this Documentation to gain full programme access.
**IMPORTANT: This is a self-guided programme. Once you complete onboarding, you can work through the programme documentation at your own pace. Reviews and approvals are optional and available upon request. For comprehensive information about the self-guided programme structure and how to get the most value from your mentorship experience, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).**
## 2. APPLICATION ACCEPTANCE AND CONFIRMATION
### 2.1. Acceptance Notification
Upon review and acceptance of your application, you will receive an email confirmation of your acceptance into the Mentorship Programme.
### 2.2. Required Response
**Mandatory Requirement:** You MUST reply to the acceptance confirmation email with your GitHub username.
**Consequences of Non-Compliance:**
- Failure to respond with your GitHub username will prevent completion of onboarding procedures
- Programme access cannot be granted without GitHub account information
- Programme acceptance may be withdrawn if required information is not provided within reasonable timeframes
## 3. DISCORD COMMUNITY ACCESS
### 3.1. Discord Community Requirement
All programme participants must join our [Discord community](https://chat.nhcarrigan.com/) to access programme resources, communications, and support.
### 3.2. Discord Community Purpose
The Discord community serves as the primary platform for:
- Programme planning and coordination
- Coaching sessions and mentorship activities
- Participant communication and collaboration
- Resource sharing and programme announcements
### 3.3. Role Assignment Procedures
**Self-Selectable Role Process:**
1. Join the Discord community using the provided invitation link
2. Navigate to the Channels and Roles section
3. Select the mentorship role from the available self-selectable roles
4. The mentorship role will be automatically assigned and provides access to programme-specific channels and resources
## 4. GITHUB REPOSITORY ACCESS
### 4.1. Repository Purpose and Restrictions
**Repository Usage Limitations:**
**IMPORTANT: The repository provided to programme participants is designated EXCLUSIVELY for flagship project development. The following restrictions apply:**
- **Prohibited Content:** Participants must NOT commit practice projects, LeetCode solutions, or any code unrelated to the flagship project
- **Resume Portfolio:** This repository will be listed on resumes for job applications
- **Quality Standards:** Only high-quality, professional code appropriate for portfolio presentation should be committed
- **Violation Consequences:** Violation of repository usage restrictions may result in disciplinary action, including potential programme expulsion
### 4.2. Repository Invitation and Acceptance
**Invitation Process:**
- Programme participants will receive an invitation to a dedicated repository under our organisation
- The repository is designated for flagship project code storage and development
- Participants must accept the repository invitation within seven (7) days of receipt
- Invitations that are not accepted within seven (7) days will expire and may require re-invitation
### 4.3. Repository Access and Permissions
**Access Level:**
- Participants receive maintainer-level access to their designated repository
- Maintainer access permits configuration of repository settings, including:
- Workflow configurations
- Branch protection rules
- Repository settings and preferences
**Access Restrictions:**
- Participants do not have access to destructive repository settings
- Certain administrative functions remain restricted to organisation administrators
- Access levels are designed to balance participant autonomy with organisational security
## 5. ONBOARDING COMPLETION
### 5.1. Completion Requirements
Onboarding is considered complete when:
- Acceptance confirmation email has been responded to with GitHub username
- Discord community membership has been established
- Mentorship role has been assigned in Discord
- GitHub repository invitation has been accepted
- All required information has been provided to programme leadership
### 5.2. Programme Access
Upon completion of onboarding procedures, participants gain full access to:
- Programme-specific Discord channels
- GitHub repository for flagship project development
- Programme resources and documentation (self-guided guides 01-10)
- Resource library with templates, examples, and checklists
- On-demand support from programme leadership and community members
## 6. LIMITATION OF LIABILITY AND DISCLAIMERS
### 6.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 6.2. Onboarding Disclaimer
This Documentation establishes mandatory onboarding procedures. However:
- Programme leadership reserves the right to modify onboarding procedures at any time
- Once onboarding is complete, the programme is self-guided and participants work at their own pace
- Reviews and approvals are optional and available upon request
- Programme leadership is not responsible for technical issues preventing onboarding completion beyond our reasonable control
## 7. CONCLUSION
This Onboarding Documentation establishes the procedures and requirements for participants accepted into our Mentorship Programme. All participants must complete these procedures to gain full programme access.
Questions about onboarding procedures should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about onboarding procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,160 @@
---
title: 02. Goal Setting
---
**ESTABLISHING GOAL-SETTING PROCEDURES AND REQUIREMENTS FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Goal-Setting Documentation (hereinafter referred to as "the Documentation") establishes mandatory procedures and requirements for goal-setting activities within our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all participants in our Mentorship Programme following completion of onboarding procedures. All participants should complete the goal-setting process set forth in this Documentation to proceed with programme activities.
**IMPORTANT: This is a self-guided process. You will create your own roadmap using provided templates and examples. No approval is required to proceed. For comprehensive information about the self-guided programme structure and how to get the most value from your mentorship experience, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).**
## 2. GOAL-SETTING INITIATION
### 2.1. Timing and Prerequisites
Goal-setting procedures must be initiated following completion of onboarding procedures as outlined in our [Onboarding Documentation](/mentorship/01-onboarding).
### 2.2. Goal-Setting Forum Post Creation
**Required Action:** Create a thread in the #goal-setting forum channel on our Discord community.
**Thread Naming Convention:**
```markdown
<full name> - Goals
```
**Naming Requirements:**
- Use your full legal name or preferred full name
- Follow the exact format: "[Full Name] - Goals"
- Ensure consistency with other programme documentation
```markdown
<full name> - Goals
```
### 2.3. Required Information Disclosure
**Mandatory Information:** Your initial goal-setting post must include the following information:
**2.3.1 Career Objectives:**
- Specify the type of role you are pursuing for your career
- Examples include: full-stack developer, front-end developer, mobile developer, game developer
- Provide clarity regarding your professional aspirations and career direction
**2.3.2 Current Learning State:**
- Document your current technical knowledge and skills
- List programming languages, frameworks, and technologies with which you have experience
- Describe projects you have previously built or contributed to
- Provide an honest assessment of your current skill level
**2.3.3 Personal Interests:**
- Describe your interests, hobbies, and passions outside of coding
- This information assists in aligning programme activities with your personal motivations
- Helps programme leadership tailor mentorship approaches to your individual needs
### 2.4. Optional Feedback and Clarification
If you would like feedback on your goal-setting post or have questions about creating your roadmap, you can:
- Ask questions in the #mentee-chat channel in Discord
- Request feedback from programme leadership or community members
- Review roadmap templates and examples in the resource library
- Proceed independently if you feel confident in your goals and plan
## 3. ROADMAP DEVELOPMENT
### 3.1. Self-Guided Roadmap Creation
To finalise the goal-setting process, you will create your own learning roadmap using provided templates and examples.
**Roadmap Templates Available:**
- Template roadmaps are available for common career paths (front-end, back-end, full-stack, mobile, game development, etc.)
- Templates include suggested learning objectives, milestones, and skill development activities
- Templates can be customized to fit your individual circumstances and goals
**Roadmap Components:**
Your roadmap should outline:
- Learning objectives and milestones
- Flagship project development timeline (flexible, no deadlines required)
- Skill development activities and resources
- Programme progression expectations
### 3.2. Roadmap Customization
**Self-Assessment:**
- Review available roadmap templates and select one that aligns with your career goals
- Assess whether the template appears achievable given your circumstances
- Evaluate whether the template aligns with your programme goals
- Customize the template to incorporate your stated interests and preferences
**Customization Considerations:**
- Timeline feasibility given your availability and commitments
- Alignment with your career objectives and learning goals
- Incorporation of your interests and motivations
- Realistic assessment of your current skill level and learning capacity
### 3.3. Roadmap Flexibility
**Flexibility Principle:**
- Roadmaps are designed to provide structure and guidance, not rigid constraints
- You can modify your roadmap at any time to accommodate changes in:
- Your circumstances and availability
- Timeline requirements and constraints
- Learning progress and skill development
- Project scope and complexity adjustments
**Adaptation Process:**
- Update your roadmap as circumstances change
- No approval is required for roadmap modifications
- You work at your own pace with no mandatory deadlines
### 3.4. Roadmap Completion
**No Confirmation Required:**
- You do not need approval or confirmation to proceed
- Once you have created your roadmap, you are ready to proceed to project planning
- Your roadmap is a personal planning tool to guide your learning journey
**Next Steps:**
- Upon creating your roadmap, you are ready to proceed to project planning
- Project planning procedures are outlined in our [Project Planning Documentation](/mentorship/03-project-plan)
- Optional: You may share your roadmap in Discord if you'd like feedback, but this is not required
## 4. LIMITATION OF LIABILITY AND DISCLAIMERS
### 4.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 4.2. Goal-Setting Disclaimer
This Documentation establishes goal-setting procedures and requirements. However:
- Programme leadership reserves the right to modify goal-setting procedures at any time
- Roadmap templates are provided as guidance and do not guarantee specific outcomes or achievements
- Participants create their own roadmaps and are responsible for their own learning progress
- Programme leadership is not responsible for participants' ability to achieve roadmap objectives
- Individual results may vary based on participant effort, circumstances, and other factors
- Reviews and approvals are optional and available upon request
## 5. CONCLUSION
This Goal-Setting Documentation establishes the procedures and requirements for goal-setting activities within our Mentorship Programme. All participants must complete these procedures to progress to project planning and development stages.
Questions about goal-setting procedures should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about goal-setting procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,134 @@
---
title: 03. Project Planning
---
**ESTABLISHING PROJECT PLANNING PROCEDURES AND REQUIREMENTS FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Project Planning Documentation (hereinafter referred to as "the Documentation") establishes mandatory procedures and requirements for flagship project planning within our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all participants in our Mentorship Programme following completion of goal-setting procedures. All participants should complete the project planning process set forth in this Documentation to proceed with flagship project development.
**IMPORTANT: This is a self-guided process. You will create your own project plan using provided examples and templates. No approval is required to proceed. For comprehensive information about the self-guided programme structure and how to get the most value from your mentorship experience, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).**
## 2. PROJECT PLANNING INITIATION
### 2.1. Timing and Prerequisites
Project planning procedures must be initiated following completion of goal-setting procedures and roadmap confirmation as outlined in our [Goal-Setting Documentation](/mentorship/02-goal-setting).
### 2.2. Project Planning Forum Post Creation
**Required Action:** Create a post in the #project-plan forum channel on our Discord community.
**Post Naming Convention:**
```markdown
<full name> - Project Plan
```
**Naming Requirements:**
- Use your full legal name or preferred full name
- Follow the exact format: "[Full Name] - Project Plan"
- Ensure consistency with goal-setting documentation
```markdown
<full name> - Project Plan
```
### 2.3. Project Idea Documentation
**Required Information:**
- Provide as much detail as possible regarding your flagship project idea
- Include project objectives, features, and technical requirements
- Describe how the project aligns with your career goals and learning objectives
- Explain how the project incorporates your personal interests
**Project Idea Assistance:**
- If you do not yet have a project idea, create your post with a statement such as: "I need help brainstorming a project idea"
- Review project idea examples in the resource library for inspiration
- Ask for help in the #mentee-chat channel if you'd like community input
- Programme leadership and community members can provide feedback if requested
- You can also proceed independently by researching project ideas online or adapting examples
## 3. PROJECT PLAN DEVELOPMENT
### 3.1. Self-Guided Development Process
Once your project planning post is created, you will develop your project plan independently. Use the following guidance:
- Review project plan examples in the resource library
- Flesh out and refine your project concept
- Develop comprehensive project specifications
- Establish technical requirements and architecture considerations
- Create a detailed project plan ready for development work
**Optional Support:**
- If you need help brainstorming or refining your project idea, ask in the #mentee-chat channel
- Community members and programme leadership can provide feedback if requested
- You can proceed independently once you have a project concept you're happy with
### 3.2. Project Plan Example
The following example illustrates the level of detail expected in a comprehensive project plan:
```markdown
A life task tracker app thats open source and self-hosted as well as a live version hosted on my website with user auth and such. Could have kanban boards and different views and such, and have tasks that depend on other tasks just like on a github projects board.
Could also link rewards to tasks / projects. e.g. Car Maintenance project with sub tasks of cleaning car, changing oil, buying car charger for cig lighter port etc, and then could link to an item that you will buy for yourself as a reward for when the entire project is complete, and itll have a link to that item when you mark the project as complete
At the end I could sneak some gamification elements in as an opt-in thing where you can level up and such by completing tasks / projects/ completing life goals).
```
Additional project plan examples are available in the resource library.
### 3.3. Project Plan Completion
**No Approval Required:**
- You do not need approval or sign-off to proceed
- Once you have created your project plan, you are ready to proceed to user story development
- Your project plan is a living document that you can update as needed
**Next Steps:**
- Upon creating your project plan, you are ready to proceed to user story development
- User story development procedures are outlined in our [User Stories Documentation](/mentorship/04-user-stories)
- Optional: You may share your project plan in Discord if you'd like feedback, but this is not required
## 4. LIMITATION OF LIABILITY AND DISCLAIMERS
### 4.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 4.2. Project Planning Disclaimer
This Documentation establishes project planning procedures and requirements. However:
- Programme leadership reserves the right to modify project planning procedures at any time
- Project plans are created by participants and serve as guidance, not guarantees
- Programme leadership is not responsible for participants' ability to complete projects as planned
- Individual results may vary based on participant effort, circumstances, and other factors
- Reviews and approvals are optional and available upon request
### 4.3. Intellectual Property Considerations
All project work completed as part of the Mentorship Programme is subject to our Mentorship Programme Terms and Conditions regarding intellectual property rights. Participants should familiarise themselves with these terms before beginning project development.
## 5. CONCLUSION
This Project Planning Documentation establishes the procedures and requirements for flagship project planning within our Mentorship Programme. All participants must complete these procedures to progress to project development stages.
Questions about project planning procedures should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about project planning procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,137 @@
---
title: 04. User Stories
---
**ESTABLISHING USER STORY DEVELOPMENT PROCEDURES AND REQUIREMENTS FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This User Stories Documentation (hereinafter referred to as "the Documentation") establishes mandatory procedures and requirements for user story development within our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all participants in our Mentorship Programme following completion of project planning procedures. All participants should complete the user story development process set forth in this Documentation to proceed with technical breakdown and development stages.
**IMPORTANT: This is a self-guided process. You will create user stories independently using provided templates and examples. No review or approval is required to proceed. For comprehensive information about the self-guided programme structure and how to get the most value from your mentorship experience, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).**
## 2. USER STORY DEVELOPMENT REQUIREMENTS
### 2.1. Purpose and Importance
Creating user stories is a crucial step in project planning that:
- Helps visualise and understand application requirements
- Breaks down requirements into digestible, isolated components
- Maintains a smaller, manageable scope of work for each task
- Facilitates effective project management and development workflow
### 2.2. User Story Issue Creation
**Mandatory Requirement:** Based on your approved project plan, you must create an individual issue on your GitHub repository for each user story.
**Issue Creation Requirements:**
- Each user story must be created as a separate, individual Gitea issue
- If your project plan contains thirty (30) user stories, you must create thirty (30) separate issues
- Each issue must be clearly titled and contain the complete user story description
- Issues must be created in the repository designated for your flagship project
## 3. USER STORY DEFINITION AND FORMAT
### 3.1. User Story Definition
A user story is an application requirement written from the perspective of an end user. User stories follow a standard format that describes:
- The user role or persona
- The desired functionality or capability
- The value or benefit to the user
### 3.2. User Story Examples
The following examples illustrate proper user story format:
**Example 1:**
- As an unauthenticated user, I can see a button to go through the login or registration flows.
**Example 2:**
- As an authenticated user, I can fill out a form to schedule an appointment and select from available dates and times listed on a calendar.
**Example 3:**
- As an administrator, I can review posts for their content and remove the ones that violate our policies.
## 4. ISSUE SEPARATION AND WORKFLOW
### 4.1. Separate Issue Requirement
**Question: Why separate issues? Can I not use a single issue with a list?**
**Answer:** Maintaining separate issues, or tickets, is required for the following reasons:
- **Pull Request Linking:** Each user story can be linked to a specific pull request
- **Scope Management:** Ensures that changes remain within the scope of a specific story
- **Workflow Standardisation:** Follows common industry practices for project management
- **Progress Tracking:** Facilitates accurate tracking of development progress and completion
### 4.2. Workflow Benefits
Separate issues provide:
- Clear traceability between requirements and implementation
- Better organisation and management of development tasks
- Improved collaboration and communication regarding specific features
- Enhanced ability to prioritise and schedule development work
## 5. USER STORY COMPLETION
### 5.1. Optional Review Process
**No Review Required:**
- You do not need to request review or approval to proceed
- Once you have created all user stories as individual issues, you are ready to proceed to technical breakdown
- Your user stories are a living document that you can update as needed
**Optional Review:**
- If you would like feedback on your user stories, you can:
- Request review in the #mentee-chat channel in Discord
- Ask community members or alumni for peer review
- Review user story examples in the resource library for comparison
- Reviews are optional and available upon request, not required
### 5.2. Next Steps
**Proceeding to Technical Breakdown:**
- Upon creating your user stories, you are ready to proceed to technical breakdown
- Technical breakdown procedures are outlined in our [Technical Breakdown Documentation](/mentorship/05-technical-breakdown)
- You can always return to refine your user stories later if needed
## 6. LIMITATION OF LIABILITY AND DISCLAIMERS
### 6.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 6.2. User Story Development Disclaimer
This Documentation establishes user story development procedures and requirements. However:
- Programme leadership reserves the right to modify user story development procedures at any time
- User stories are created by participants and serve as guidance, not guarantees
- Programme leadership is not responsible for participants' ability to complete user stories as planned
- Individual results may vary based on participant effort, circumstances, and other factors
- Reviews and approvals are optional and available upon request
## 7. CONCLUSION
This User Stories Documentation establishes the procedures and requirements for user story development within our Mentorship Programme. All participants must complete these procedures to progress to technical breakdown and development stages.
Questions about user story development procedures should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about user story development procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,223 @@
---
title: 05. Technical Breakdown
---
**ESTABLISHING TECHNICAL BREAKDOWN PROCEDURES AND REQUIREMENTS FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Technical Breakdown Documentation (hereinafter referred to as "the Documentation") establishes mandatory procedures and requirements for technical breakdown activities within our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all participants in our Mentorship Programme following completion of user story development procedures. All participants should complete the technical breakdown process set forth in this Documentation to proceed with development work.
**IMPORTANT: This is a self-guided process. You will fill out technical breakdown templates independently for each user story. No review or approval is required to proceed. For comprehensive information about the self-guided programme structure and how to get the most value from your mentorship experience, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).**
## 2. TECHNICAL BREAKDOWN INITIATION
### 2.1. Timing and Prerequisites
Technical breakdown procedures should be initiated following completion of user story development as outlined in our [User Stories Documentation](/mentorship/04-user-stories).
### 2.2. Technical Breakdown Template
You will add the technical breakdown template (set forth in Section 3 of this Documentation) to each user story issue yourself. The template is provided below for your reference.
```markdown
## 🎯 Acceptance Criteria
- [ ] Criteria 1 (clear, testable condition)
- [ ] Criteria 2
- [ ] Criteria 3
---
## ⚙️ Technical Details
- Proposed implementation approach:
- [ ] e.g., API endpoint, UI component, database schema changes
- Data considerations:
- [ ] Models, validation, storage needs
- Security/permissions:
- [ ] Any auth or role checks?
---
## 🔗 Dependencies
- [ ] Related tickets or features
- [ ] External services or APIs
- [ ] Libraries or frameworks required
---
## 🧪 Testing Notes
- [ ] Unit tests to cover…
- [ ] Integration tests to cover…
- [ ] Manual QA steps…
---
## 📂 Additional Context
- Links to designs, diagrams, or docs
- Any constraints or assumptions
- Open questions / things to clarify
```
### 2.3. Template Purpose and Requirements
**Template Purpose:**
This template is specifically designed to help you understand how to break down user stories into actionable technical components.
**Completion Requirements:**
- Fill out the technical breakdown template for each user story
- Template completion should be thorough and detailed
- Address all sections of the template to the best of your ability
- You can ask for guidance in Discord if you have questions, but this is optional
**Planning Importance:**
- Comprehensive planning at this stage reduces the need for refactoring during development
- Detailed technical breakdown facilitates more efficient and effective development work
- Thorough planning helps identify potential challenges and dependencies early in the process
## 3. TECHNICAL BREAKDOWN TEMPLATE
### 3.1. Template Structure
The technical breakdown template includes the following sections:
**3.1.1 Acceptance Criteria:**
- Clear, testable conditions that must be met for the user story to be considered complete
- Criteria should be specific, measurable, and verifiable
**3.1.2 Technical Details:**
- Proposed implementation approach (e.g., API endpoints, UI components, database schema changes)
- Data considerations (models, validation, storage needs)
- Security and permissions requirements (authentication, role checks, access controls)
**3.1.3 Dependencies:**
- Related tickets or features that must be completed first
- External services or APIs required for implementation
- Libraries or frameworks necessary for development
**3.1.4 Testing Notes:**
- Unit tests required to cover functionality
- Integration tests needed for component interaction
- Manual QA steps for validation
**3.1.5 Additional Context:**
- Links to designs, diagrams, or documentation
- Constraints or assumptions affecting implementation
- Open questions or items requiring clarification
### 3.2. Template Format
The technical breakdown template format is as follows:
## 4. TECHNICAL BREAKDOWN EXAMPLE
### 4.1. Example User Story
The following example demonstrates proper technical breakdown completion. For a user story stating "As a user, I should be able to add a game to my library," the technical breakdown would be completed as follows:
**Required Action:** Edit the issue body to fill in the template with the following information:
```markdown
🎯 Acceptance Criteria
- [ ] User can add game to library
- [ ] User can remove game from library
---
⚙️ Technical Details
- Proposed implementation approach:
- [ ] POST /library
- [ ] DELETE /library
- Data considerations:
- [ ] User model must have library property
- [ ] Library property must be array with game IDs
- [ ] Each ID points to a Game model record
- Security/permissions:
- [ ] Validate JWT to ensure authenticated user is correct
- [ ] Authenticated user can only add games to their own library
---
🔗 Dependencies
- [ ] #2 - Authentication is required to edit my library
- [ ] #5 - Profile UI necessary to get to this view
---
🧪 Testing Notes
- [ ] POST and DELETE routes should be tested with mock data
- [ ] UI should be tested to ensure functionality
---
📂 Additional Context
- Relational data model means using Mongo might not be the best choice. Should we re-evaluate?
- Consider a GET route for displaying the library.
```
## 5. TECHNICAL BREAKDOWN COMPLETION
### 5.1. Completion Requirements
Complete the technical breakdown template for each user story. Completion includes:
- Filling out all sections of the template to the best of your ability
- Providing detailed, specific information in each section
- Identifying dependencies, testing requirements, and technical considerations
- Seeking clarification from programme leadership or community members if needed (optional)
### 5.2. Optional Review
**No Review Required:**
- You do not need review or approval to proceed
- Once you have completed technical breakdowns for your user stories, you are ready to proceed to priority and effort assignment
- Your technical breakdowns are living documents that you can update as needed
**Optional Review:**
- If you would like feedback on your technical breakdowns, you can:
- Request review in the #mentee-chat channel in Discord
- Ask community members or alumni for peer review
- Review technical breakdown examples in the resource library for comparison
**Next Steps:**
- Upon completing your technical breakdowns, you are ready to proceed to priority and effort assignment
- Priority and effort assignment procedures are outlined in our [Priority and Effort Documentation](/mentorship/06-priority-and-effort)
## 6. LIMITATION OF LIABILITY AND DISCLAIMERS
### 6.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 6.2. Technical Breakdown Disclaimer
This Documentation establishes technical breakdown procedures and requirements. However:
- Programme leadership reserves the right to modify technical breakdown procedures at any time
- Technical breakdowns are created by participants and serve as guidance, not guarantees
- Programme leadership is not responsible for participants' ability to complete technical breakdowns as planned
- Individual results may vary based on participant effort, technical knowledge, and other factors
- Reviews and approvals are optional and available upon request
## 7. CONCLUSION
This Technical Breakdown Documentation establishes the procedures and requirements for technical breakdown activities within our Mentorship Programme. All participants must complete these procedures to progress to development stages.
Questions about technical breakdown procedures should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about technical breakdown procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,177 @@
---
title: 06. Priority and Effort
---
**ESTABLISHING PRIORITY AND EFFORT ASSIGNMENT PROCEDURES FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Priority and Effort Documentation (hereinafter referred to as "the Documentation") establishes mandatory procedures and requirements for priority and effort assignment within our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all participants in our Mentorship Programme following completion of technical breakdown procedures. All participants should complete the priority and effort assignment process set forth in this Documentation to proceed with development work.
**IMPORTANT: This is a self-guided process. You will assign priority and effort labels independently. No review or approval is required to proceed. For comprehensive information about the self-guided programme structure and how to get the most value from your mentorship experience, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).**
## 2. LABEL CREATION AND ASSIGNMENT
### 2.1. Label Creation Requirement
**Mandatory Action:** You must create labels for your repository to indicate priority and effort levels.
**Label Creation Requirements:**
- Labels have NOT been pre-created for your repository
- You are responsible for creating all necessary labels
- No specific naming convention is enforced
- Labels should align with your organisational style and preferences
### 2.2. Required Label Types
**Mandatory Label Categories:**
There are two (2) required label categories that must be applied to each user story issue:
1. **Priority Labels:** Indicate the relative priority of each user story
2. **Effort Labels:** Indicate the estimated effort required to complete each user story
## 3. PRIORITY ASSIGNMENT
### 3.1. Priority Assignment Principles
**Priority Assignment Methodology:**
Assigning priority to user stories is based on dependency analysis, not personal preference or interest level.
**Prohibited Priority Factors:**
Priority should NOT be assigned based on:
- Personal interest or enjoyment in working on a particular feature
- Excitement level or enthusiasm for specific functionality
- Subjective preferences or individual motivations
**Required Priority Factors:**
Priority MUST be assigned based on:
- Dependency relationships between user stories
- Blocking relationships (which stories block other stories)
- Logical sequence requirements for feature development
### 3.2. Dependency Analysis Example
Consider the following user stories for priority assignment:
**User Stories:**
1. As an unauthenticated user, I should be able to create an account or sign in to my existing account
2. As an authenticated user, I should be able to customise my profile
3. As an authenticated user, I should be able to create a new post
4. As a user, I should be able to view someone's profile
**Dependency Analysis:**
- User story 1 blocks stories 2 and 3 (authentication is required for authenticated user features)
- User story 2 blocks story 4 (profile customisation must exist before profile viewing)
- Stories 2 and 3 do not block each other (they can be developed independently)
**Priority Assignment:**
- Issue 1: High priority (blocks multiple other stories)
- Issues 2 and 3: Medium priority (blocked by issue 1, but do not block each other)
- Issue 4: Low priority (blocked by issue 2)
### 3.3. Priority Label Requirements
**Label Purpose:**
Priority labels should enable you to quickly determine which user stories need to be completed next based on their blocking relationships.
**Label Flexibility:**
- How you name and assign priorities is at your discretion
- Labels should clearly indicate relative priority levels
- Priority labels should facilitate efficient work planning and scheduling
## 4. EFFORT ASSIGNMENT
### 4.1. Effort Assignment Principles
**Effort Definition:**
Effort labels indicate the estimated amount of work required to complete each user story.
**Effort Quantification Methods:**
- Different organisations use various methods for quantifying effort
- "Story points" are a common method for indicating effort levels
- You may choose any method that effectively communicates effort requirements
### 4.2. Effort Assignment Example
Using a points system, the following effort assignments might be appropriate for the example user stories:
**Effort Assignments:**
1. Five points (building out an entire authentication flow is very complex)
2. Three points
3. Three points
4. One point (showing a static page is less complex)
**Effort Label Flexibility:**
- How you label and quantify effort is at your discretion
- Effort labels should accurately reflect the relative complexity and work required
- Labels should facilitate effective work planning and time management
### 4.3. Effort Label Purpose
**Planning Benefits:**
The purpose of applying effort labels is to help plan work timelines and resource allocation. For example:
- If you have three high-priority tasks but limited time available
- You might choose to complete the lowest-effort task first
- This allows for progress even when time is restricted
- Effort labels help balance priority with available time and resources
## 5. LABEL COMPLETION
### 5.1. Completion Process
**No Review Required:**
- Once you have applied priority and effort labels to all user stories, you are ready to begin development work
- No review or approval is required to proceed
- Your labels are a planning tool that you can adjust as needed
**Optional Review:**
- If you would like feedback on your priority and effort assignments, you can:
- Request review in the #mentee-chat channel in Discord
- Ask community members or alumni for peer review
- Review priority and effort examples in the resource library for comparison
- Reviews are optional and available upon request, not required
### 5.2. Next Steps
**Beginning Development:**
- Upon completing priority and effort assignments, you are ready to begin development work
- Development work should follow the procedures outlined in our [Contributing Documentation](/dev/contributing) and [Style Guide](/dev/style)
- You can always adjust your priority and effort labels as you learn more about your project
## 6. LIMITATION OF LIABILITY AND DISCLAIMERS
### 6.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 6.2. Priority and Effort Assignment Disclaimer
This Documentation establishes priority and effort assignment procedures and requirements. However:
- Programme leadership reserves the right to modify these procedures at any time
- Priority and effort assignments are estimates created by participants and may change as development progresses
- Programme leadership is not responsible for participants' ability to complete work within estimated effort levels
- Individual results may vary based on participant skill, experience, and other factors
- Reviews and approvals are optional and available upon request
## 7. CONCLUSION
This Priority and Effort Documentation establishes the procedures and requirements for priority and effort assignment within our Mentorship Programme. All participants must complete these procedures to progress to development stages.
Questions about priority and effort assignment procedures should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about priority and effort assignment procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,189 @@
---
title: 07. Writing Code
---
**ESTABLISHING CODE DEVELOPMENT PROCEDURES AND REQUIREMENTS FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Writing Code Documentation (hereinafter referred to as "the Documentation") establishes mandatory procedures and requirements for code development activities within our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, Contributor Covenant, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all participants in our Mentorship Programme following completion of priority and effort assignment procedures. All participants should comply with the code development procedures set forth in this Documentation.
**IMPORTANT: Code development should comply with our Style Guide, Contributor Covenant, and all applicable development standards. Code reviews are optional and available upon request, not mandatory.**
## 2. DEVELOPMENT WORKFLOW REQUIREMENTS
### 2.1. Prerequisites
Before beginning code development, participants must have completed:
- Goal-setting and roadmap confirmation
- Project planning and approval
- User story development and approval
- Technical breakdown completion
- Priority and effort assignment
### 2.2. Additional Considerations
Before writing code, participants must consider and address the requirements set forth in Sections 3, 4, and 5 of this Documentation.
## 3. BRANCHING STRATEGY
### 3.1. Branch Protection Requirements
**Mandatory Requirement:** Participants are NOT permitted to push code directly to the `main` branch.
**Required Workflow:**
- Create a dedicated branch for each development task
- Make all changes on the dedicated branch
- Submit a pull request to merge changes back into `main`
- Follow standard professional development practices
### 3.2. Branch Scope Requirements
**Single User Story Scope:**
- Each branch must be scoped to a single user story
- This ensures that pull requests remain manageable in size
- Prevents pull requests from becoming too large to review effectively
- Facilitates clear tracking of work completion and progress
## 4. PULL REQUEST REVIEW PROCESS
### 4.1. Optional Review Process
**Self-Guided Development:**
- Code reviews are optional and available upon request
- You can merge your own pull requests without review if you choose
- Use the provided code review checklist (see Section 4.2) for self-review
- Community members and alumni may also provide peer reviews if requested
**Requesting Reviews:**
- If you would like a code review, request one in the #mentee-chat channel or tag programme leadership on your PR
- Reviews are provided when available, not guaranteed immediately
- You can proceed with development while waiting for reviews
### 4.2. Self-Review Checklist
**Code Review Checklist:**
Before merging, consider reviewing your own code for:
- Best practices and industry standards
- Code quality and maintainability
- Feature completeness and functionality
- Compliance with style guides and standards
- Security considerations and best practices
- Test coverage and quality
- Documentation and comments
A detailed code review checklist is available in the resource library.
### 4.3. Review Standards (When Requested)
**Professional Review Standards:**
When reviews are requested, programme leadership or community reviewers will evaluate:
- Best practices and industry standards
- Code quality and maintainability
- Feature completeness and functionality
- Compliance with style guides and standards
- Security considerations and best practices
**Review Communication:**
- Reviews may involve back-and-forth communication
- Review comments are designed to facilitate learning and skill improvement
- Reviews should be viewed as learning opportunities
- Remember that development is a marathon, not a sprint
## 5. PROJECT SCAFFOLDING AND SETUP
### 5.1. Initial Project Setup
**Required Actions:**
Before writing application code, participants must:
**5.1.1 Tooling Structure:**
- Add appropriate tooling structure for the project type
- Examples include: `package.json` for Node.js projects, `requirements.txt` for Python projects
- Configure project-specific tooling and dependencies
**5.1.2 Configuration Files:**
- Add configuration files for code quality tools
- Examples include: `black` configuration for Python projects, ESLint configuration for JavaScript projects
- Ensure all configuration files are properly set up
### 5.2. Continuous Integration Setup
**CI Configuration Requirements:**
- Configure a CI file to run on every pull request
- CI must verify that the following steps pass:
- Linting checks
- Build processes
- Test execution
- CI failures must be resolved before pull request approval
### 5.3. Setup Timing Importance
**Early Setup Benefits:**
- Setting up tooling and CI early ensures code quality from the start
- Prevents the need to fix issues across dozens of files later
- Establishes quality standards before significant code is written
- Facilitates consistent code quality throughout development
## 6. CODE DEVELOPMENT
### 6.1. Development Authorization
Upon completion of project scaffolding and setup, participants are authorised to begin writing code for their flagship project.
### 6.2. Development Requirements
**Branch Requirements:**
- Work must be performed on dedicated branches
- Each branch must be scoped to a single user story
- Follow branching strategy requirements set forth in Section 3
**Commit Practices:**
- Commit early and commit often
- Push code to remote repository regularly
- Regular commits and pushes prevent loss of work
- Maintain clear commit messages following project standards
## 7. LIMITATION OF LIABILITY AND DISCLAIMERS
### 7.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 7.2. Code Development Disclaimer
This Documentation establishes code development procedures and requirements. However:
- Programme leadership reserves the right to modify development procedures at any time
- Code reviews are optional and provided when requested and available
- Code reviews do not guarantee acceptance of contributions or specific feedback
- Programme leadership is not responsible for participants' ability to complete development work
- Individual results may vary based on participant skill, effort, and other factors
### 7.3. Intellectual Property Considerations
All code developed as part of the Mentorship Programme is subject to our Mentorship Programme Terms and Conditions regarding intellectual property rights. Participants should familiarise themselves with these terms before beginning development work.
## 8. CONCLUSION
This Writing Code Documentation establishes the procedures and requirements for code development within our Mentorship Programme. All participants must comply with these procedures to ensure code quality, maintainability, and alignment with professional development standards.
Questions about code development procedures should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about code development procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,209 @@
---
title: 08. Final Polish
---
**ESTABLISHING FINAL POLISH AND DEPLOYMENT PROCEDURES FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Final Polish Documentation (hereinafter referred to as "the Documentation") establishes mandatory procedures and requirements for final project polish, documentation, and deployment within our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all participants in our Mentorship Programme whose flagship projects have reached a state suitable for resume presentation. All participants should complete the final polish procedures set forth in this Documentation before project completion.
**IMPORTANT: This is a self-guided process. You will use provided checklists and templates to polish your project independently. Reviews and approvals are optional and available upon request. For comprehensive information about the self-guided programme structure and how to get the most value from your mentorship experience, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).**
## 2. FINAL POLISH INITIATION
### 2.1. Readiness Assessment
When you believe your flagship project has reached a state where it can be proudly shown on a resume, you can begin final polish procedures using the provided checklists and templates.
**Self-Assessment:**
- Review the final polish checklist in the resource library
- Assess your project against the checklist criteria
- Begin addressing items on the checklist independently
**Optional Support:**
- If you would like feedback on project readiness, ask in the #mentee-chat channel
- Programme leadership or community members can provide guidance if requested
- You can proceed independently using the provided resources
## 3. CODE CLEANUP PROCESS
### 3.1. Self-Guided Code Review
**Self-Review Process:**
- Use the comprehensive code review checklist provided in the resource library
- Review your own code systematically against the checklist
- Create issues in your repository for items that need attention
- Address issues independently
**Code Review Checklist Areas:**
- Code quality and maintainability
- Best practices and industry standards
- Security considerations
- Performance optimisation
- Error handling
- Test coverage
- Code organisation and structure
### 3.2. Issue Resolution
**Self-Managed Process:**
- Address issues you identify using the checklist
- Update issues as you resolve them
- Continue until you feel your project meets polish standards
**Optional Review:**
- If you would like feedback on your code cleanup, request a review in Discord
- Programme leadership or community members can provide feedback if requested
- Reviews are optional and available upon request
**Completion Criteria:**
- Project meets quality and polish standards based on your assessment
- Code is ready for professional presentation
- You feel confident showcasing the project on your resume
## 4. DOCUMENTATION REQUIREMENTS
### 4.1. Self-Guided Documentation
Use the provided documentation templates and examples in the resource library to create documentation for your flagship project.
**Documentation Resources:**
- README.md template and examples
- CONTRIBUTING.md template and examples
- LICENSE.md template and guidance
- End user documentation examples
**Optional Support:**
- If you need help with documentation, ask in the #mentee-chat channel
- Programme leadership or community members can provide guidance if requested
- You can proceed independently using the provided templates
### 4.2. Required Documentation Files
**Standard Documentation:**
You should create the following standard documentation files:
**4.2.1 README.md:**
- Provides a high-level overview of the project
- Includes project description, features, and usage instructions
- Contains installation and setup instructions
- Includes contribution guidelines and project information
- Template and examples available in resource library
**4.2.2 CONTRIBUTING.md:**
- Contains instructions for individuals seeking to contribute to the project
- Outlines contribution guidelines and procedures
- Describes development workflow and standards
- Provides information about code review and submission processes
- Template and examples available in resource library
**4.2.3 LICENSE.md:**
- Determines what people can and cannot do with the software
- Specifies licensing terms and conditions
- Must comply with applicable intellectual property requirements
- Should align with project goals and organisational policies
- Template and guidance available in resource library
### 4.3. End User Documentation
**Documentation Approach:**
- Review end user documentation examples in the resource library
- Determine an approach appropriate for your project type and complexity
- Create comprehensive and accessible end user documentation
- Ask for feedback in Discord if you'd like guidance (optional)
## 5. DEPLOYMENT AND HOSTING
### 5.1. Deployment Requirement
**Deployment Goal:**
You should deploy a live version of your application for professional presentation.
### 5.2. Self-Guided Deployment
**Deployment Resources:**
- Deployment guides for common platforms (Vercel, Netlify, Heroku, etc.) are available in the resource library
- Step-by-step tutorials for various hosting providers
- Information about free hosting options
- Deployment checklist and troubleshooting guides
**Deployment Process:**
- Review deployment guides in the resource library
- Select a hosting provider appropriate for your project
- Follow the deployment guide for your chosen platform
- Deploy your application independently
### 5.3. Hosting Provider Selection
**Self-Selection Process:**
- Review hosting provider options in the deployment guides
- Consider project requirements, budget, and scalability needs
- Free hosting options are documented in the resource library
- Paid hosting options may be necessary depending on project requirements
### 5.4. Domain Configuration
**Domain Setup:**
- Domain configuration guides are available in the resource library
- Domains generally require payment
- Free domain options may be available in some cases
- Domain setup is optional but recommended for professional presentation
**Cost Considerations:**
- Domains generally cost money
- Hosting generally costs money
- Free hosting options are documented in the resource library
- Free options may not always be viable depending on project requirements
**Optional Support:**
- If you encounter issues during deployment, ask for help in the #mentee-chat channel
- Programme leadership or community members can provide guidance if requested
- Most deployment can be completed independently using the provided guides
## 6. LIMITATION OF LIABILITY AND DISCLAIMERS
### 6.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 6.2. Final Polish Disclaimer
This Documentation establishes final polish procedures and requirements. However:
- Programme leadership reserves the right to modify final polish procedures at any time
- Final polish is a self-guided process using provided checklists and templates
- Final polish does not guarantee specific project outcomes or employment results
- Programme leadership is not responsible for participants' ability to complete final polish procedures
- Individual results may vary based on participant effort, project complexity, and other factors
- Reviews and approvals are optional and available upon request
### 6.3. Hosting and Deployment Disclaimer
Programme leadership provides guidance on hosting and deployment but:
- Does not guarantee availability of free hosting options
- Is not responsible for hosting provider service quality or availability
- Does not assume responsibility for deployment issues or service disruptions
- Recommends that participants review hosting provider terms of service and policies
## 7. CONCLUSION
This Final Polish Documentation establishes the procedures and requirements for final project polish, documentation, and deployment within our Mentorship Programme. All participants must complete these procedures to achieve programme completion standards.
Questions about final polish procedures should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about final polish procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,220 @@
---
title: 09. Career Prep
---
**ESTABLISHING CAREER PREPARATION PROCEDURES AND REQUIREMENTS FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Career Preparation Documentation (hereinafter referred to as "the Documentation") establishes procedures and requirements for career preparation activities within our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all participants in our Mentorship Programme who are ready to begin their job search. Career preparation resources and support are available as set forth in this Documentation.
**IMPORTANT: This is a self-guided process. You will use provided resources, templates, and guides to prepare for your job search independently. Support is available upon request, but most activities can be completed using the resource library. For comprehensive information about the self-guided programme structure and how to get the most value from your mentorship experience, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).**
## 2. CAREER PREPARATION RESOURCES
### 2.1. Self-Guided Resources
Upon reaching the career preparation stage, you have access to comprehensive resources for various aspects of the job search process as outlined in Sections 3 through 6 of this Documentation.
**Resource Library Includes:**
- Resume templates and examples
- LinkedIn profile optimization guides
- Application writing guides and examples
- Interview preparation resources
- Mock interview question banks
- Job search strategy guides
### 2.2. Optional Support
**On-Demand Assistance:**
- Programme leadership and community members are available to provide assistance when requested
- Support is provided when available, not guaranteed immediately
- You can proceed independently using the provided resources
- Most career preparation activities can be completed using the resource library
## 3. RESUME DEVELOPMENT
### 3.1. Self-Guided Resume Creation
**Resources Available:**
- Resume templates for various career paths (available in resource library)
- Resume examples and best practices guides
- Flagship project presentation examples
- Resume writing tips and strategies
**Self-Guided Process:**
- Use provided templates and examples to create your resume
- Include your flagship project as a demonstration of skills and capabilities
- Review resume best practices guides
- Refine your resume independently
### 3.2. Flagship Project Inclusion
**Important Requirement:**
- Your resume should include the flagship project developed during the Mentorship Programme
- Flagship project serves as a demonstration of skills and capabilities
- Review flagship project presentation examples in the resource library
- Present your project effectively on your resume
**Optional Review:**
- If you would like feedback on your resume, request a review in the #mentee-chat channel
- Programme leadership or community members can provide feedback if requested
- Reviews are optional and available upon request
## 4. LINKEDIN PROFILE PREPARATION
### 4.1. Self-Guided Profile Optimization
**Resources Available:**
- LinkedIn profile optimization guides (available in resource library)
- Profile examples and best practices
- Content templates and suggestions
- Strategic positioning strategies
**Self-Guided Process:**
- Review LinkedIn optimization guides in the resource library
- Optimize your profile to help you stand out
- Strategically position yourself for career success
- Showcase your flagship project and achievements
### 4.2. Profile Optimization Focus Areas
LinkedIn profile preparation should focus on:
- Professional presentation and branding
- Highlighting relevant skills and experience
- Showcasing flagship project and achievements
- Optimizing profile for recruiter visibility
**Optional Review:**
- If you would like feedback on your LinkedIn profile, request a review in the #mentee-chat channel
- Programme leadership or community members can provide feedback if requested
- Reviews are optional and available upon request
## 5. APPLICATION ASSISTANCE
### 5.1. Job Search Resources
**Resources Available:**
- Job search strategy guides (available in resource library)
- Job board recommendations and resources
- Application process guides
- Application writing tips and examples
**Self-Guided Process:**
- Review job search strategy guides in the resource library
- Identify appropriate job opportunities independently
- Use application guides and examples to craft effective applications
- Submit applications independently
### 5.2. Application Content Resources
**Resources Available:**
- Application writing guides and examples (available in resource library)
- Cover letter templates and examples
- Application content tips and strategies
- Common application question examples
**Self-Guided Process:**
- Use provided guides and examples to determine what to say in applications
- Craft effective application materials independently
- Review application content using provided checklists
**Optional Support:**
- If you would like feedback on your applications, request a review in the #mentee-chat channel
- Programme leadership or community members can provide feedback if requested
- Support is limited to guidance and feedback on application content
- You are responsible for submitting your own applications
## 6. INTERVIEW PREPARATION
### 6.1. Self-Guided Interview Preparation
**Resources Available:**
- Interview preparation guides (available in resource library)
- Common interview question banks
- Mock interview question sets
- Interview best practices and tips
- Behavioural interview guides
- Technical interview preparation resources
**Self-Guided Process:**
- Review interview preparation guides in the resource library
- Practice with common interview questions independently
- Use mock interview question sets for practice
- Prepare for real interview scenarios
### 6.2. Optional Mock Interviews
**Mock Interview Availability:**
- Mock interviews are available upon request when programme leadership or community members are available
- Request mock interviews in the #mentee-chat channel
- Mock interviews prepare you for real interview situations
- Feedback and coaching on interview performance may be provided
**Timing:**
- Begin interview preparation when you start applying for jobs
- Request mock interviews when you start landing actual interviews
- Preparation should focus on real interview scenarios you will face
## 7. CONTINUOUS RESOURCES AND SUPPORT
### 7.1. Ongoing Resources
**Resource Availability:**
- Career preparation resources remain available throughout your job search
- Flagship project can be refined and iterated independently
- Resources and support continue to be available as needed
### 7.2. Goal Achievement
**Programme Focus:**
- Programme resources and optional support are available to help you achieve employment
- Combination of self-guided career preparation activities and project refinement
- Goal is to help you reach your career objectives
- You work at your own pace using provided resources
## 8. LIMITATION OF LIABILITY AND DISCLAIMERS
### 8.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 8.2. Career Preparation Disclaimer
This Documentation establishes career preparation procedures and resources. However:
- Programme leadership reserves the right to modify career preparation procedures at any time
- Career preparation is primarily self-guided using provided resources
- Career preparation resources and support do not guarantee employment outcomes
- Programme leadership is not responsible for participants' ability to secure employment
- Individual results may vary based on participant effort, market conditions, and other factors
- Support is provided when requested and available, not guaranteed immediately
### 8.3. Employment Outcome Disclaimer
**IMPORTANT: Programme leadership provides career preparation support but does not guarantee:**
- Specific employment outcomes or job placement
- Interview invitations or job offers
- Salary levels or compensation packages
- Employment within any specific timeframe
## 9. CONCLUSION
This Career Preparation Documentation establishes the procedures and support available for career preparation within our Mentorship Programme. Programme leadership will provide comprehensive support to help participants prepare for and succeed in their job search.
Questions about career preparation procedures should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about career preparation procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,142 @@
---
title: 10. Graduation
---
**ESTABLISHING GRADUATION CRITERIA AND ALUMNI PROGRAMME PROCEDURES FOR MENTORSHIP PROGRAMME PARTICIPANTS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Graduation Documentation (hereinafter referred to as "the Documentation") establishes graduation criteria, procedures, and alumni programme information for our Mentorship Programme. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, Community Code of Conduct, Mentorship Programme Terms and Conditions, and all applicable legal protections by reference.
### 1.2. Scope and Applicability
This Documentation applies to all participants in our Mentorship Programme. Graduation criteria and procedures set forth in this Documentation determine programme completion and transition to alumni status.
**IMPORTANT: Programme completion is determined by achievement of career goals, not completion of specific programme milestones or deadlines.**
## 2. PROGRAMME FLEXIBILITY
### 2.1. Flexible Programme Structure
**Programme Characteristics:**
- Our Mentorship Programme is designed to be highly flexible
- No set deadlines are imposed on participants
- No specific requirements must be completed to "finish the programme"
- Programme structure adapts to individual participant needs and circumstances
### 2.2. Goal-Oriented Approach
**Primary Focus:**
- Programme focuses exclusively on helping participants reach their career goals
- Success is measured by achievement of career objectives, not programme milestones
- Programme structure supports individual learning paths and timelines
## 3. GRADUATION CRITERIA
### 3.1. Graduation Requirement
**Completion Standard:**
Once a participant lands a development job, they have completed the Mentorship Programme and are considered graduated.
### 3.2. Early Graduation
**Flexible Completion:**
- Participants may land a job before completing their flagship project
- Early employment does not prevent programme completion
- Graduation occurs upon job acceptance, regardless of project completion status
### 3.3. Repository Retention
**Repository Ownership:**
- Flagship project repository remains available to participants forever
- Participants may continue working on their project after graduation
- Repository access is not affected by programme completion
### 3.4. Roadmap Completion Status
**Completion Flexibility:**
- Graduation is not dependent on roadmap completion
- Participants may graduate at any point in their roadmap upon job acceptance
- Programme completion is determined solely by employment achievement
## 4. POST-GRADUATION TRANSITION
### 4.1. Programme Removal
**Official Programme Status:**
- Participants will be removed from the official programme upon hiring
- Removal allows space for new participants seeking programme access
- Transition supports programme capacity management and accessibility
### 4.2. Continued Support
**Ongoing Assistance:**
- Programme leadership will continue to provide coaching, advice, and recommendations
- Support continues after graduation on an informal basis
- Formal programme structure ends upon graduation
## 5. ALUMNI PROGRAMME
### 5.1. Alumni Programme Overview
**Programme Availability:**
- Our organisation maintains an alumni programme for graduated participants
- Alumni programme provides continued community engagement opportunities
- Alumni contribute to programme success through mentorship and guidance
### 5.2. Alumni Access and Responsibilities
**Channel Access:**
- Alumni retain access to post in mentorship channels
- Access is provided for coaching and guiding current participants
- Alumni do not receive help with their own development plans
**Leadership Development:**
- Alumni programme focuses on developing leadership skills
- Alumni contribute by coaching and guiding new participants
- Leadership development supports professional growth and community contribution
### 5.3. Public Recognition
**Alumni Listing:**
- Graduated participants are added to our public list of alumni
- Public recognition celebrates participant achievements
- Alumni listing demonstrates programme success and participant outcomes
## 6. LIMITATION OF LIABILITY AND DISCLAIMERS
### 6.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 6.2. Graduation Disclaimer
This Documentation establishes graduation criteria and procedures. However:
- Programme leadership reserves the right to modify graduation procedures at any time
- Programme completion does not guarantee specific employment outcomes or career success
- Individual results may vary based on participant effort, market conditions, and other factors
### 6.3. Alumni Programme Disclaimer
**Alumni Programme Terms:**
- Alumni programme participation is subject to programme terms and conditions
- Alumni access and privileges may be modified or revoked at any time
- Alumni programme does not guarantee continued access or specific benefits
## 7. CONCLUSION
This Graduation Documentation establishes the criteria and procedures for programme completion and transition to alumni status. Our Mentorship Programme is designed to be flexible and goal-oriented, with graduation determined by achievement of career objectives rather than completion of specific programme milestones.
Questions about graduation procedures or alumni programme participation should be directed to programme leadership through designated communication channels. For comprehensive programme terms and conditions, please refer to our [Mentorship Programme Terms and Conditions](/about/mentorship).
---
*For questions about graduation procedures or programme participation, please contact programme leadership through the designated channels outlined in our Community Code of Conduct.*
:::tip[Helpful Links]
- [Join Discord](https://chat.nhcarrigan.com/) - Select the mentorship role to get started
- [Donate](https://donate.nhcarrigan.com/)
:::
@@ -0,0 +1,313 @@
---
title: Career Preparation Resources
---
**RESUME TEMPLATES, LINKEDIN GUIDES, APPLICATION GUIDES, INTERVIEW RESOURCES, AND JOB SEARCH STRATEGIES**
## Resume Templates
### Developer Resume Template
```markdown
[Your Name]
[Email] | [Phone] | [LinkedIn] | [GitHub] | [Portfolio]
## Summary
[2-3 sentences describing your experience, skills, and career goals]
## Technical Skills
- **Languages:** [List languages]
- **Frameworks/Libraries:** [List frameworks]
- **Tools:** [List tools]
- **Databases:** [List databases]
- **Other:** [List other relevant skills]
## Projects
### [Project Name]
[Brief description] | [Technologies Used] | [GitHub Link] | [Live Demo]
- [Key achievement or feature]
- [Key achievement or feature]
### [Project Name]
[Brief description] | [Technologies Used] | [GitHub Link] | [Live Demo]
- [Key achievement or feature]
- [Key achievement or feature]
## Experience (if applicable)
### [Job Title]
[Company Name] | [Dates]
- [Achievement or responsibility]
- [Achievement or responsibility]
## Education
[Degree] in [Field]
[Institution] | [Dates]
- [Relevant coursework or achievement]
## Additional Information
- [Certifications, awards, or other relevant information]
```
### Resume Best Practices
**Formatting:**
- Keep it to 1-2 pages
- Use clear, readable fonts
- Use consistent formatting
- Save as PDF for applications
**Content:**
- Tailor resume to each job
- Use action verbs
- Quantify achievements when possible
- Highlight relevant skills and projects
- Include links to GitHub and portfolio
**Flagship Project:**
- Include your mentorship programme flagship project
- Describe technologies used
- Highlight key features
- Include links to code and live demo
## LinkedIn Profile Optimization
### Profile Sections
**Headline:**
- Include your role/title
- Mention key technologies
- Keep it concise and professional
- Example: "Full-Stack Developer | React, Node.js, TypeScript"
**Summary:**
- Write in first person
- Highlight your skills and experience
- Mention your career goals
- Include relevant keywords
- Keep it engaging and authentic
**Experience:**
- List relevant work experience
- Use bullet points for achievements
- Quantify results when possible
- Include technologies used
**Projects:**
- Add your flagship project
- Include project descriptions
- Link to GitHub and live demos
- Highlight technologies and achievements
**Skills:**
- Add relevant technical skills
- Get endorsements from connections
- Keep skills up to date
- Remove outdated skills
**Recommendations:**
- Request recommendations from mentors, colleagues, or collaborators
- Provide recommendations for others
- Keep recommendations relevant and recent
### LinkedIn Best Practices
**Profile:**
- Use professional profile photo
- Customize your LinkedIn URL
- Keep profile updated
- Engage with content regularly
**Networking:**
- Connect with industry professionals
- Join relevant groups
- Engage with posts and discussions
- Share your own content
**Content:**
- Share project updates
- Write articles about your learning journey
- Comment on others' posts
- Build your professional brand
## Application Writing Guides
### Cover Letter Template
```markdown
[Your Name]
[Email] | [Phone] | [LinkedIn]
[Date]
[Hiring Manager Name]
[Company Name]
[Company Address]
Dear [Hiring Manager Name],
I am writing to express my interest in the [Position Title] position at [Company Name]. [1-2 sentences about why you're interested in the company/role].
[Paragraph about your relevant experience and skills, specifically mentioning your flagship project and technologies used].
[Paragraph about what you can contribute to the company and why you're a good fit].
I am excited about the opportunity to contribute to [Company Name] and would welcome the chance to discuss how my skills and experience align with your needs.
Thank you for your consideration.
Sincerely,
[Your Name]
```
### Application Best Practices
**Tailoring:**
- Customize each application
- Match keywords from job description
- Highlight relevant experience
- Show enthusiasm for the role
**Research:**
- Research the company
- Understand the role
- Learn about company culture
- Find connections at the company
**Follow-Up:**
- Send thank-you emails after interviews
- Follow up if you don't hear back
- Be professional and respectful
- Don't be pushy
## Interview Preparation Resources
### Common Interview Questions
**Technical Questions:**
- Explain [technology/concept]
- How would you implement [feature]?
- What's the difference between [X] and [Y]?
- How do you handle [scenario]?
**Behavioural Questions:**
- Tell me about yourself
- Why do you want to work here?
- Describe a challenging project
- How do you handle conflict?
- Where do you see yourself in 5 years?
**Project Questions:**
- Walk me through your flagship project
- What challenges did you face?
- What would you do differently?
- How did you approach [specific aspect]?
### Interview Preparation Tips
**Before the Interview:**
- Research the company and role
- Review your resume and projects
- Prepare questions to ask
- Practice common questions
- Prepare examples of your work
**During the Interview:**
- Be confident and authentic
- Listen carefully to questions
- Think before answering
- Ask clarifying questions
- Show enthusiasm
**After the Interview:**
- Send thank-you email
- Reflect on the experience
- Follow up if appropriate
- Continue applying to other positions
### Mock Interview Questions
**Technical:**
- Explain how the internet works
- What is REST?
- Explain authentication vs authorization
- How do you debug code?
- What is your approach to testing?
**Behavioural:**
- Tell me about a time you overcame a challenge
- Describe a project you're proud of
- How do you handle tight deadlines?
- Tell me about a time you worked in a team
- How do you stay current with technology?
## Job Search Strategy Guides
### Job Search Platforms
**General Platforms:**
- LinkedIn Jobs
- Indeed
- Glassdoor
- Monster
- ZipRecruiter
**Tech-Specific Platforms:**
- GitHub Jobs
- Stack Overflow Jobs
- AngelList
- Hacker News "Who's Hiring"
- Remote-specific: Remote.co, We Work Remotely
### Job Search Strategy
**Networking:**
- Attend meetups and conferences
- Join online communities
- Connect with industry professionals
- Reach out to people at target companies
**Application Strategy:**
- Apply to multiple positions
- Tailor each application
- Follow up appropriately
- Track your applications
**Portfolio:**
- Keep portfolio updated
- Showcase your best work
- Include your flagship project
- Make it easy to navigate
**Continuous Learning:**
- Keep learning new technologies
- Build new projects
- Contribute to open source
- Stay current with industry trends
### Job Search Timeline
**Week 1-2:**
- Update resume and LinkedIn
- Prepare portfolio
- Research target companies
- Start applying
**Week 3-4:**
- Continue applying
- Network actively
- Prepare for interviews
- Practice interview questions
**Ongoing:**
- Maintain application pipeline
- Continue learning
- Build new projects
- Stay positive and persistent
---
*Career preparation is an ongoing process. Use these resources to build a strong professional presence and prepare for job opportunities.*
@@ -0,0 +1,197 @@
---
title: Code Development Resources
---
**CODE REVIEW CHECKLIST, SELF-REVIEW GUIDELINES, AND BEST PRACTICES**
## Code Review Checklist
See [Code Review Checklist](/mentorship/resources/code-review-checklist) for the comprehensive self-review checklist.
## Self-Review Guidelines
### Before Requesting a Review
**Self-Review Process:**
1. Review your code against the checklist
2. Run all tests and ensure they pass
3. Check for obvious bugs or issues
4. Ensure code follows style guide
5. Verify functionality works as expected
6. Check for security concerns
7. Review documentation and comments
### Self-Review Questions
**Code Quality:**
- Is my code readable and well-organised?
- Are variable and function names clear?
- Is the code properly commented?
- Does the code follow project conventions?
**Functionality:**
- Does the code work as intended?
- Are edge cases handled?
- Is error handling appropriate?
- Is input validation in place?
**Testing:**
- Are tests written and passing?
- Is test coverage adequate?
- Do tests actually test behaviour?
**Security:**
- Is sensitive data protected?
- Is input validated and sanitized?
- Are authentication/authorization checks in place?
## Development Best Practices
### Code Quality
**Readability:**
- Use clear, descriptive names
- Keep functions focused and small
- Write self-documenting code
- Add comments for complex logic
**Organisation:**
- Follow project structure conventions
- Group related code together
- Separate concerns appropriately
- Use consistent formatting
**Maintainability:**
- Write code that's easy to modify
- Avoid unnecessary complexity
- Follow DRY (Don't Repeat Yourself)
- Refactor when needed
### Git Practices
**Commit Messages:**
- Write clear, descriptive commit messages
- Use present tense ("Add feature" not "Added feature")
- Reference issue numbers when applicable
- Keep commits focused and atomic
**Branching:**
- Create branches for each feature/user story
- Use descriptive branch names
- Keep branches up to date
- Clean up merged branches
**Pull Requests:**
- Write clear PR descriptions
- Link related issues
- Keep PRs focused and reasonably sized
- Request reviews when needed
### Testing
**Test Coverage:**
- Write tests for new functionality
- Test edge cases and error scenarios
- Maintain good test coverage
- Keep tests maintainable
**Test Types:**
- **Unit Tests:** Test individual functions/methods
- **Integration Tests:** Test component interactions
- **E2E Tests:** Test user workflows (if applicable)
### Security
**Best Practices:**
- Never commit secrets or sensitive data
- Use environment variables for configuration
- Validate and sanitize all user input
- Implement proper authentication/authorization
- Keep dependencies up to date
- Follow security best practices for your stack
### Performance
**Optimisation:**
- Profile before optimising
- Optimise database queries
- Minimize API calls
- Use caching where appropriate
- Optimise assets (images, CSS, JS)
### Documentation
**Code Documentation:**
- Comment complex logic
- Document function parameters and returns
- Keep comments up to date
- Write self-documenting code when possible
**Project Documentation:**
- Keep README updated
- Document setup and installation
- Document API endpoints (if applicable)
- Document deployment process
## Common Pitfalls to Avoid
### Code Quality Issues
**Overly complex code:** Keep it simple
**Poor naming:** Use descriptive names
**Large functions:** Break them down
**Code duplication:** Refactor to DRY
**Commented-out code:** Remove it
### Git Issues
**Vague commit messages:** Be specific
**Large commits:** Make smaller, focused commits
**Mixing concerns:** One concern per commit
**Forgetting to pull:** Keep branches updated
### Testing Issues
**No tests:** Always write tests
**Weak tests:** Test actual behaviour
**Ignoring failing tests:** Fix them
**Testing implementation:** Test behaviour
### Security Issues
**Hardcoded secrets:** Use environment variables
**No input validation:** Always validate
**Outdated dependencies:** Keep updated
**Ignoring security warnings:** Address them
## Development Workflow
### Daily Workflow
1. **Pull latest changes** from main branch
2. **Create feature branch** for your work
3. **Write code** following best practices
4. **Write tests** for new functionality
5. **Run tests** and ensure they pass
6. **Self-review** your code
7. **Commit changes** with clear messages
8. **Push to remote** regularly
9. **Create PR** when feature is complete
10. **Request review** if desired (optional)
### Feature Development
1. **Understand requirements** from user story
2. **Review technical breakdown** if available
3. **Plan implementation** approach
4. **Set up** necessary components/modules
5. **Implement** feature incrementally
6. **Test** as you go
7. **Refactor** when needed
8. **Document** as appropriate
9. **Review** before submitting
---
*Following best practices helps you write better code, work more efficiently, and maintain high quality standards.*
@@ -0,0 +1,81 @@
---
title: Code Review Checklist
---
**SELF-REVIEW CHECKLIST FOR CODE QUALITY**
Use this checklist to review your own code before merging pull requests or when preparing for optional code reviews.
## Code Quality
- [ ] Code follows project style guide and conventions
- [ ] Code is readable and well-organised
- [ ] Variable and function names are clear and descriptive
- [ ] Code is properly commented where necessary
- [ ] No commented-out code or debugging statements left in
- [ ] Code follows DRY (Don't Repeat Yourself) principles
- [ ] Functions and methods are appropriately sized and focused
## Functionality
- [ ] Code implements the intended feature correctly
- [ ] Edge cases are handled appropriately
- [ ] Error handling is implemented where needed
- [ ] User input is validated and sanitized
- [ ] Code handles null/undefined values appropriately
## Testing
- [ ] Unit tests are written and passing
- [ ] Integration tests are written and passing (if applicable)
- [ ] Test coverage is adequate for new functionality
- [ ] Tests are meaningful and test actual behavior
- [ ] All tests pass before submitting
## Security
- [ ] No sensitive data is hardcoded or exposed
- [ ] Authentication and authorization are properly implemented (if applicable)
- [ ] Input validation prevents injection attacks
- [ ] Dependencies are up to date and secure
- [ ] Security best practices are followed
## Performance
- [ ] Code performs efficiently
- [ ] No obvious performance bottlenecks
- [ ] Database queries are optimized (if applicable)
- [ ] Unnecessary computations are avoided
## Documentation
- [ ] Code is self-documenting with clear naming
- [ ] Complex logic is explained with comments
- [ ] README is updated if needed
- [ ] API documentation is updated if applicable
## Git Practices
- [ ] Commit messages are clear and descriptive
- [ ] Commits are appropriately sized
- [ ] Branch name follows naming conventions
- [ ] Pull request description explains changes clearly
- [ ] Related issues are linked in PR description
## Accessibility (if applicable)
- [ ] UI components are accessible
- [ ] ARIA labels are used where appropriate
- [ ] Keyboard navigation works
- [ ] Screen reader compatibility is considered
## Browser/Platform Compatibility (if applicable)
- [ ] Code works across target browsers/platforms
- [ ] Responsive design is implemented (if applicable)
- [ ] Cross-browser testing is done (if applicable)
---
*This checklist is a starting point. Customize it based on your project's specific requirements and standards.*
@@ -0,0 +1,103 @@
---
title: Final Polish Checklist
---
**COMPREHENSIVE CHECKLIST FOR PROJECT FINAL POLISH**
Use this checklist to ensure your flagship project is ready for professional presentation.
## Code Quality
- [ ] All code follows project style guide
- [ ] Code is clean, readable, and well-organised
- [ ] No commented-out code or debugging statements
- [ ] Error handling is comprehensive
- [ ] Code is properly commented where necessary
- [ ] All functions and methods are appropriately sized
## Testing
- [ ] Comprehensive test coverage
- [ ] All tests are passing
- [ ] Tests are meaningful and test actual behavior
- [ ] Edge cases are covered by tests
- [ ] CI/CD pipeline is configured and passing
## Documentation
- [ ] README.md is complete and professional
- [ ] Project description
- [ ] Features list
- [ ] Installation instructions
- [ ] Usage instructions
- [ ] Screenshots or demo links (if applicable)
- [ ] Technology stack
- [ ] Contributing guidelines link
- [ ] CONTRIBUTING.md is complete
- [ ] Development setup instructions
- [ ] Code style guidelines
- [ ] Pull request process
- [ ] Testing requirements
- [ ] LICENSE.md is present and appropriate
- [ ] Code comments are clear and helpful
- [ ] API documentation is complete (if applicable)
## Security
- [ ] No sensitive data in code or configuration
- [ ] Environment variables are used for secrets
- [ ] Dependencies are up to date
- [ ] Security best practices are followed
- [ ] Authentication/authorization is properly implemented (if applicable)
## Deployment
- [ ] Application is deployed and live
- [ ] Deployment is automated (CI/CD)
- [ ] Environment variables are properly configured
- [ ] Application is accessible and functional
- [ ] Domain is configured (optional but recommended)
## User Experience (if applicable)
- [ ] Application is intuitive and easy to use
- [ ] Error messages are clear and helpful
- [ ] Loading states are handled appropriately
- [ ] Responsive design works on all screen sizes
- [ ] Accessibility standards are met
## Performance
- [ ] Application loads quickly
- [ ] No obvious performance bottlenecks
- [ ] Database queries are optimized (if applicable)
- [ ] Images and assets are optimized
- [ ] Caching is implemented where appropriate
## Project Organization
- [ ] Repository structure is clean and logical
- [ ] Files are properly organised
- [ ] Git history is clean and meaningful
- [ ] Issues are properly labelled and organised
- [ ] Project board is organised (if used)
## Professional Presentation
- [ ] Project can be confidently shown on resume
- [ ] Project demonstrates relevant skills
- [ ] Project solves a real problem or demonstrates capability
- [ ] Code quality reflects professional standards
- [ ] Documentation is professional and complete
## Final Review
- [ ] All checklist items are completed
- [ ] Project is ready for portfolio/resume presentation
- [ ] You feel confident showcasing this project
- [ ] Optional: Request feedback from community or programme leadership
---
*This checklist is comprehensive. Work through it systematically to ensure your project is polished and professional.*
@@ -0,0 +1,273 @@
---
title: Final Polish Resources
---
**FINAL POLISH CHECKLIST, CODE CLEANUP GUIDELINES, DOCUMENTATION TEMPLATES, AND DEPLOYMENT GUIDES**
## Final Polish Checklist
See [Final Polish Checklist](/mentorship/resources/final-polish-checklist) for the comprehensive checklist.
## Code Cleanup Guidelines
### Code Review and Refactoring
**Review Your Code:**
- Remove commented-out code
- Remove debugging statements
- Remove unused imports/variables
- Simplify complex logic
- Improve variable/function names
- Add missing comments
- Fix code style inconsistencies
### Code Organisation
**Structure:**
- Organise files logically
- Group related functionality
- Separate concerns appropriately
- Follow project conventions
- Remove duplicate code
### Performance Optimisation
**Optimise:**
- Database queries
- API calls
- Asset loading
- Rendering performance
- Memory usage
### Error Handling
**Improve:**
- Add comprehensive error handling
- Provide meaningful error messages
- Handle edge cases
- Add validation where needed
- Improve user feedback
## Documentation Templates
### README.md Template
```markdown
# [Project Name]
[Brief description of what the project does]
## Features
- Feature 1
- Feature 2
- Feature 3
## Technologies Used
- Technology 1
- Technology 2
- Technology 3
## Getting Started
### Prerequisites
- Prerequisite 1
- Prerequisite 2
### Installation
\`\`\`bash
# Installation steps
npm install
\`\`\`
### Usage
\`\`\`bash
# Usage instructions
npm start
\`\`\`
## Project Structure
\`\`\`
project/
├── src/
├── tests/
└── docs/
\`\`\`
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
## License
See [LICENSE.md](LICENSE.md) for license information.
## Contact
[Your contact information]
```
### CONTRIBUTING.md Template
```markdown
# Contributing to [Project Name]
Thank you for your interest in contributing!
## Development Setup
### Prerequisites
- Prerequisite 1
- Prerequisite 2
### Setup Steps
1. Fork the repository
2. Clone your fork
3. Install dependencies
4. Create a branch for your changes
## Code Style
- Follow project style guide
- Use consistent formatting
- Write clear, readable code
## Testing
- Write tests for new features
- Ensure all tests pass
- Maintain test coverage
## Pull Request Process
1. Create a feature branch
2. Make your changes
3. Write/update tests
4. Update documentation
5. Submit pull request
6. Address review feedback
## Questions?
[Contact information or link to discussions]
```
### LICENSE.md Template
**Common Licenses:**
- **MIT License:** Permissive, allows commercial use
- **Apache 2.0:** Permissive with patent protection
- **GPL v3:** Copyleft, requires derivative works to be open source
- **BSD 3-Clause:** Permissive with attribution requirement
**Choose a license appropriate for your project.** You can find license templates at [choosealicense.com](https://choosealicense.com/).
## Deployment Guides
### Vercel Deployment (Front-End)
**Steps:**
1. Create account at [vercel.com](https://vercel.com)
2. Import your GitHub repository
3. Configure build settings
4. Add environment variables
5. Deploy
**Configuration:**
- Build command: `npm run build`
- Output directory: `dist` or `build`
- Install command: `npm install`
### Netlify Deployment (Front-End)
**Steps:**
1. Create account at [netlify.com](https://netlify.com)
2. Import your GitHub repository
3. Configure build settings
4. Add environment variables
5. Deploy
**Configuration:**
- Build command: `npm run build`
- Publish directory: `dist` or `build`
### Railway Deployment (Back-End)
**Steps:**
1. Create account at [railway.app](https://railway.app)
2. Create new project
3. Connect GitHub repository
4. Configure environment variables
5. Deploy
**Configuration:**
- Start command: `npm start` or `node server.js`
- Build command: `npm install`
### Heroku Deployment (Full-Stack)
**Steps:**
1. Create account at [heroku.com](https://heroku.com)
2. Install Heroku CLI
3. Create Heroku app
4. Configure environment variables
5. Deploy
**Configuration:**
- Procfile: `web: node server.js`
- Environment variables in Heroku dashboard
### Render Deployment
**Steps:**
1. Create account at [render.com](https://render.com)
2. Create new service
3. Connect GitHub repository
4. Configure build and start commands
5. Add environment variables
6. Deploy
**Configuration:**
- Build command: `npm install`
- Start command: `npm start`
## Domain Configuration
### Setting Up Custom Domain
**General Steps:**
1. Purchase domain from registrar
2. Configure DNS records
3. Add domain to hosting provider
4. Update SSL certificate
5. Verify domain ownership
**DNS Configuration:**
- Add A record pointing to hosting IP
- Add CNAME record for subdomains
- Configure SSL/TLS certificates
## Deployment Checklist
- [ ] Application is tested and working locally
- [ ] Environment variables are configured
- [ ] Database is set up (if applicable)
- [ ] Build process works correctly
- [ ] Deployment platform is configured
- [ ] Domain is configured (optional)
- [ ] SSL certificate is active
- [ ] Application is accessible and functional
- [ ] Error monitoring is set up (optional)
- [ ] Analytics are configured (optional)
---
*Proper documentation and deployment make your project professional and accessible. Take time to polish these aspects.*
@@ -0,0 +1,187 @@
---
title: Goal Setting Resources
---
**ROADMAP TEMPLATES AND GOAL-SETTING RESOURCES**
## Roadmap Templates
### Front-End Developer Roadmap
**Weeks 1-4: Foundations**
- HTML/CSS fundamentals
- JavaScript basics
- Responsive design principles
- Version control (Git/GitHub)
- Project: Build a responsive landing page
**Weeks 5-8: Frameworks & Libraries**
- Learn a front-end framework (React, Vue, or Angular)
- Component-based architecture
- State management basics
- Build tools (Webpack, Vite, etc.)
- Project: Build a single-page application
**Weeks 9-12: Advanced Topics**
- API integration
- Testing (Jest, React Testing Library)
- Performance optimization
- Accessibility (WCAG guidelines)
- Project: Build a full-featured front-end application
### Back-End Developer Roadmap
**Weeks 1-4: Foundations**
- Choose a language (Node.js, Python, Java, etc.)
- Database fundamentals (SQL)
- RESTful API design
- Version control (Git/GitHub)
- Project: Build a simple API
**Weeks 5-8: Advanced Back-End**
- Database design and optimization
- Authentication and authorization
- API security best practices
- Error handling and logging
- Project: Build a secure API with authentication
**Weeks 9-12: Production-Ready Skills**
- Testing (unit, integration, e2e)
- Deployment and DevOps basics
- Caching strategies
- Performance optimization
- Project: Build a production-ready back-end system
### Full-Stack Developer Roadmap
**Weeks 1-4: Foundations**
- Front-end basics (HTML, CSS, JavaScript)
- Back-end basics (choose a stack)
- Database fundamentals
- Version control
- Project: Build a simple full-stack application
**Weeks 5-8: Integration**
- Connect front-end and back-end
- API design and consumption
- Authentication flow
- State management
- Project: Build an authenticated full-stack app
**Weeks 9-12: Advanced Full-Stack**
- Testing across the stack
- Deployment pipeline
- Performance optimization
- Security best practices
- Project: Build a production-ready full-stack application
### Mobile Developer Roadmap
**Weeks 1-4: Foundations**
- Choose platform (iOS/Swift, Android/Kotlin, or React Native/Flutter)
- Platform-specific fundamentals
- UI/UX principles for mobile
- Version control
- Project: Build a simple mobile app
**Weeks 5-8: Advanced Mobile**
- Navigation and routing
- State management
- API integration
- Platform-specific features
- Project: Build a feature-rich mobile app
**Weeks 9-12: Production Skills**
- Testing mobile applications
- App store deployment
- Performance optimization
- Push notifications
- Project: Build and deploy a mobile application
### Game Developer Roadmap
**Weeks 1-4: Foundations**
- Choose game engine (Unity, Unreal, Godot, etc.)
- Game design fundamentals
- Basic scripting
- Version control
- Project: Build a simple game prototype
**Weeks 5-8: Game Development**
- Game mechanics implementation
- Asset integration
- Physics and collision detection
- User input handling
- Project: Build a playable game
**Weeks 9-12: Polish & Deployment**
- UI/UX for games
- Sound and music integration
- Performance optimization
- Game deployment
- Project: Polish and deploy a complete game
## Customizing Your Roadmap
### Self-Assessment Questions
1. **What is your current skill level?**
- Complete beginner
- Some experience with programming
- Intermediate level
- Advanced in some areas
2. **How much time can you commit per week?**
- 5-10 hours
- 10-20 hours
- 20+ hours
3. **What are your learning preferences?**
- Prefer structured learning
- Prefer project-based learning
- Mix of both
4. **What are your career goals?**
- Specific role you're targeting
- Industries you're interested in
- Types of projects you want to work on
### Roadmap Customization Tips
- **Adjust timelines** based on your available time
- **Add or remove topics** based on your goals
- **Focus on areas** where you need the most improvement
- **Include projects** that interest you
- **Update regularly** as you learn and grow
## Roadmap Examples
### Example: Customized Front-End Roadmap
**Weeks 1-3: HTML/CSS Deep Dive**
- Advanced CSS (Grid, Flexbox, animations)
- CSS preprocessors (Sass)
- Project: Build a complex landing page
**Weeks 4-6: JavaScript Mastery**
- ES6+ features
- Async programming
- DOM manipulation
- Project: Build an interactive web app
**Weeks 7-9: React Framework**
- React fundamentals
- Hooks and context
- Routing
- Project: Build a React application
**Weeks 10-12: Production Skills**
- Testing
- Performance optimization
- Deployment
- Project: Polish and deploy React app
---
*These templates are starting points. Customize them to fit your individual needs, timeline, and goals.*
@@ -0,0 +1,212 @@
---
title: Priority and Effort Resources
---
**PRIORITY ASSIGNMENT AND EFFORT ESTIMATION GUIDES**
## Priority Assignment Guide
### Understanding Priority
**Priority is based on dependencies, not personal preference.**
Priority determines the order in which user stories should be completed based on:
- Which stories block other stories
- Which stories must be completed first
- Logical sequence requirements
### Priority Assignment Process
#### Step 1: Identify Dependencies
**Questions to Ask:**
- Which stories must be completed before others can start?
- Which stories block multiple other stories?
- What is the logical sequence of feature development?
**Example:**
- Authentication must be completed before user-specific features
- Database models must exist before features that use them
- Core features must exist before advanced features
#### Step 2: Map Dependencies
**Create a dependency map:**
- List all user stories
- Identify which stories depend on others
- Identify which stories block others
- Create a dependency graph
#### Step 3: Assign Priority Levels
**Priority Levels:**
- **High Priority:** Blocks multiple other stories or is foundational
- **Medium Priority:** Blocked by high priority, may block some stories
- **Low Priority:** Blocked by other stories, doesn't block others
### Priority Example
**User Stories:**
1. As an unauthenticated user, I can create an account
2. As an authenticated user, I can view my profile
3. As an authenticated user, I can edit my profile
4. As an authenticated user, I can create a post
5. As a user, I can view posts from other users
**Dependency Analysis:**
- Story 1 blocks stories 2, 3, and 4 (authentication required)
- Story 2 blocks story 3 (must view before editing)
- Story 4 blocks story 5 (must create before viewing)
- Stories 2 and 4 don't block each other
**Priority Assignment:**
- **High:** Story 1 (blocks multiple stories)
- **Medium:** Stories 2 and 4 (blocked by 1, but don't block each other)
- **Low:** Stories 3 and 5 (blocked by other stories)
## Effort Estimation Guide
### Understanding Effort
**Effort represents the amount of work required to complete a story.**
Effort helps you:
- Plan your work timeline
- Balance high-priority tasks with available time
- Estimate project completion
- Make informed decisions about task selection
### Effort Estimation Methods
#### Story Points
**Common Scales:**
- **Fibonacci:** 1, 2, 3, 5, 8, 13, 21
- **T-Shirt Sizes:** XS, S, M, L, XL
- **Linear:** 1, 2, 3, 4, 5
**Story Point Guidelines:**
- **1-2 points:** Simple, straightforward tasks
- **3-5 points:** Moderate complexity, some unknowns
- **8-13 points:** Complex, multiple components, significant unknowns
- **21+ points:** Very complex, should be broken down
#### Time-Based Estimation
**Time Estimates:**
- **Small:** 1-4 hours
- **Medium:** 4-16 hours
- **Large:** 16-40 hours
- **Very Large:** 40+ hours (consider breaking down)
### Effort Estimation Factors
**Consider:**
- **Complexity:** How complex is the implementation?
- **Uncertainty:** How much is unknown?
- **Dependencies:** Are dependencies clear and available?
- **Scope:** How much work is involved?
- **Risk:** What could go wrong?
### Effort Example
**User Stories with Effort Estimates:**
1. **Create account (5 points):** Building entire authentication flow is complex
2. **View profile (3 points):** Moderate complexity, needs API and UI
3. **Edit profile (3 points):** Similar to view, plus update logic
4. **Create post (5 points):** Complex with validation, API, UI
5. **View posts (1 point):** Simple display of existing data
## Label Examples
### Priority Labels
**Option 1: Text Labels**
- `priority: high`
- `priority: medium`
- `priority: low`
**Option 2: Numbered**
- `priority: 1` (highest)
- `priority: 2`
- `priority: 3` (lowest)
**Option 3: Descriptive**
- `priority: critical`
- `priority: important`
- `priority: nice-to-have`
### Effort Labels
**Option 1: Story Points**
- `effort: 1`
- `effort: 2`
- `effort: 3`
- `effort: 5`
- `effort: 8`
- `effort: 13`
**Option 2: T-Shirt Sizes**
- `effort: xs`
- `effort: s`
- `effort: m`
- `effort: l`
- `effort: xl`
**Option 3: Time-Based**
- `effort: small` (1-4 hours)
- `effort: medium` (4-16 hours)
- `effort: large` (16-40 hours)
## Best Practices
### Priority Best Practices
✅ Base priority on dependencies, not interest
✅ Review dependencies carefully
✅ Update priorities as dependencies change
✅ Consider blocking relationships
❌ Don't prioritize based on what's most fun
❌ Don't prioritize based on excitement level
❌ Don't ignore dependencies
### Effort Best Practices
✅ Be honest about complexity
✅ Consider unknowns and risks
✅ Break down large stories
✅ Review estimates after completion to improve
❌ Don't underestimate complex tasks
❌ Don't overestimate simple tasks
❌ Don't ignore your own skill level
## Combining Priority and Effort
### Work Planning Strategy
**When you have limited time:**
- Choose high-priority, low-effort tasks first
- This allows progress even with time constraints
**When you have more time:**
- Tackle high-priority, high-effort tasks
- These are often foundational and important
**Example Decision Matrix:**
| Priority | Effort | Action |
|----------|--------|--------|
| High | Low | Do first |
| High | High | Do when you have time |
| Medium | Low | Good for quick wins |
| Medium | High | Plan for dedicated time |
| Low | Low | Do when caught up |
| Low | High | Consider breaking down |
---
*Priority and effort help you plan and execute work effectively. Use them together to make informed decisions about what to work on.*
@@ -0,0 +1,200 @@
---
title: Project Planning Resources
---
**PROJECT PLAN EXAMPLES AND BRAINSTORMING GUIDES**
## Project Plan Example
### Example: Task Management Application
**Project Overview:**
A full-stack task management application that allows users to create, organise, and track tasks with features like kanban boards, task dependencies, and project rewards.
**Core Features:**
1. User authentication and authorization
2. Task creation and management
3. Kanban board view
4. Task dependencies
5. Project organisation
6. Reward system for completed projects
7. Gamification elements (optional)
**Technical Stack:**
- Front-end: React with TypeScript
- Back-end: Node.js with Express
- Database: PostgreSQL
- Authentication: JWT
- Deployment: Vercel (front-end), Railway (back-end)
**Project Structure:**
- User authentication system
- Task CRUD operations
- Project management
- Kanban board interface
- Dependency tracking
- Reward system
- Gamification features
**Timeline:**
- Weeks 1-2: Setup and authentication
- Weeks 3-4: Core task functionality
- Weeks 5-6: Kanban board and views
- Weeks 7-8: Dependencies and projects
- Weeks 9-10: Reward system
- Weeks 11-12: Gamification and polish
## Project Idea Brainstorming Guide
### Step 1: Identify Your Interests
**Questions to Ask:**
- What problems do you encounter in your daily life?
- What tools or applications do you wish existed?
- What hobbies or interests do you have?
- What industries are you curious about?
**Examples:**
- Daily life: Meal planning, expense tracking, habit tracking
- Tools: Code snippet manager, design asset organiser
- Hobbies: Music playlist creator, workout tracker, recipe manager
- Industries: Healthcare apps, education tools, productivity software
### Step 2: Define the Problem
**Problem Statement Template:**
"As a [user type], I need [what they need] because [why they need it]."
**Example:**
"As a developer, I need a way to organise and quickly access my code snippets because I waste time searching through notes and documentation."
### Step 3: Identify Core Features
**Feature Brainstorming:**
- What are the essential features (MVP)?
- What features would be nice to have?
- What features are stretch goals?
**MVP Features:**
- Core functionality that solves the main problem
- User authentication (if needed)
- Basic CRUD operations
- Essential UI/UX
**Nice-to-Have Features:**
- Advanced functionality
- Additional views or interfaces
- Integration with other services
- Advanced customization
**Stretch Goals:**
- Gamification
- Social features
- Advanced analytics
- Mobile apps
### Step 4: Choose Your Tech Stack
**Considerations:**
- What technologies align with your career goals?
- What technologies are you learning?
- What technologies are in demand for your target roles?
- What technologies interest you?
**Common Stacks:**
- **MERN:** MongoDB, Express, React, Node.js
- **PERN:** PostgreSQL, Express, React, Node.js
- **MEVN:** MongoDB, Express, Vue, Node.js
- **Django/Flask + React:** Python back-end, React front-end
- **Ruby on Rails + React:** Ruby back-end, React front-end
### Step 5: Plan Your Project Structure
**Project Components:**
- Authentication system
- Core feature modules
- Database schema
- API endpoints
- Front-end components
- Testing strategy
- Deployment plan
## Project Planning Template
```markdown
# [Project Name]
## Project Overview
[Brief description of what the project does and why it exists]
## Problem Statement
[What problem does this solve? Who is it for?]
## Core Features (MVP)
1. [Feature 1]
2. [Feature 2]
3. [Feature 3]
## Nice-to-Have Features
1. [Feature 1]
2. [Feature 2]
## Stretch Goals
1. [Feature 1]
2. [Feature 2]
## Technical Stack
- Front-end: [Technology]
- Back-end: [Technology]
- Database: [Technology]
- Other: [Technologies]
## Project Structure
- [Component/Module 1]
- [Component/Module 2]
- [Component/Module 3]
## Timeline
- Week 1-2: [Milestone]
- Week 3-4: [Milestone]
- Week 5-6: [Milestone]
- Week 7-8: [Milestone]
- Week 9-10: [Milestone]
- Week 11-12: [Milestone]
## Success Criteria
- [ ] [Criterion 1]
- [ ] [Criterion 2]
- [ ] [Criterion 3]
```
## Additional Project Ideas
### Beginner-Friendly Projects
- Todo list application
- Weather app
- Calculator
- Quiz application
- Blog platform
- Recipe finder
### Intermediate Projects
- E-commerce site
- Social media platform
- Project management tool
- Chat application
- Expense tracker
- Learning management system
### Advanced Projects
- Real-time collaboration tool
- Video streaming platform
- Marketplace application
- Analytics dashboard
- AI-powered application
- Blockchain-based application
---
*Use these examples and templates as starting points. The best projects solve real problems and demonstrate your skills effectively.*
@@ -0,0 +1,246 @@
---
title: Technical Breakdown Resources
---
**TECHNICAL BREAKDOWN TEMPLATE AND EXAMPLES**
## Technical Breakdown Template
Copy this template into each user story issue:
```markdown
## 🎯 Acceptance Criteria
- [ ] Criteria 1 (clear, testable condition)
- [ ] Criteria 2
- [ ] Criteria 3
---
## ⚙️ Technical Details
- Proposed implementation approach:
- [ ] e.g., API endpoint, UI component, database schema changes
- Data considerations:
- [ ] Models, validation, storage needs
- Security/permissions:
- [ ] Any auth or role checks?
---
## 🔗 Dependencies
- [ ] Related tickets or features
- [ ] External services or APIs
- [ ] Libraries or frameworks required
---
## 🧪 Testing Notes
- [ ] Unit tests to cover…
- [ ] Integration tests to cover…
- [ ] Manual QA steps…
---
## 📂 Additional Context
- Links to designs, diagrams, or docs
- Any constraints or assumptions
- Open questions / things to clarify
```
## Technical Breakdown Example
### Example User Story
**User Story:** As an authenticated user, I should be able to add a game to my library.
### Completed Technical Breakdown
```markdown
## 🎯 Acceptance Criteria
- [ ] User can add game to library via API endpoint
- [ ] User can view games in their library
- [ ] User can remove game from library
- [ ] User cannot add duplicate games to library
- [ ] Only authenticated users can modify their library
---
## ⚙️ Technical Details
- Proposed implementation approach:
- [ ] POST /api/library endpoint to add game
- [ ] GET /api/library endpoint to retrieve user's library
- [ ] DELETE /api/library/:gameId endpoint to remove game
- [ ] Front-end component to display library
- [ ] Front-end component with add/remove buttons
- Data considerations:
- [ ] User model must have library property (array of game IDs)
- [ ] Each game ID references a Game model record
- [ ] Validate game ID exists before adding
- [ ] Prevent duplicate entries in library array
- [ ] Consider pagination for large libraries
- Security/permissions:
- [ ] Validate JWT token on all endpoints
- [ ] Ensure authenticated user can only modify their own library
- [ ] Validate game ID to prevent invalid references
- [ ] Rate limiting to prevent abuse
---
## 🔗 Dependencies
- [ ] #2 - User authentication must be implemented first
- [ ] #5 - Game model must exist
- [ ] #8 - Profile UI necessary to access library view
- [ ] JWT authentication library
- [ ] Express middleware for JWT validation
---
## 🧪 Testing Notes
- [ ] Unit tests:
- [ ] POST endpoint adds game to library
- [ ] POST endpoint prevents duplicates
- [ ] GET endpoint returns user's library
- [ ] DELETE endpoint removes game from library
- [ ] Endpoints reject unauthenticated requests
- [ ] Endpoints prevent users from modifying other users' libraries
- [ ] Integration tests:
- [ ] Full flow: add game, view library, remove game
- [ ] Authentication flow with library operations
- [ ] Manual QA steps:
- [ ] Test adding game via UI
- [ ] Test viewing library
- [ ] Test removing game
- [ ] Test error handling (invalid game ID, duplicate, etc.)
- [ ] Test with multiple users to ensure isolation
---
## 📂 Additional Context
- Relational data model means using MongoDB might not be the best choice. Should we re-evaluate database choice?
- Consider adding a GET /api/library/:userId endpoint for viewing other users' libraries (future feature)
- May want to add library statistics (total games, recently added, etc.)
- Consider caching library data for performance
```
## Technical Breakdown Guide
### Acceptance Criteria
**Purpose:** Define clear, testable conditions for story completion.
**Tips:**
- Make criteria specific and measurable
- Focus on behavior, not implementation
- Ensure criteria are testable
- Cover both happy path and edge cases
**Examples:**
- ✅ "User can add game to library"
- ✅ "User cannot add duplicate games"
- ❌ "Implement library feature" (too vague)
- ❌ "Use MongoDB" (implementation detail)
### Technical Details
**Implementation Approach:**
- What components/modules will be created?
- What API endpoints are needed?
- What UI components are required?
- What database changes are needed?
**Data Considerations:**
- What data models are involved?
- What validation is needed?
- What relationships exist?
- What storage requirements are there?
**Security/Permissions:**
- What authentication is required?
- What authorization checks are needed?
- What data should be protected?
- What rate limiting is appropriate?
### Dependencies
**Types of Dependencies:**
- **Feature Dependencies:** Other user stories that must be completed first
- **Technical Dependencies:** Libraries, frameworks, or services needed
- **External Dependencies:** Third-party APIs or services
**Identifying Dependencies:**
- What must exist before this can be built?
- What external services are needed?
- What libraries or frameworks are required?
- What infrastructure is needed?
### Testing Notes
**Unit Tests:**
- Test individual functions/methods
- Test edge cases and error handling
- Test validation logic
- Test business rules
**Integration Tests:**
- Test component interactions
- Test API endpoints
- Test database operations
- Test authentication/authorization flows
**Manual QA:**
- Test user workflows
- Test UI interactions
- Test error scenarios
- Test across different browsers/devices
### Additional Context
**Include:**
- Design mockups or wireframes
- Architecture diagrams
- Related documentation
- Constraints or limitations
- Open questions or concerns
- Future considerations
## Common Technical Patterns
### API Endpoint Pattern
```markdown
## ⚙️ Technical Details
- Proposed implementation approach:
- [ ] POST /api/resource endpoint
- [ ] Request validation middleware
- [ ] Database operation
- [ ] Response formatting
- Data considerations:
- [ ] Resource model schema
- [ ] Required fields validation
- [ ] Data relationships
- Security/permissions:
- [ ] JWT authentication required
- [ ] Role-based authorization
```
### UI Component Pattern
```markdown
## ⚙️ Technical Details
- Proposed implementation approach:
- [ ] Component structure (e.g., React component)
- [ ] State management
- [ ] API integration
- [ ] Error handling UI
- Data considerations:
- [ ] Component props/state
- [ ] Data fetching strategy
- [ ] Loading states
- Security/permissions:
- [ ] Conditional rendering based on user role
- [ ] Protected routes
```
---
*Technical breakdowns help you plan implementation before coding. Take time to think through all aspects of the feature.*
@@ -0,0 +1,209 @@
---
title: User Story Resources
---
**USER STORY TEMPLATES, EXAMPLES, AND WRITING GUIDES**
## User Story Format
### Standard Format
```
As a [user type], I want [goal/desire] so that [benefit/value].
```
### Components
- **User Type:** Who is the user? (e.g., authenticated user, admin, guest)
- **Goal/Desire:** What do they want to do?
- **Benefit/Value:** Why do they want this? What value does it provide?
## User Story Examples
### Authentication Examples
**Example 1:**
As an unauthenticated user, I can create an account so that I can access personalized features.
**Example 2:**
As an unauthenticated user, I can sign in to my existing account so that I can access my saved data.
**Example 3:**
As an authenticated user, I can sign out so that I can secure my account when using shared devices.
### Profile Management Examples
**Example 1:**
As an authenticated user, I can view my profile so that I can see my account information.
**Example 2:**
As an authenticated user, I can edit my profile information so that I can keep my details up to date.
**Example 3:**
As an authenticated user, I can upload a profile picture so that others can identify me.
### Content Management Examples
**Example 1:**
As an authenticated user, I can create a new post so that I can share content with others.
**Example 2:**
As an authenticated user, I can edit my own posts so that I can correct mistakes or update information.
**Example 3:**
As an authenticated user, I can delete my own posts so that I can remove content I no longer want to share.
**Example 4:**
As a user, I can view posts from other users so that I can see community content.
### Admin Examples
**Example 1:**
As an administrator, I can review posts for content violations so that I can maintain community standards.
**Example 2:**
As an administrator, I can remove posts that violate policies so that I can keep the community safe.
**Example 3:**
As an administrator, I can view user analytics so that I can understand community engagement.
### Task Management Examples
**Example 1:**
As an authenticated user, I can create a new task so that I can track work that needs to be done.
**Example 2:**
As an authenticated user, I can mark a task as complete so that I can track my progress.
**Example 3:**
As an authenticated user, I can organise tasks into projects so that I can group related work.
**Example 4:**
As an authenticated user, I can set task dependencies so that I can ensure tasks are completed in the correct order.
## User Story Writing Guide
### Step 1: Identify User Types
**Common User Types:**
- Unauthenticated user (guest, visitor)
- Authenticated user (logged-in user)
- Administrator (admin, moderator)
- Premium user (if applicable)
- Specific roles (e.g., teacher, student, manager)
### Step 2: Think About User Goals
**Questions to Ask:**
- What does this user type want to accomplish?
- What actions do they need to take?
- What information do they need to see?
- What features would be valuable to them?
### Step 3: Consider the Value
**Value Considerations:**
- Why is this feature important?
- What problem does it solve?
- How does it improve the user experience?
- What benefit does it provide?
### Step 4: Write the Story
**Writing Tips:**
- Keep it simple and focused
- One feature per story
- Use clear, concise language
- Focus on user value, not implementation
### Step 5: Review and Refine
**Review Checklist:**
- Is the user type clear?
- Is the goal specific and actionable?
- Is the value/benefit clear?
- Is it testable?
- Is it independent (can be developed separately)?
## User Story Template
```markdown
## User Story: [Brief Title]
**As a** [user type]
**I want** [goal/desire]
**So that** [benefit/value]
### Acceptance Criteria
- [ ] [Criterion 1]
- [ ] [Criterion 2]
- [ ] [Criterion 3]
### Notes
[Any additional context or considerations]
```
## Common User Story Patterns
### CRUD Operations
**Create:**
As an authenticated user, I can create [resource] so that [value].
**Read/View:**
As a user, I can view [resource] so that [value].
**Update:**
As an authenticated user, I can edit [resource] so that [value].
**Delete:**
As an authenticated user, I can delete [resource] so that [value].
### Authentication Flow
- Account creation
- Sign in
- Sign out
- Password reset
- Email verification
- Profile management
### Content Management
- Create content
- View content
- Edit content
- Delete content
- Search/filter content
- Organise content
### Social Features
- Follow users
- Like/favourite content
- Comment on content
- Share content
- Message users
## Best Practices
### Do's
✅ Write from the user's perspective
✅ Focus on value and benefits
✅ Keep stories independent
✅ Make stories testable
✅ Use clear, simple language
### Don'ts
❌ Include technical implementation details
❌ Combine multiple features
❌ Use vague or ambiguous language
❌ Focus on "how" instead of "what"
❌ Make stories too large or complex
---
*User stories should be clear, focused, and user-centred. They guide development by keeping the focus on user value.*
+61 -6
View File
@@ -1,10 +1,33 @@
---
title: Downloading and Editing Music
title: Managing Local Music
---
This serves as our documentation for how we manage our local music libraries on Linux.
**DOCUMENTING LOCAL MUSIC LIBRARY MANAGEMENT PROCEDURES**
## Acquiring Music
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Music Management Documentation (hereinafter referred to as "the Documentation") provides technical procedures and instructions for managing local music libraries on Linux systems. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, and all applicable legal protections by reference.
### 1.2. Purpose and Scope
This Documentation describes technical procedures for managing local music libraries. This information is provided for informational purposes and personal use only.
**IMPORTANT: Users are solely responsible for ensuring that all music acquisition, storage, and management activities comply with applicable copyright laws, licensing agreements, and legal requirements. Our organisation does not condone or support any illegal activities, including copyright infringement or piracy.**
### 1.3. Legal Compliance Disclaimer
All users must ensure that their music acquisition and management activities comply with:
- Applicable copyright laws and regulations
- Terms of service of music platforms and services
- Licensing agreements for music content
- All relevant intellectual property laws
Our organisation assumes no responsibility for any illegal activities conducted using information from this Documentation.
## 2. ACQUIRING MUSIC
You are welcome to use any method you wish to *LEGALLY* acquire music. We would never encourage the criminal act of piracy. But maybe you're an artist and you want to archive or back up your own music - in that case, here you go:
@@ -14,7 +37,7 @@ yt-dlp -x --audio-format mp3 <url> --cookies-from-browser firefox
Omit the `--cookies-from-browser firefox` if you do not need authentication (auth is required for age-restricted content, for example).
## Editing Metadata
## 3. EDITING METADATA
The specific meta tags you may need to set will vary depending on the music software you use. We have confirmed that `TIT2` is read as the title and `TPE1` is read as the artist when using Amberol on Linux and Musicolet on Android. Using `-t` and `-a` might work.
@@ -22,7 +45,7 @@ The specific meta tags you may need to set will vary depending on the music soft
id3v2 "/path/to/song" --TIT2 "Song Title" --TPE1 "Song Artist"
```
## Adding Cover Image
## 4. ADDING COVER IMAGES
Download the image (we have confirmed JPEGs work) that you want to apply to the song, then run:
@@ -30,10 +53,42 @@ Download the image (we have confirmed JPEGs work) that you want to apply to the
eyeD3 --add-image="/path/to/img":FRONT_COVER "/path/to/mp3"
```
## Copying to Android Locally
## 5. COPYING TO ANDROID DEVICES
You'll need to replace your paths and your device ID to match your local setup, but:
```bash
adb -s 192.168.12.105:5555 push music/* /storage/self/primary/Music
```
## 6. LIMITATION OF LIABILITY AND DISCLAIMERS
### 6.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 6.2. Legal Compliance Disclaimer
This Documentation provides technical procedures only. Our organisation:
- Does not provide legal advice regarding music acquisition or copyright compliance
- Does not endorse or support any illegal activities, including copyright infringement
- Assumes no responsibility for users' compliance with copyright laws or licensing agreements
- Recommends that users consult qualified legal counsel for questions about copyright compliance
### 6.3. Technical Accuracy Disclaimer
While we strive to maintain accurate and current information in this Documentation, software tools, commands, and procedures may change over time. Users are responsible for:
- Verifying current software versions and compatibility
- Adapting procedures to their specific system configurations
- Ensuring their technical setup meets the requirements for these procedures
- Consulting additional resources for the most current technical information
## 7. CONCLUSION
This Music Management Documentation provides technical procedures for managing local music libraries on Linux systems. All users must ensure that their use of these procedures complies with applicable copyright laws, licensing agreements, and legal requirements.
---
*For questions about music management procedures or legal compliance, please consult qualified legal counsel.*
+151
View File
@@ -0,0 +1,151 @@
---
title: AI Prompts
---
**DOCUMENTING STANDARD AI PROMPTS AND WORKFLOW TEMPLATES**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This AI Prompts Documentation (hereinafter referred to as "the Documentation") provides standard prompts, templates, and workflow instructions for using artificial intelligence tools in our organisational workflows. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, and all applicable legal protections by reference.
### 1.2. Purpose and Scope
This Documentation serves as a reference for standardised AI prompts used in various organisational contexts. These prompts are provided for convenience and consistency but may require customisation for specific use cases.
**IMPORTANT: These prompts are provided as starting points and may require modification to meet specific requirements. Users are responsible for ensuring that any use of AI tools complies with applicable laws, regulations, and organisational policies.**
### 1.3. AI Tool Usage Disclaimer
Our organisation does not guarantee the accuracy, reliability, or appropriateness of outputs generated using these prompts. Users are responsible for:
- Reviewing and validating all AI-generated content
- Ensuring compliance with applicable laws and regulations
- Maintaining appropriate oversight of AI tool usage
- Protecting sensitive or confidential information when using AI tools
## 2. AI PROMPTS
### 2.1. Documentation Generation Prompt
Open Claude Code in your project directory, then provide this prompt:
```md
Please go through the entire `src` directory and use the codebase to generate documentation for me, given the following template:
---
title: <app name>
---
<app name> (hereinafter the "Application") is <description>
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
```
### 2.2. Comprehension Question Generation Prompt
We use this for some of our client work, but this is great for creating questions to quiz yourself on any document you've read.
````md
You must create three comprehension check questions for the lecture script the user provides. Do not include any other information. Format the response as a code block so the user can easily copy the syntax.
Here is the format:
```
### Question 1:
Which of the following is a key characteristic of relational databases?
**A.** Flexible schema
**B.** Document-based structure
**C.** Key-value pairs
**D.** Structured data in tables
Hint: Think about how data is organised in relational databases.
Answer: **D.** Structured data in tables
### Question 2:
Which of the following is a key characteristic of relational databases?
**A.** Flexible schema
**B.** Document-based structure
**C.** Key-value pairs
**D.** Structured data in tables
Hint: Think about how data is organised in relational databases.
Answer: **D.** Structured data in tables
### Question 3:
Which of the following is a key characteristic of relational databases?
**A.** Flexible schema
**B.** Document-based structure
**C.** Key-value pairs
**D.** Structured data in tables
Hint: Think about how data is organised in relational databases.
Answer: **D.** Structured data in tables
```
````
## 3. LIMITATION OF LIABILITY AND DISCLAIMERS
### 3.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 3.2. AI Tool Usage Disclaimer
These prompts are provided for informational purposes only. Our organisation:
- Does not guarantee the accuracy, reliability, or appropriateness of outputs generated using these prompts
- Does not warrant that these prompts will produce desired results in all contexts
- Assumes no responsibility for outcomes resulting from the use of these prompts with AI tools
- Recommends that users review and validate all AI-generated content
### 3.3. User Responsibilities
Users are responsible for:
- Reviewing and validating all AI-generated content before use
- Ensuring compliance with applicable laws, regulations, and organisational policies
- Protecting sensitive or confidential information when using AI tools
- Maintaining appropriate oversight and quality control of AI tool usage
- Adapting prompts to meet specific requirements and contexts
## 4. CONCLUSION
This AI Prompts Documentation provides standardised prompts and workflow templates for using artificial intelligence tools in our organisational workflows. All users are responsible for ensuring that their use of these prompts complies with applicable laws, regulations, and organisational policies, and for maintaining appropriate oversight of AI tool usage.
---
*For questions about AI prompt usage or to suggest improvements, please contact appropriate organisational leadership through designated communication channels.*
+852
View File
@@ -0,0 +1,852 @@
---
title: Templates
---
**PROVIDING STANDARD TEMPLATES AND DOCUMENTATION FORMS**
## 1. INTRODUCTION AND LEGAL FRAMEWORK
### 1.1. Policy Overview
This Templates Documentation (hereinafter referred to as "the Documentation") provides standard templates, forms, and documentation formats used throughout our organisation. This Documentation operates within our comprehensive legal and policy framework, incorporating our Terms of Service, Privacy Policy, and all applicable legal protections by reference.
### 1.2. Purpose and Scope
This Documentation serves as a reference for standardised templates used in various organisational contexts. These templates are provided for convenience and consistency but may require customisation for specific use cases.
**IMPORTANT: These templates are provided as starting points and may require modification to meet specific legal, regulatory, or contextual requirements. Users are responsible for ensuring that any use of these templates complies with applicable laws and regulations.**
### 1.3. Disclaimer
Our organisation does not provide legal advice. These templates are provided for informational purposes only. Users should consult with qualified legal counsel when using these templates for legal matters or when compliance with specific regulations is required.
## 2. TEMPLATES
### 2.1. Legal Templates
#### 2.1.1. DMCA Takedown Template
```md
To whom it may concern:
We are writing to notify you of the copyright infringement and unlawful use of our copyrighted material that appear on the service for which you are the designated agent.
The infringing material, which we contend belong to us, includes our original visual assets.
The infringing material appears at the following location(s):
<url>
The original material is available at the following location(s):
<url>
This letter is the official notification under Section 512(c) of the Digital Millennium Copyright Act of 1998 ("DMCA") and we request the immediate removal of the aforementioned infringing materials from your servers.
We also request that you immediately notify the infringer of this notice and inform them to cease any further posting of the infringing material to your server in the future.
We are providing this notice in good faith and with the reasonable belief that we are the copyright holder of the material, and that the use of the described material in the manner complained is not authorised by us, our agents, or the law.
We swear, under penalty of perjury, that the information in this notification is accurate and that we are the owner of the copyrighted material involved.
If you have any questions, please feel free to reach out to us.
```
### 2.2. LinkedIn Templates
#### 2.2.1. LinkedIn Cold Outreach Response Template
```md
I would be more than happy to chat! You can schedule time directly on my calendar:
https://zcal.co/nhcarrigan/meet
```
#### 2.2.2. LinkedIn Post-Event Recommendation Template
```md
I had the absolute pleasure of working with [Participant's Name] during our [event name], where [they] consistently impressed me with [their] dedication, technical growth, and collaborative spirit.
From the start, [Participant's Name] dove into the challenge with enthusiasm, applying [their] skills in [tech stack] to build real, impactful solutions. Whether working independently or as part of a team, [they] brought thoughtful ideas, clear communication, and a passion for learning that elevated everyone around [them].
The value of [Participant's Name]'s contributions are immeasurable. Throughout the event, they [explain loads of goals here].
By the end of the [event name], [Participant's Name] had delivered an outstanding project: [project name or brief description]. More than the final product, what stood out was [their] journey—embracing feedback, overcoming obstacles, and supporting others along the way.
I wholeheartedly recommend [Participant's Name] for any opportunity in tech. [They] bring not just technical ability, but the kind of energy and curiosity that makes any team stronger.
```
#### 2.2.3. LinkedIn Mentorship Recommendation Template
```md
I had the privilege of mentoring [Mentee's Name] through my 1:1 mentorship programme, and from our very first session, it was clear that [they] approached learning with curiosity, determination, and an eagerness to grow.
Over the course of the programme, [Mentee's Name] set clear goals and worked diligently towards them—building both technical skills in [specific tech stack, tools, or concepts] and the professional confidence to apply those skills in real-world scenarios. [They] embraced feedback, sought out challenges, and consistently demonstrated the resilience needed to push past obstacles.
What impressed me most was [their] commitment to personal and professional growth—not just in terms of technical ability, but also in communication, collaboration, and problem-solving. By the end of the mentorship, [Mentee's Name] had successfully delivered [describe final project or achievement], showing not only technical proficiency but also the ability to think critically and adapt to new situations.
I am confident that [Mentee's Name] will continue to excel in their career. They bring the kind of focus, curiosity, and dedication that make them a valuable asset to any team, and I am proud to have played a part in their journey.
```
### 2.3. Form Response Email Templates
#### 2.3.1. Appeals Form - Approval Email Template
Subject Line: `Appeal Decision - [Sanction Type] Appeal Upheld`
```md
Dear [Appellant's Name],
Thank you for submitting your appeal regarding the disciplinary sanction imposed on [date of original sanction]. We acknowledge receipt of your appeal and have conducted a thorough review in accordance with our Community Disciplinary Appeals Policy.
After careful consideration by the Appeals Panel, which included examination of all evidence and documentation, review of the original decision and its rationale, and assessment of your submissions and arguments, we have determined that your appeal has merit and meets the grounds for appeal as established in our policy.
**Decision**: Your appeal has been upheld. The original disciplinary sanction has been [overturned/modified/reduced] as follows: [Insert specific details about the new decision].
**Reasoning**: [Insert detailed reasoning here, addressing the specific grounds raised in the appeal and explaining why the appeal was successful. This should reference procedural compliance, proportionality of the sanction, factual accuracy, evidence considered, and correct application of community policies.]
As outlined in Section 8.1 of our Community Disciplinary Appeals Policy, decisions of the Appeals Panel are final and binding. The decision outlined above is effective immediately.
We appreciate your engagement with our appeals process and your respect for our community standards. We look forward to your continued positive participation in our community.
Regards,
```
#### 2.3.2. Appeals Form - Rejection Email Template
Subject Line: `Appeal Decision - [Sanction Type] Appeal Dismissed`
```md
Dear [Appellant's Name],
Thank you for submitting your appeal regarding the disciplinary sanction imposed on [date of original sanction]. We acknowledge receipt of your appeal and have conducted a thorough review in accordance with our Community Disciplinary Appeals Policy.
After careful consideration by the Appeals Panel, which included examination of all evidence and documentation, review of the original decision and its rationale, and assessment of your submissions and arguments, we have determined that your appeal does not meet the grounds for appeal as established in our policy.
**Decision**: Your appeal has been dismissed. The original disciplinary sanction remains in full effect.
**Reasoning**: [Insert detailed reasoning here, addressing the specific grounds raised in the appeal and explaining why the original decision was appropriate. This should reference procedural compliance, proportionality of the sanction, factual accuracy, evidence considered, and correct application of community policies.]
As outlined in Section 8.1 of our Community Disciplinary Appeals Policy, decisions of the Appeals Panel are final and binding. No further appeals or reviews are available through our internal processes.
We understand that this decision may be disappointing. Our appeals process is designed to ensure fairness and transparency, and we have given your submission careful consideration. The original sanction was imposed in accordance with our community standards and policies, which are designed to maintain a safe and welcoming environment for all members.
If you have any questions about this decision, please note that our Appeals Panel's determination is final. We appreciate your understanding and respect for our community standards and processes.
Regards,
```
#### 2.3.3. Commissions Form - Approval Email Template
```md
Hello [Requester's Name],
Thank you for your commission request! We are excited to work with you on [brief description of commission].
We have reviewed your request and are pleased to accept it. We will begin working on your commission and will keep you updated on our progress.
**Next Steps:**
- [Insert specific next steps, timeline, or requirements here]
- You will receive updates via [preferred contact method]
- Expected completion date: [date if applicable]
If you have any questions or need to make changes to your request, please don't hesitate to reach out to us.
We look forward to creating something amazing for you!
Best regards,
```
#### 2.3.4. Commissions Form - Rejection Email Template
```md
Hello [Requester's Name],
Thank you for your interest in commissioning work from us. We appreciate you taking the time to submit your request.
After careful review, we have decided not to proceed with your commission request at this time. This decision may be based on factors such as current workload, project scope, timeline constraints, or alignment with our services.
Please note that due to the volume of requests we receive, we are unable to provide detailed feedback on every declined request.
We encourage you to stay engaged with our community and projects. If your needs change or you have a different project in mind, we would welcome a new request in the future.
If you have any questions, please reach out in our Discord community: https://chat.nhcarrigan.com
Best regards,
```
#### 2.3.5. Community Recognition Form - Approval Email Template
```md
Hello [Nominator's Name],
Thank you for taking the time to nominate [Nominee's Name] for community recognition! We truly appreciate you highlighting the positive contributions of community members.
We are pleased to inform you that your nomination has been accepted and will be considered in our next recognition cycle. The recognition process involves review by our leadership team, and selected nominees will be celebrated through our community recognition programmes.
**What Happens Next:**
- Your nomination will be reviewed by our recognition committee
- Selected nominees will be notified and celebrated publicly
- Recognition may include awards, spotlights, or other forms of appreciation
- All nominations help us build a more appreciative and inclusive community
Thank you for helping us celebrate the amazing contributions of our community members. Your nomination makes a difference!
If you have any questions, please reach out in our Discord community: https://chat.nhcarrigan.com
Warm regards,
```
#### 2.3.6. Community Recognition Form - Rejection Email Template
```md
Hello [Nominator's Name],
Thank you for taking the time to submit a nomination for community recognition. We truly appreciate your effort to highlight positive contributions in our community.
After careful review, we have decided not to proceed with this nomination at this time. This decision may be based on factors such as eligibility criteria, timing, or alignment with our recognition programmes.
Please note that due to the volume of nominations we receive, we are unable to provide detailed feedback on every declined nomination.
We encourage you to continue recognising positive contributions in our community. There are many ways to show appreciation, including direct recognition, peer appreciation, and future nominations.
If you have any questions about our recognition programmes, please reach out in our Discord community: https://chat.nhcarrigan.com
Thank you again for your engagement with our community.
Warm regards,
```
#### 2.3.7. Contact Form - Approval Email Template
```md
Hello [Contact's Name],
Thank you for reaching out to us through our contact form. We have received your message regarding [brief topic summary].
We appreciate you taking the time to contact us and are pleased to confirm that we have received your inquiry. [Insert specific response or next steps here, such as:]
- We will review your request and respond within [timeframe]
- A team member will be in touch shortly
- We have scheduled a follow-up [meeting/call/response] for [date/time]
If you have any urgent questions or need immediate assistance, please don't hesitate to reach out in our Discord community: https://chat.nhcarrigan.com
We look forward to connecting with you!
Best regards,
```
#### 2.3.8. Contact Form - Rejection Email Template
```md
Hello [Contact's Name],
Thank you for reaching out to us through our contact form. We have received your message regarding [brief topic summary].
After reviewing your inquiry, we are unable to assist with your request at this time. This may be due to factors such as scope of services, current capacity, or alignment with our mission and values.
Please note that due to the volume of inquiries we receive, we are unable to provide detailed feedback on every declined request.
If you have questions about our services or policies, we encourage you to review our documentation at https://docs.nhcarrigan.com or join our Discord community: https://chat.nhcarrigan.com
Thank you for your understanding.
Best regards,
```
#### 2.3.9. Development Review Requests Form - Approval Email Template
```md
Hello [Requester's Name],
Thank you for your development review request! We have reviewed your submission and are pleased to accept your request for review of [project/repository name or description].
**Review Details:**
- Review Type: [Code Review/Project Review/Architecture Review/etc.]
- Materials to be Reviewed: [list of materials]
- Expected Timeline: [timeline for review completion]
**Next Steps:**
- Our team will begin reviewing your materials
- You will receive detailed feedback via [communication method]
- We will provide constructive suggestions for improvement
Please note that development reviews are provided as free services to active community members, and feedback is provided in good faith based on our expertise and best practices.
If you have any questions or need to provide additional materials, please don't hesitate to reach out.
We look forward to reviewing your work!
Best regards,
```
#### 2.3.10. Development Review Requests Form - Rejection Email Template
```md
Hello [Requester's Name],
Thank you for your interest in receiving a development review. We appreciate you taking the time to submit your request.
After careful review, we have decided not to proceed with your development review request at this time. This decision may be based on factors such as:
- Current review capacity and workload
- Alignment with our review services and expertise
- Community membership and engagement requirements
- Project scope or complexity
Please note that development reviews are provided as free services exclusively to active members of our community. If you are not currently an active community member, we encourage you to join our Discord community at https://chat.nhcarrigan.com and become an active participant.
If you have questions about our development review services or would like to resubmit in the future, please reach out in our Discord community: https://chat.nhcarrigan.com
Thank you for your understanding.
Best regards,
```
#### 2.3.11. Events Form - Approval Email Template
```md
Hello [Event Organiser's Name],
Thank you for your event request! We are excited about your proposed event: [Event Name].
We have reviewed your submission and are pleased to approve your event request. We look forward to supporting and promoting this event within our community.
**Event Details:**
- Event Name: [Event Name]
- Proposed Date: [Date]
- Event Type: [Type of event]
**Next Steps:**
- [Insert specific next steps, such as scheduling, promotion, or coordination details]
- We will work with you to finalise event details
- Event promotion will begin [timeline]
If you have any questions or need to make changes to your event details, please don't hesitate to reach out to us.
Thank you for contributing to our community through this event!
Best regards,
```
#### 2.3.12. Events Form - Rejection Email Template
```md
Hello [Event Organiser's Name],
Thank you for your interest in organising an event with our community. We appreciate you taking the time to submit your event request: [Event Name].
After careful review, we have decided not to proceed with your event request at this time. This decision may be based on factors such as:
- Current event calendar and capacity
- Alignment with our community values and mission
- Resource availability and support requirements
- Event scope or logistics
Please note that due to the volume of event requests we receive, we are unable to provide detailed feedback on every declined request.
We encourage you to stay engaged with our community and consider submitting future event proposals. If you have questions about our event policies or would like to discuss alternative event formats, please reach out in our Discord community: https://chat.nhcarrigan.com
Thank you for your understanding and continued engagement with our community.
Best regards,
```
#### 2.3.13. Mock Interview Requests Form - Approval Email Template
```md
Hello [Requester's Name],
Thank you for your mock interview request! We have reviewed your submission and are pleased to accept your request for a [technical/behavioural/combined] mock interview.
**Interview Details:**
- Interview Type: [Type]
- Target Role: [Role if provided]
- Interview Format: [Format]
**Next Steps:**
- We will coordinate with you to schedule your mock interview session
- Mock interviews are typically conducted via [video call/voice call]
- Sessions typically last between 30-60 minutes
- You will receive preparation materials and session details via [communication method]
Please note that mock interviews are provided as free services exclusively to active members of our community. We look forward to helping you prepare for your upcoming interview!
If you have any questions or need to reschedule, please don't hesitate to reach out to us.
Best regards,
```
#### 2.3.14. Mock Interview Requests Form - Rejection Email Template
```md
Hello [Requester's Name],
Thank you for your interest in receiving a mock interview. We appreciate you taking the time to submit your request.
After careful review, we have decided not to proceed with your mock interview request at this time. This decision may be based on factors such as:
- Current interview capacity and availability
- Community membership and engagement requirements
- Interview type or scope alignment with our services
- Scheduling constraints
**IMPORTANT**: Mock interviews are provided as free services EXCLUSIVELY to active members of our community. These services are NOT available to the general public. To be eligible, you MUST be an active, engaged member of our community with demonstrated participation and engagement.
If you are not currently an active community member, we encourage you to join our Discord community at https://chat.nhcarrigan.com and become an active participant. Once you have established active community membership through regular participation and engagement, you will be eligible to request mock interview services.
If you have questions about our mock interview services or community membership, please reach out in our Discord community: https://chat.nhcarrigan.com
Thank you for your understanding.
Best regards,
```
#### 2.3.15. Portfolio Review Requests Form - Approval Email Template
```md
Hello [Requester's Name],
Thank you for your portfolio review request! We have reviewed your submission and are pleased to accept your request for review of your [resume/LinkedIn profile/GitHub profile/portfolio website].
**Review Details:**
- Review Type: [Resume/LinkedIn/GitHub/Portfolio Review]
- Materials to be Reviewed: [list of materials or links]
**Next Steps:**
- Our team will begin reviewing your materials
- You will receive detailed feedback via [communication method]
- We will provide constructive suggestions for improvement based on industry best practices
Please note that portfolio reviews are provided as free services to active community members, and feedback is provided in good faith based on our expertise and professional standards.
If you have any questions or need to provide additional materials, please don't hesitate to reach out.
We look forward to reviewing your materials and helping you improve your professional presentation!
Best regards,
```
#### 2.3.16. Portfolio Review Requests Form - Rejection Email Template
```md
Hello [Requester's Name],
Thank you for your interest in receiving a portfolio review. We appreciate you taking the time to submit your request.
After careful review, we have decided not to proceed with your portfolio review request at this time. This decision may be based on factors such as:
- Current review capacity and workload
- Community membership and engagement requirements
- Material accessibility or completeness
- Review type alignment with our services
**IMPORTANT**: Portfolio reviews are provided as free services EXCLUSIVELY to active members of our community. These services are NOT available to the general public. To be eligible, you MUST be an active, engaged member of our community with demonstrated participation and engagement.
If you are not currently an active community member, we encourage you to join our Discord community at https://chat.nhcarrigan.com and become an active participant. Once you have established active community membership through regular participation and engagement, you will be eligible to request portfolio review services.
If you have questions about our portfolio review services or community membership, please reach out in our Discord community: https://chat.nhcarrigan.com
Thank you for your understanding.
Best regards,
```
#### 2.3.17. Recommendations Form - Approval Email Template
```md
Hello [Requester's Name],
Thank you for your recommendation request! We have reviewed your submission and are pleased to accept your request for a recommendation.
**Recommendation Details:**
- Recommendation Type: [LinkedIn Recommendation/General Recommendation/etc.]
- Context: [Brief context if provided]
**Next Steps:**
- We will prepare your recommendation based on our relationship and your contributions
- Recommendations are typically provided via [LinkedIn/email/etc.]
- You will receive a copy of the recommendation once it is completed
- Expected completion: [timeline]
Please note that recommendations are provided as free services in good faith, based on our relationship and knowledge of your work. We provide honest, accurate recommendations based on our direct experience with you.
If you have any questions or need to provide additional context, please don't hesitate to reach out.
We are happy to support you in your professional journey!
Best regards,
```
#### 2.3.18. Recommendations Form - Rejection Email Template
```md
Hello [Requester's Name],
Thank you for your interest in receiving a recommendation. We appreciate you taking the time to submit your request.
After careful review, we have decided not to proceed with your recommendation request at this time. This decision may be based on factors such as:
- Insufficient direct working relationship or interaction
- Lack of sufficient context or experience to provide an accurate recommendation
- Timeline constraints or capacity limitations
- Alignment with our recommendation policy and standards
Please note that we can only provide recommendations when we have sufficient direct experience and relationship with the requester to provide an honest, accurate, and meaningful recommendation.
If you believe there has been an error or would like to discuss your request further, please reach out in our Discord community: https://chat.nhcarrigan.com
Thank you for your understanding.
Best regards,
```
#### 2.3.19. Staff Applications Form - Approval Email Template
```md
Dear [Applicant's Name],
Thank you so much for taking the time to apply for a volunteer role with NHCarrigan. We truly appreciate your interest in contributing your time and energy to our community.
After carefully reviewing your application, we are excited to inform you that we would like to move forward with your candidacy! We were impressed by [specific aspects of their application] and believe you would be a valuable addition to our team.
**Next Steps:**
- You will receive a separate email with your contract and onboarding materials
- Please review the contract carefully and reach out with any questions or concerns
- You can reach out to us on Discord (https://chat.nhcarrigan.com) or reply to this email if you have any questions or concerns
We are thrilled about the possibility of working with you and look forward to welcoming you to our team. Thank you again for your interest and enthusiasm!
Warm regards,
```
#### 2.3.20. Staff Applications Form - Onboarding Email Template
```md
Dear [New Staff Member's Name],
Welcome to the NHCarrigan team! We are thrilled to have you join us and are excited to begin working together.
**Getting Started:**
1. **Join Our Discord Server:**
- Please join our Discord community at: https://chat.nhcarrigan.com
- This is where most of our team communication and collaboration happens
2. **Access Credentials:**
- **Email:**
- Address:
- Password:
- Can access email via web at https://mail.nhcarrigan.com/mail or through any email client/app. A reminder that this is only for work-related use. Please do not spam people and get our mail server blocked (I do have logs).
- **Gitea:** https://git.nhcarrigan.com
- Username:
- Password:
3. **Complete Your Training:**
- Please complete the policy assessment form for training: https://forms.nhcarrigan.com/o/docs/forms/nxaJyKBuKH9nrt3m5VC98w/4
- This is an important step to ensure you are familiar with our policies and procedures
**Next Steps:**
- Our team will be in touch shortly to discuss your role-specific responsibilities
- Feel free to explore our documentation at https://docs.nhcarrigan.com
If you have any questions or need assistance getting set up, please don't hesitate to reach out to us on Discord or reply to this email.
We are excited to have you on board and look forward to working with you!
Warm regards,
```
#### 2.3.21. Staff Applications Form - Rejection Email Template
```md
Dear [Applicant's Name],
Thank you so much for taking the time to apply for a volunteer role with NHCarrigan. We truly appreciate your interest in contributing your time and energy to our community.
After carefully reviewing your application, we've decided not to move forward with your candidacy for this volunteer position at this time. Please don't take this as a reflection of your value or potential—our selection process is highly competitive, and we often have to make very difficult decisions.
Please note that due to the large volume of applications we receive, we are unable to provide personalised feedback. Here are some common application issues we see:
1. Low-effort Application: Please ensure you are taking the time to provide detailed, well-thought responses. The more effort you put in, the more likely we will be able to accept your application.
2. Invalid Discord ID: Applications require you to provide your unique Discord ID - this is a 16 to 19 digit number that uniquely identifies your Discord account. If this is incorrect, we are unable to accept an application. If you need help finding yours, please refer to https://dis.gd/findid
3. Concerning Responses: If your responses to any of the application questions raise red flags, we decline your application. Remember that you want to paint yourself in the best light here.
We still encourage you to stay engaged with our community spaces, events, and projects. There are always opportunities to connect, learn, and grow together, and we would love to see you continue to participate.
We encourage you to take the time to consider these common points of failure, and would welcome a resubmission from you in the future.
Thank you again for your interest and enthusiasm. We wish you the very best in all your endeavors and hope our paths cross again in the future.
Warm regards,
```
#### 2.3.22. Testimonials Form - Approval Email Template
```md
Hello [Contributor's Name],
Thank you for sharing your testimonial with us! We have reviewed your submission and are pleased to accept it for publication.
**Testimonial Details:**
- Your testimonial will be reviewed and may be featured on our website, social media, or other promotional materials
- We may edit your testimonial for length, clarity, or formatting whilst preserving your message and intent
- You will be credited as [name/handle as provided]
**Next Steps:**
- Your testimonial will be added to our review queue
- We will notify you when it is published (if applicable)
- Thank you for helping others learn about our community and services!
Your words help us build trust and connect with others who might benefit from our community. We truly appreciate you taking the time to share your experience.
If you have any questions or would like to make changes to your testimonial, please don't hesitate to reach out.
Best regards,
```
#### 2.3.23. Testimonials Form - Rejection Email Template
```md
Hello [Contributor's Name],
Thank you for taking the time to submit a testimonial. We appreciate your interest in sharing your experience with our community.
After careful review, we have decided not to publish your testimonial at this time. This decision may be based on factors such as:
- Content alignment with our community values and standards
- Formatting or clarity requirements
- Current testimonial collection needs
- Verification or authenticity concerns
Please note that due to the volume of testimonials we receive, we are unable to provide detailed feedback on every declined submission.
We encourage you to stay engaged with our community and consider submitting a testimonial in the future if your experience changes or if you have additional feedback to share.
If you have questions about our testimonial process, please reach out in our Discord community: https://chat.nhcarrigan.com
Thank you for your understanding and continued engagement with our community.
Best regards,
```
### 2.4. Form Components
#### 2.4.1. Form Consent for Email Communications
Description:
```
At NHCarrigan, we are fully committed to respecting and protecting your privacy. We strictly adhere to a policy of non-disclosure regarding your personal data; we do not sell, trade, or transfer your information to outside parties. The contact details you provide will be used exclusively for the purpose of responding to your inquiry or addressing the subject of this form. For a complete overview of our data practices, please review our [Privacy Policy](https://docs.nhcarrigan.com/legal/privacy/).
```
Question:
```
I agree to be contacted via email, solely for the purpose of addressing this submission.
```
#### 2.4.2. Form Image Header
```html
<div style="width: 100%; text-align: center"><img src="https://cdn.nhcarrigan.com/logo.png" style="width: 250px; height: 250px"></div>
```
#### 2.4.3. Form Confirmation
Add this at the end of any form specific text.
```
If you'd like to stay up to date on everything we do, come hang out in our server! https://chat.nhcarrigan.com
```
### 2.5. Community & Communication Templates
#### 2.5.1. Discord Server Introduction Template
```md
Hello~! I'm Naomi, a 34 year old transfem software engineer and community manager based in Washington. All of my work (and therefore most of my life) is spent online, so I'm always looking for new spaces and people to vibe with. Remote work can feel dreadfully isolating, and this is my attempt to combat that feeling.
<insert bit about community here>
```
#### 2.5.2. freeCodeCamp Contributor Sprint Template
```md
## This issue is part of Naomi's sprint initiatives.
If you are interested in working on this issue, [join our Discord](https://chat.freecodecamp.org) and ping Naomi!
### Action Items
- [ ] Prototype created and PRed to https://github.com/freeCodeCamp/curriculumexpansion
- [ ] Prototype reviewed + approved + merged by staff
- [ ] Break prototype down into steps (if workshop) or individual "step" (if lab) - write description, hint text **only** (no tests yet), and seed code. Refer to https://contribute.freecodecamp.org/how-to-work-on-coding-challenges
- [ ] DRAFT PR opened on https://github.com/freeCodeCamp/freeCodeCamp
- [ ] Team + Naomi review your steps, confirm the breakdown + user stories look good
- [ ] Begin writing the actual test logic, refer to https://contribute.freecodecamp.org/curriculum-help/#basic-usage-pattern for how to write tests for Python challenges
- [ ] Mark PR as not a draft, team reviews + approves + merges
- [ ] YOU DID IT GO CELEBRATE!
### Other Details
- Remember to keep an eye on your PRs and respond to review comments and suggestions
- For workshops, refer to: https://contribute.freecodecamp.org/how-to-work-on-coding-challenges/
- For labs, refer to: https://contribute.freecodecamp.org/how-to-work-on-labs/
### Questions
Ping Naomi in the sprint channel on Discord
```
### 2.6. Gaming Templates
#### 2.6.1. Guild Wars 2 Recruitment Advertisement Template
This has to be sent in two chat messages because of the length.
```
Hiya friends~! Naomi's Newbies is a new guild that is really focused on helping newer players come to love the game, and supporting casual players who have busy schedules.
```
```
We have no activity requirement, no rep requirement, a Discord community, and more! If you are interested, please whisper me and I will gladly invite you!
```
### 2.7. Donation Templates
#### 2.7.1. Discord Bot Donation Copy Template
These go in the bot SKUs:
##### 2.7.1.1. Subscription Name
```
Sponsor Naomi
```
##### 2.7.1.2. Subscription Description
```
**How Your Support Makes a Difference**
1. Creating Free Software
- Develop open-source tools accessible to everyone
- Design Discord bots for community management and safe spaces
- Create learning resources and accessibility-focused web applications
2. Building Inclusive Communities
- Manage welcoming online spaces where diverse voices are celebrated
- Organise virtual events, workshops, and mentorship programmes
- Implement inclusive community guidelines
3. Guiding Others in Tech
- Provide mentorship to aspiring technologists from underrepresented groups
- Create educational content (tutorials, blog posts, videos)
- Offer career advice and emotional support
4. Your Contribution's Ripple Effect:
- Challenges the status quo of the tech industry
- Creates opportunities for underrepresented individuals in STEM
- Fosters innovation through diverse perspectives
- Builds a tech community that reflects and serves all of society
Every donation, regardless of size, contributes to this mission. Together, we're creating a more inclusive, accessible, and diverse future for technology.
Thank you for considering a donation and being part of this important journey.
```
##### 2.7.1.3. Benefit Name
```
Your donation:
```
##### 2.7.1.4. Benefit Description
```
Helps a transfemme technology witch create free software, build inclusive communities, and guide others on their journey in tech.
```
##### 2.7.1.5. Notes
- Use my avatar for subscription
- Use pentatrans for benefit
### 2.8. freeCodeCamp Templates
#### 2.8.1. freeCodeCamp Sprint Issue Template
```md
**Type:** Workshop/Lab/????
**Summary:**
**User Stories**
1.
2.
3.
**Technical Notes**
-
-
-
## This issue is part of Naomi's sprint initiatives.
If you are interested in working on this issue, [join our Discord](https://chat.freecodecamp.org) and ping Naomi!
### Action Items
- [ ] Prototype created and PRed to https://github.com/freeCodeCamp/curriculumexpansion
- [ ] Prototype reviewed + approved + merged by staff
- [ ] Break prototype down into steps (if workshop) or individual "step" (if lab) - write description, hint text **only** (no tests yet), and seed code.
- [ ] DRAFT PR opened on https://github.com/freeCodeCamp/freeCodeCamp
- [ ] Team + Naomi review your steps, confirm the breakdown + user stories look good
- [ ] Begin writing the actual test logic, refer to https://contribute.freecodecamp.org/curriculum-help/#js-helper for how to write tests for JS challenges
- [ ] Mark PR as not a draft, team reviews + approves + merges
- [ ] YOU DID IT GO CELEBRATE!
### Other Details
- Remember to keep an eye on your PRs and respond to review comments and suggestions
- For workshops, refer to: https://contribute.freecodecamp.org/how-to-work-on-coding-challenges/
- For labs, refer to: https://contribute.freecodecamp.org/how-to-work-on-labs/
### Questions
Ping Naomi in the sprint channel on Discord
```
#### 2.8.2. freeCodeCamp Sprint Progress Update
```md
**Progress Update - <date>**
<summarise what contributor said>
```
## 3. DISCLAIMERS AND USAGE REQUIREMENTS
### 3.1. Reference to Comprehensive Liability Framework
**IMPORTANT: Comprehensive liability limitations, damage exclusions, and maximum liability caps are set forth in our Limitation of Liability and Indemnification Policy, which is incorporated herein by reference.**
### 3.2. Template Usage Disclaimer
These templates are provided for informational purposes only. Our organisation:
- Does not provide legal advice or guarantee the legal effectiveness of these templates
- Does not warrant that these templates will meet specific legal, regulatory, or contextual requirements
- Recommends that users consult with qualified legal counsel when using these templates for legal matters
- Assumes no responsibility for outcomes resulting from the use of these templates
### 3.3. Customisation Requirements
Users are responsible for:
- Customising templates to meet their specific needs and requirements
- Ensuring compliance with applicable laws, regulations, and organisational policies
- Verifying the accuracy and appropriateness of template content for their specific use case
- Obtaining appropriate legal review when necessary
## 4. CONCLUSION
This Templates Documentation provides standardised templates and forms for use throughout our organisation. All users are responsible for ensuring that their use of these templates complies with applicable laws, regulations, and organisational requirements.
---
*For questions about template usage or to suggest improvements, please contact appropriate organisational leadership through designated communication channels.*
+888
View File
@@ -0,0 +1,888 @@
---
title: Artists4Palestine Bot
---
Artists4Palestine Bot (hereinafter the "Application") is a Discord bot designed to facilitate the Art for Palestine charity event. The Application serves as an automated bridge between Airtable, Trello, and Discord to manage art commission requests, artist assignments, delivery tracking, and support tickets for the charity event.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### 1.1. Getting Started
The Art for Palestine Bot is available on the [Art for Palestine Discord server](https://discord.gg/kHNyb6Vyf8). Once you join the server, you will automatically be assigned the member role and can begin interacting with the bot's features.
### 1.2. Requesting Art Commissions
Art commission requests are submitted through an Airtable form (external to Discord). Once submitted, your request will automatically appear in the designated commission channel where artists can view and claim it. Your request should include:
- Your name
- Preferred contact method (Email, Discord, or Twitter)
- Your contact handle/username
- Description of the art you would like drawn
- Reference images (optional)
- Any additional notes or requirements
### 1.3. Artist Features
#### 1.3.1. Claiming Art Commissions
As an artist, you can claim art commissions by reacting to commission posts in the art commission channel (ID: `1172568787330019340`).
**Important Notes:**
- You can only claim up to 2 commissions at a time
- Claiming a commission creates a private thread for coordination
- The thread will include your mention and the requester's information
#### 1.3.2. Submitting Completed Artwork
Once you've completed the artwork:
1. Post the completed artwork as an image attachment in the private thread
2. The bot will automatically forward your submission to the distribution channel
3. Your thread will be archived
4. The commission will be removed from your active count
#### 1.3.3. Art Reminders
The bot sends automated reminders to help manage workload:
- **Unclaimed Art Reminders**: Sent Monday, Wednesday, and Friday at 9:00 AM
- **Unfinished Art Reminders**: Sent Saturday at 9:00 AM
### 1.4. Distribution Features
#### 1.4.1. Claiming Distributions
Distribution team members can claim distribution tasks by reacting to posts in the distribution channel (ID: `1173061747737903315`). Similar to art commissions:
- Maximum 2 concurrent distributions per member
- Creates a private coordination thread
- Includes recipient and artwork details
#### 1.4.2. Confirming Deliveries
To confirm a distribution:
1. Deliver the artwork to the recipient
2. Post a confirmation image in the private thread
3. The bot will close and archive the thread
#### 1.4.3. Distribution Reminders
- **Unclaimed Distribution Reminders**: Sent Monday, Wednesday, and Friday at 9:00 AM
- **Unfinished Distribution Reminders**: Sent Saturday at 9:00 AM
### 1.5. Support Ticket System
#### 1.5.1. Opening a Ticket
Users can open support tickets using the ticket button in the designated ticket channel:
1. Click the "Open Ticket" button
2. Fill out the modal form with your issue description
3. A private thread will be created for your ticket
4. Support team members will be notified
#### 1.5.2. Ticket Workflow
- **For Users**: Describe your issue in the private thread and wait for a support team member to claim it
- **For Support Team**: Click "Claim Ticket" to add your mention and take responsibility for the issue
- Conversations in the ticket thread are automatically logged
#### 1.5.3. Closing Tickets
Support team members can close tickets using the "Close Ticket" button:
- A log file of the entire conversation will be generated
- The log is sent to the ticket archive channel
- The thread is closed and archived
### 1.6. Moderation Commands
Moderation team members with the support role (ID: `1173582640843063366`) have access to these commands:
#### `!mute <user_id> <duration> <reason>`
Temporarily timeout a user.
**Parameters:**
- `user_id`: The Discord user ID to mute
- `duration`: Duration with unit (e.g., `30m`, `2h`, `1d`)
- Supported units: `s` (seconds), `m` (minutes), `h` (hours), `d` (days)
- `reason`: Explanation for the timeout
**Example:**
```
!mute 123456789012345678 1h Spam in general channel
```
#### `!unmute <user_id> <reason>`
Remove a timeout from a user.
**Parameters:**
- `user_id`: The Discord user ID to unmute
- `reason`: Explanation for removing the timeout
**Example:**
```
!unmute 123456789012345678 Appeal accepted
```
### 1.7. Palestine News Updates
The bot automatically fetches and posts news updates from Al Jazeera's Palestine live blog:
- Updates are checked every 10 minutes
- New articles are posted to the news channel
- Prevents duplicate posts using article ID tracking
### 1.8. Getting Help
If you encounter issues or have questions:
- Open a support ticket in the Discord server
- Report bugs in the #bug-reports forum channel on our Discord community
- Contact via the [chat server](https://chat.nhcarrigan.com) or email at `contact@nhcarrigan.com`
---
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### 2.1. Prerequisites
Before running your own instance, ensure you have:
- **Node.js**: Version 22 (specified in `package.json`)
- **pnpm**: Version 10 (package manager)
- **Discord Bot Account**: With a bot token and appropriate permissions
- **Airtable Account**: With API access
- **Discord Webhooks**: Multiple webhooks configured for different channels
### 2.2. Required Discord Permissions
Your Discord bot requires the following Gateway Intents:
- `GuildMessages`: Access to guild message events
- `Guilds`: Access to guild/server data
- `GuildMessageReactions`: Access to message reaction events
- `MessageContent`: Privileged intent for full message content access
- `GuildMembers`: Access to member data
### 2.3. Environment Configuration
Create a `.env` file in the project root with the following variables:
```env
# Discord Bot Configuration
TOKEN=your_discord_bot_token
# Discord Webhooks
DEBUG=https://discord.com/api/webhooks/... # Debug/error logging
COMM=https://discord.com/api/webhooks/... # Commission notifications
DIST=https://discord.com/api/webhooks/... # Distribution notifications
NEWS=https://discord.com/api/webhooks/... # Palestine news updates
TICKET=https://discord.com/api/webhooks/... # Ticket logs
# Airtable Configuration
AIRTABLE_KEY=your_airtable_api_key
AIRTABLE_BASE_ID=your_base_id
AIRTABLE_TABLE_ID=your_table_name
# Server Configuration (optional)
NODE_ENV=production # Set to enable HTTPS server on port 10443
```
### 2.4. Hardcoded Configuration
Several IDs are hardcoded in the `src/config/` directory and must be updated for your server:
**File: `src/config/Tickets.ts`**
- `guildId`: Your Discord server ID
- `supportRole`: Your support team role ID
**File: `src/config/Webhooks.ts`**
- `artChannelId`: Channel for art commission posts
- `distributionChannelId`: Channel for distribution posts
**File: `src/config/Trello.ts`**
- Trello board, list, and label IDs (if using Trello integration)
### 2.5. Installation
1. Clone the repository:
```bash
git clone https://git.nhcarrigan.com/NHCarrigan/a4p-bot.git
cd nodejs-typescript-template
```
2. Install dependencies:
```bash
pnpm install
```
3. Configure environment variables (see section 2.3)
4. Build the TypeScript code:
```bash
pnpm build
```
### 2.6. Running the Bot
Start the bot in production mode:
```bash
pnpm start
```
This will:
- Load environment variables from `.env`
- Execute the compiled JavaScript from `prod/index.js`
- Connect to Discord
- Initialize event listeners and scheduled tasks
- Start the HTTP server on port 10080 (HTTP) or 10443 (HTTPS if `NODE_ENV=production`)
### 2.7. Development Workflow
For development and testing:
**Linting:**
```bash
pnpm lint
```
Runs ESLint and Prettier to check code style and formatting.
**Testing:**
```bash
pnpm test
```
Runs Mocha test suite with TypeScript support (timeout: 10 seconds).
**Building:**
```bash
pnpm build
```
Compiles TypeScript files from `src/` to JavaScript in `prod/`.
### 2.8. Architecture Overview
#### 2.8.1. Project Structure
```
a4p-bot/
├── src/
│ ├── index.ts # Main entry point, bot initialization
│ ├── config/ # Configuration files (channels, webhooks, Trello)
│ ├── events/ # Discord event handlers
│ ├── modules/ # Core business logic
│ │ ├── buttons/ # Button interaction handlers
│ │ ├── messages/ # Message processing logic
│ │ ├── modals/ # Modal form handlers
│ │ └── reminders/ # Scheduled reminder tasks
│ ├── interface/ # TypeScript interfaces and types
│ ├── server/ # Express HTTP server
│ └── utils/ # Utility functions
├── prod/ # Compiled JavaScript output
├── logs/ # Ticket conversation logs (runtime)
└── .env # Environment variables (not committed)
```
#### 2.8.2. Core Components
**Discord Bot (src/index.ts:1)**
- Initializes Discord.js client with required intents
- Registers event listeners for messages, reactions, interactions, and member joins
- Creates webhook clients for different notification types
- Starts HTTP server for monitoring
**Event Handlers (src/events/)**
- `onReady.ts:1`: Initializes scheduled jobs, caches messages, sends startup notification
- `onMessageCreate.ts:1`: Handles commands (!mute, !unmute) and ticket message logging
- `onInteractionCreate.ts:1`: Routes button clicks and modal submissions
- `onReactionAdd.ts:1`: Manages art commission and distribution claims
- `onMemberAdd.ts:1`: Auto-assigns member role to new joiners
**Scheduled Tasks (node-schedule)**
- Runs every 60 minutes: Check Airtable for new form submissions
- Runs every 10 minutes: Fetch and post Palestine news updates
- Monday/Wednesday/Friday 9 AM: Send unclaimed art and distribution reminders
- Saturday 9 AM: Send unfinished art and distribution reminders
**Ticket System (src/modules/)**
- `buttons/ticketOpen.ts:1`: Opens modal form for ticket creation
- `modals/handleTicketModal.ts:1`: Creates private thread and initializes log file
- `buttons/ticketClaim.ts:1`: Adds support member's mention to thread
- `buttons/ticketClose.ts:1`: Generates log file, sends to archive, closes thread
- `logTicketMessage.ts:1`: Appends messages to log file in real-time
- `generateLogs.ts:1`: Reads log file and creates Discord attachment
**Airtable Integration (src/modules/checkAirtableRecords.ts:1)**
- Polls Airtable API for new form submissions
- Tracks latest record ID to avoid duplicate processing
- Extracts form fields (name, contact info, request details, reference images)
- Posts formatted messages to commission channel via webhook
**News Feed (src/utils/getNewsFeed.ts:1)**
- Fetches latest articles from Al Jazeera Palestine live blog via GraphQL
- Tracks last posted article ID to prevent duplicates
- Sends new updates to news webhook channel
#### 2.8.3. Data Flow
```
User Action (Discord) → Event Listener → Event Handler → Module Logic
External API / Webhook Call
Response/Notification
Logging (Winston + Debug Webhook)
```
```
Scheduled Task → External API (Airtable/Al Jazeera) → Parse Response
Send to Discord Webhook
Update Cache/State
```
### 2.9. Database
While Prisma ORM is installed as a dependency, the Application does not currently use a database. All state is managed in memory using cache objects attached to the extended Discord client:
- `bot.ticketLogs`: Maps channel IDs to log file message IDs
- `bot.lastArticle`: Tracks the most recent news article ID
Ticket conversation logs are temporarily stored as text files in the `logs/` directory and deleted after being sent to the archive channel.
### 2.10. API Integrations
#### 2.10.1. Airtable REST API
**Endpoint:** `https://api.airtable.com/v0/{BASE_ID}/{TABLE_ID}`
**Method:** GET
**Headers:**
```
Authorization: Bearer {AIRTABLE_KEY}
```
**Query Parameters:**
- `maxRecords=100`: Limit results
- `sort[0][field]=Created`: Sort by creation time
- `sort[0][direction]=desc`: Newest first
**Response Structure (src/interface/AirtableResponse.ts:1):**
```typescript
{
records: [{
id: string;
createdTime: string;
fields: {
Name: string;
"Contact Method": "Email" | "Discord" | "Twitter";
Handle: string;
"What would you like us to draw?": string;
"Anything Else?": string;
Reference?: { url: string }[];
}
}]
}
```
#### 2.10.2. Al Jazeera GraphQL API
**Endpoint:** `https://www.aljazeera.com/graphql` (inferred from code)
**Operations:**
- `SingleLiveBlogChildrensQuery`: Fetch live blog structure
- `LiveBlogUpdateQuery`: Fetch latest blog updates
The bot extracts article content and posts to the news webhook channel.
### 2.11. HTTP Server
The Application includes a minimal Express server (src/server/serve.ts:1):
**Endpoints:**
- `GET /` - Returns HTML landing page with project information
**Ports:**
- HTTP: 10080 (default)
- HTTPS: 10443 (when `NODE_ENV=production`)
Note: The server file includes a TODO comment suggesting deletion after Trello integration is complete.
### 2.12. Logging
The Application uses Winston for structured logging (src/utils/logHandler.ts:1):
**Log Levels:**
- `info`: General information (bot startup, scheduled task execution)
- `error`: Error conditions (API failures, Discord errors)
**Log Format:**
```
[TIMESTAMP] LEVEL: MESSAGE
```
**Log Destinations:**
- Console (stdout)
- Debug webhook (errors only)
### 2.13. Error Handling
All errors are caught and:
1. Logged to console via Winston
2. Sent to the debug webhook with error details
3. Presented to users with friendly messages (when applicable)
Example error flow (src/modules/checkAirtableRecords.ts):
```typescript
try {
// API call
} catch (error) {
logHandler.error("Error message", error);
debugHook.send({ content: "Error details" });
}
```
### 2.14. Performance Considerations
- **Message Caching**: Fetches messages in batches of 100 to reduce API calls
- **Duplicate Prevention**: Tracks latest Airtable record ID and news article ID
- **Rate Limiting**:
- Airtable: 60-minute polling interval
- News API: 10-minute polling interval
- **Concurrent Limits**: Artists/distributors limited to 2 active tasks each
### 2.15. Security Considerations
- **Environment Variables**: Sensitive tokens stored in `.env` (not committed)
- **Role Verification**: Commands require support role for execution (src/events/onMessageCreate.ts:1)
- **Webhook Validation**: Checks webhook existence before use (src/utils/isValidWebhook.ts:1)
- **Privileged Intents**: Requires approval from Discord for `MessageContent` intent
### 2.16. Troubleshooting
**Bot doesn't start:**
- Verify `TOKEN` is valid in `.env`
- Check Node.js version is 22
- Ensure all dependencies are installed: `pnpm install`
**Webhooks not working:**
- Verify webhook URLs are valid and accessible
- Check webhook permissions in Discord channel settings
- Use `isValidWebhook` utility for validation
**Airtable integration failing:**
- Verify `AIRTABLE_KEY`, `AIRTABLE_BASE_ID`, and `AIRTABLE_TABLE_ID`
- Check Airtable API permissions
- Review Airtable API rate limits
**Scheduled tasks not running:**
- Check server timezone matches expected cron schedule
- Review `onReady.ts` for cron expression syntax
- Check debug webhook for error messages
**Ticket logs not saving:**
- Verify write permissions for `logs/` directory
- Check disk space availability
- Review console for Winston logging errors
---
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### 3.1. Terms of Service
The Application is subject to our global Terms of Service, which can be found at:
https://docs.nhcarrigan.com/#/terms
### 3.2. Privacy Policy
The Application's privacy practices are governed by our global Privacy Policy, which can be found at:
https://docs.nhcarrigan.com/#/privacy
#### 3.2.1. Data Collection
The Application collects and temporarily stores the following data:
**Discord Data:**
- User IDs (for role assignment, moderation, and ticket management)
- Message content in ticket threads (logged to text files)
- Reaction events (for tracking commission/distribution claims)
- Member join events (for auto-role assignment)
**Airtable Data:**
- Form submission data (name, contact method, handle, art request details)
- Reference images (URLs only)
- Submission timestamps and record IDs
**Temporary Storage:**
- Ticket conversation logs (stored as text files, deleted after archival)
- In-memory cache for article IDs and ticket log mappings
**Data Retention:**
- Ticket logs: Deleted immediately after being sent to the archive channel
- Cached data: Cleared on bot restart
- Airtable record IDs: Stored in memory to prevent duplicate processing
**Third-Party Services:**
The Application integrates with:
- Discord (message delivery and bot functionality)
- Airtable (form submission retrieval)
- Al Jazeera (public news feed)
- Trello (configuration only, no active integration)
Users should review the privacy policies of these services for their data handling practices.
### 3.3. License
This software is licensed under our global software licence:
https://docs.nhcarrigan.com/#/license
**Copyright:** Held by Naomi Carrigan
**License Type:** Proprietary (see link above for full terms)
### 3.4. Code of Conduct
All contributors and users must adhere to our Code of Conduct:
See: `CODE_OF_CONDUCT.md` in the repository root
### 3.5. Security Policy
Security vulnerabilities should be reported according to our Security Policy:
See: `SECURITY.md` in the repository root
For security concerns, please contact us through:
- Chat Server: https://chat.nhcarrigan.com
- Email: contact@nhcarrigan.com
### 3.6. Disclaimer
The Application is provided for the specific purpose of facilitating the Art for Palestine charity event. While we strive for reliability and accuracy, the Application is provided "as-is" without warranties of any kind.
**Moderation Actions:** The Application includes moderation features (mute/unmute). Server administrators and support team members are responsible for using these features in accordance with Discord's Terms of Service and Community Guidelines.
**External Content:** The Application fetches and displays news content from Al Jazeera. We do not control or endorse this content and are not responsible for its accuracy or appropriateness.
**Charity Event:** This Application is specifically designed for the Art for Palestine charity event. For questions about the event itself, please visit https://art4palestine.org or contact the event organizers.
---
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### 4.1. Contributing Guidelines
Our complete contributing guidelines can be found at:
https://docs.nhcarrigan.com/#/contributing
### 4.2. Getting Started with Development
1. **Fork the Repository**
```bash
# Visit GitHub and fork the repository to your account
```
2. **Clone Your Fork**
```bash
git clone https://github.com/YOUR_USERNAME/nodejs-typescript-template.git
cd nodejs-typescript-template
```
3. **Install Dependencies**
```bash
pnpm install
```
4. **Set Up Environment**
- Create a `.env` file (see section 2.3)
- Create a test Discord server and bot
- Configure test webhooks
5. **Create a Branch**
```bash
git checkout -b feature/your-feature-name
```
### 4.3. Code Style and Standards
The project enforces code style through automated tooling:
**ESLint Configuration:**
- Extends `@nhcarrigan/eslint-config`
- Maximum warnings allowed: 0 (all warnings treated as errors)
- Checks both `src/` and `test/` directories
**Prettier Configuration:**
- Extends `@nhcarrigan/prettier-config`
- Enforces consistent formatting
**TypeScript Configuration:**
- Extends `@nhcarrigan/typescript-config`
- Strict type checking enabled
- Root directory: `./src`
- Output directory: `./prod`
**Running Linters:**
```bash
pnpm lint
```
**Auto-Fixing Issues:**
```bash
# Fix ESLint issues
npx eslint src test --fix
# Fix Prettier issues
npx prettier src test --write
```
### 4.4. Writing Tests
The project uses Mocha and Chai for testing:
**Test Structure:**
- Test files: `test/**/*.spec.ts`
- Test style: TDD (Test-Driven Development)
- Timeout: 10 seconds per test
- Type: TypeScript (via ts-mocha)
**Running Tests:**
```bash
pnpm test
```
**Writing a Test:**
```typescript
import { expect } from "chai";
import { suite, test } from "mocha";
suite("Feature Name", () => {
test("should do something", () => {
// Arrange
const input = "test";
// Act
const result = myFunction(input);
// Assert
expect(result).to.equal("expected");
});
});
```
### 4.5. Documentation Standards
**JSDoc Comments:**
All functions, classes, and complex logic should include JSDoc comments:
```typescript
/**
* Brief description of the function.
*
* @param {Type} paramName - Parameter description
* @returns {Type} Return value description
*/
function myFunction(paramName: Type): Type {
// Implementation
}
```
**Inline Comments:**
Use inline comments for complex logic:
```typescript
// Explanation of why this approach is used
const result = complexOperation();
```
**Commit Messages:**
Follow conventional commit format:
- `feat: Add new feature`
- `fix: Resolve bug in ticket system`
- `docs: Update README`
- `chore: Update dependencies`
- `refactor: Restructure event handlers`
- `test: Add tests for webhook validation`
### 4.6. Pull Request Process
1. **Ensure All Checks Pass:**
- Run `pnpm lint` (must pass with 0 warnings)
- Run `pnpm test` (all tests must pass)
- Run `pnpm build` (must compile without errors)
2. **Create Pull Request:**
- Use a descriptive title
- Provide detailed description of changes
- Reference any related issues
- Include screenshots/videos for UI changes
3. **Code Review:**
- Address reviewer feedback
- Make requested changes
- Re-request review after updates
4. **Merge:**
- Maintainers will merge approved PRs
- Squash and merge is preferred for clean history
### 4.7. Areas for Contribution
The project welcomes contributions in these areas:
**Feature Enhancements:**
- Trello integration completion (see TODO in `src/server/serve.ts`)
- Database integration using Prisma (currently installed but unused)
- Additional moderation commands
- Enhanced reporting and analytics
**Bug Fixes:**
- Report bugs in the #bug-reports forum channel on our Discord community
- Include reproduction steps and environment details
- PRs to fix bugs are highly appreciated
**Documentation:**
- Improve code comments
- Expand user guides
- Add troubleshooting sections
- Create video tutorials
**Testing:**
- Increase test coverage
- Add integration tests
- Create test utilities
**Performance:**
- Optimise message caching
- Reduce webhook API calls
- Improve scheduled task efficiency
### 4.8. Development Environment Setup
**Recommended Tools:**
- **Editor:** VS Code (or any TypeScript-compatible editor)
- **Extensions:**
- ESLint
- Prettier
- TypeScript and JavaScript Language Features
- **Node Version Manager:** nvm (for managing Node.js versions)
- **Package Manager:** pnpm 10
**Discord Developer Portal Setup:**
1. Create a new application at https://discord.com/developers/applications
2. Create a bot user
3. Enable required privileged intents: `Message Content`, `Server Members`
4. Generate and save bot token
5. Invite bot to test server with required permissions
**Webhook Setup:**
1. Create test channels in your Discord server
2. Go to channel settings → Integrations → Webhooks
3. Create webhooks for: debug, comm, dist, news, ticket
4. Copy webhook URLs to `.env`
### 4.9. Debugging
**Console Logging:**
The project uses Winston for logging. To add debug logs:
```typescript
import { logHandler } from "./utils/logHandler.js";
logHandler.info("Informational message");
logHandler.error("Error message", error);
```
**Discord Debug Webhook:**
Error details are automatically sent to the debug webhook. Check this channel for runtime errors.
**VS Code Launch Configuration:**
Create `.vscode/launch.json`:
```json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Bot",
"runtimeArgs": ["-r", "dotenv/config"],
"program": "${workspaceFolder}/prod/index.js",
"preLaunchTask": "npm: build",
"outFiles": ["${workspaceFolder}/prod/**/*.js"]
}
]
}
```
### 4.10. Common Development Tasks
**Adding a New Command:**
1. Add handler logic to `src/events/onMessageCreate.ts`
2. Implement command functionality in `src/modules/`
3. Update user documentation (section 1)
4. Add tests in `test/`
**Adding a New Button:**
1. Create button handler in `src/modules/buttons/`
2. Export handler in button module
3. Register handler in `src/events/onInteractionCreate.ts`
4. Update user documentation
**Adding a New Event Listener:**
1. Create event handler in `src/events/`
2. Register listener in `src/index.ts`
3. Add error handling
4. Update technical documentation
**Modifying Configuration:**
1. Update relevant file in `src/config/`
2. Document changes in section 2.4
3. Update environment variable documentation if needed
### 4.11. Release Process
(For maintainers)
1. **Version Bump:**
- Update version in `package.json`
- Follow semantic versioning (MAJOR.MINOR.PATCH)
2. **Changelog:**
- Document all changes since last release
- Include breaking changes, features, and bug fixes
3. **Testing:**
- Run full test suite
- Test in staging environment
- Verify all integrations work
4. **Deployment:**
- Build production bundle: `pnpm build`
- Deploy to production server
- Monitor logs for issues
5. **Tag Release:**
```bash
git tag -a v2.0.0 -m "Release version 2.0.0"
git push origin v2.0.0
```
### 4.12. Contact for Contributors
If you have questions about contributing:
- **Discord Forum:** Post in the #bug-reports or #feature-requests forum channels on our Discord community
- **Chat Server:** https://chat.nhcarrigan.com
- **Email:** contact@nhcarrigan.com
We review pull requests as soon as possible and appreciate all contributions to the project.
---
+38
View File
@@ -0,0 +1,38 @@
---
title: Aeris
---
Aeris (hereinafter the "Application") is an authentication service featuring magic links and support for multiple social media platforms
## 1. User Documentation
:::note
This section is coming soon!
:::
This section is for those interacting with a live instance of the Application.
## 2. Technical Documentation
:::note
This section is coming soon!
:::
This section is for those interested in running their own instance of the Application.
## 3. Legal Documentation
:::note
This section is coming soon!
:::
This section is for expansions to our legal policies specific to the Application.
## 4. Contributing Documentation
:::note
This section is coming soon!
:::
This section is for documentation related to contributing to the Application's codebase.
+38
View File
@@ -0,0 +1,38 @@
---
title: Alouette
---
Alouette (hereinafter the "Application") is a web server that allows you to set up arbitrary webhooks and format them to post on Discord.
## 1. User Documentation
:::note
This section is coming soon!
:::
This section is for those interacting with a live instance of the Application.
## 2. Technical Documentation
:::note
This section is coming soon!
:::
This section is for those interested in running their own instance of the Application.
## 3. Legal Documentation
:::note
This section is coming soon!
:::
This section is for expansions to our legal policies specific to the Application.
## 4. Contributing Documentation
:::note
This section is coming soon!
:::
This section is for documentation related to contributing to the Application's codebase.
+221
View File
@@ -0,0 +1,221 @@
---
title: Altaria
---
Altaria (hereinafter the "Application") is a Discord bot that provides gentle reminders to users when they upload images without alt-text descriptions, promoting accessibility and inclusion within Discord communities.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### What is Altaria?
Altaria is a friendly Discord bot designed to encourage the use of alt-text (alternative text) for images in Discord servers. Alt-text helps make content accessible to users who rely on screen readers and assistive technologies.
### How to Add Altaria to Your Server
1. Use the official invitation link: [Add to Discord](https://discord.com/oauth2/authorise?client_id=1405356559214837860)
2. Select your server from the dropdown menu
3. Grant the necessary permissions:
- Read Messages/View Channels
- Send Messages
- Use Slash Commands
### How Altaria Works
- **Automatic Monitoring**: Altaria monitors messages in channels where it has permissions
- **Image Detection**: When someone posts an image without alt-text, Altaria detects it automatically
- **Gentle Reminders**: The bot responds with one of 100 carefully crafted, encouraging messages
- **Educational Links**: Each reminder includes helpful resources about adding alt-text and writing descriptions
### Using Slash Commands
Altaria supports slash commands that provide information about the bot:
- Type `/` and select an Altaria command to learn more about the bot's features and purpose
### Reminder Message Categories
Altaria's reminders fall into five themed categories:
1. **Gentle Encouragement** (20 messages) - Soft, supportive reminders
2. **Playful/Cute** (20 messages) - Fun, anime-inspired messages with emoticons
3. **Educational** (20 messages) - Informative content about accessibility
4. **Community Vibes** (20 messages) - Emphasising collective responsibility
5. **Thematic/Fantasy** (20 messages) - Creative, story-driven reminders
### Getting Help
If you need assistance:
- Join the support server: [Discord Server](https://chat.nhcarrigan.com)
- Review Discord's guide: [How to add alt-text](https://support.discord.com/hc/en-us/articles/211866427-How-do-I-upload-images-and-GIFs)
- Use Cordelia for AI-generated descriptions: [Cordelia](https://cordelia.nhcarrigan.com)
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### Architecture Overview
Altaria is built using:
- **Node.js** with TypeScript
- **Discord.js** v14.21.0 for Discord API interaction
- **Fastify** v5.5.0 for the web server
- **@nhcarrigan/logger** for structured logging
### Project Structure
```
src/
├── index.ts # Main application entry point
├── modules/
│ └── checkAltText.ts # Core alt-text detection logic
├── config/
│ ├── blocks.ts # Discord UI blocks configuration
│ └── reminders.ts # Collection of reminder messages
├── utils/
│ ├── errorHandler.ts # Error handling utilities
│ ├── logger.ts # Logger configuration
│ └── getRandomValue.ts # Random selection utility
└── server/
└── serve.ts # Web server for health checks
```
### Core Functionality
#### Alt-Text Detection (`src/modules/checkAltText.ts:16`)
- Filters messages for image attachments
- Identifies images without descriptions
- Sends randomized gentle reminders with educational resources
#### Random Reminder Selection (`src/utils/getRandomValue.ts:15`)
- Securely selects random messages using Node.js crypto module
- Ensures variety in user experience
#### Web Server (`src/server/serve.ts:54`)
- Provides health monitoring endpoint on port 6022
- Serves informational landing page with bot details
### Installation Requirements
- Node.js (compatible with ES modules)
- pnpm package manager v10.14.0+
- TypeScript 5.9.2+
### Environment Variables
- `BOT_TOKEN`: Discord bot token (required)
- `LOG_TOKEN`: Logging service token (optional)
### Development Setup
1. Clone the repository
2. Install dependencies: `pnpm install`
3. Create environment file with required tokens
4. Build: `pnpm run build`
5. Start: `pnpm start`
### Deployment
- Production deployment uses 1Password CLI: `op run --env-file=./prod.env -- node prod/index.js`
- Web server runs on port 6022 for health monitoring
- Supports process monitoring and logging
### API Endpoints
- `GET /`: Landing page with bot information and invite link
- Health check endpoint for monitoring services
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### License
This software is licensed under Naomi's Public Licence. Full details available at: https://docs.nhcarrigan.com/#/license
### Copyright
Copyright held by Naomi Carrigan (@nhcarrigan).
### Privacy Considerations
- Altaria only processes message content to detect image attachments
- No message content or user data is stored permanently
- Bot interactions are logged for debugging purposes only
- Complies with Discord's Terms of Service and Developer Policy
### Data Processing
- **Message Scanning**: Bot analyses messages in real-time for image attachments
- **Temporary Processing**: Message data is processed only for alt-text detection
- **No Data Retention**: No user messages or personal data are stored
- **Logging**: Error logs may contain anonymized debugging information
### Terms of Use
By adding Altaria to your Discord server, you agree to:
- Allow the bot to read messages in authorised channels
- Accept that the bot will send reminder messages about alt-text
- Understand that the bot promotes accessibility and inclusion
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### Getting Started
1. Fork the repository on GitHub
2. Clone your fork locally
3. Install dependencies: `pnpm install`
4. Read the [Contributing Guidelines](CONTRIBUTING.md)
5. Review the [Code of Conduct](CODE_OF_CONDUCT.md)
### Development Workflow
1. Create a feature branch from `main`
2. Make your changes following the coding standards
3. Run linting: `pnpm run lint`
4. Build the project: `pnpm run build`
5. Test your changes thoroughly
6. Submit a Pull Request
### Code Style Guidelines
- **TypeScript**: Strict typing enabled
- **ESLint**: Uses `@nhcarrigan/eslint-config` with max 0 warnings
- **Formatting**: Consistent code style enforced
- **Comments**: JSDoc comments for functions and modules
- **Error Handling**: Comprehensive error handling with UUID tracking
### Adding New Reminder Messages
To add new reminder messages to `src/config/reminders.ts:9`:
1. Choose an appropriate category (gentle, playful, educational, community, thematic)
2. Follow the existing tone and length guidelines
3. Include accessibility-focused messaging
4. Test that messages display correctly in Discord
5. Maintain the current array structure
### Testing Guidelines
- Test Discord interactions manually in a development server
- Verify alt-text detection works for various image types
- Ensure reminder messages display correctly
- Test web server endpoints
### Submission Requirements
- All code must pass linting without warnings
- Changes should include appropriate JSDoc documentation
- Pull requests must include a clear description of changes
- Follow existing patterns and conventions
### Contact for Contributors
- **Discord**: [Chat Server](https://chat.nhcarrigan.com)
- **Email**: contact@nhcarrigan.com
- **Issues**: Post in the #bug-reports or #feature-requests forum channels on our Discord community
### Recognition
Contributors will be recognised in future releases and project documentation as appropriate.
+440
View File
@@ -0,0 +1,440 @@
---
title: Amari
---
Amari (hereinafter the "Application") is Naomi's Virtual Personal Assistant on Discord, designed to automate community management, content aggregation, mentorship programme coordination, and integration with external services such as GitHub, RetroAchievements, and Baserow.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### 1.1. Interacting with Amari
#### 1.1.1. Direct Messages
When you send a Direct Message to Amari, the bot will automatically forward your message to Naomi and respond with an acknowledgment. This provides a direct communication channel to reach Naomi through the bot.
Implementation: `src/modules/respondToDm.ts:19`
#### 1.1.2. Mentions
Amari monitors messages in the Discord server for mentions of "Naomi" or "@nhcarrigan" (user or role). When detected, the bot forwards the message to Naomi for review, helping ensure important messages are not missed. To prevent spam, Amari will not forward mentions from channels that have been active in the last 10 minutes.
Implementation: `src/modules/respondToMention.ts:20`
### 1.2. Mentorship Program
#### 1.2.1. Joining the Program
When you receive the Mentorship role, Amari will automatically send a welcome message in the mentee chat channel with onboarding instructions, including:
- Accepting the GitHub repository invitation
- Reading the mentorship wiki
- Creating your initial goal post
Implementation: `src/modules/processMentorshipRole.ts:20`
#### 1.2.2. Forum Thread Management
Amari automatically manages thread tags in mentorship forums (Goals, Projects, Resume Reviews, and Discussions) to track whose turn it is to respond:
- When Naomi responds to your thread, the tag changes to "Waiting on Member"
- When you respond, the tag changes to "Waiting on Naomi"
Implementation: `src/modules/updateMentorshipThread.ts:43`
#### 1.2.3. Progress Reminders
Every weekday (Monday-Friday) at 9:00 AM, Amari posts progress reminders in configured channels. These reminders prompt you to share:
1. What you accomplished yesterday
2. What you're working on today
3. Any blockers or issues you need help with
Implementation: `src/modules/postProgressReminders.ts:16`
### 1.3. Content and News
#### 1.3.1. Tech News Feed
Amari automatically posts new articles from two sources every hour:
- **FreeCodeCamp News**: Articles are filtered for inappropriate content before posting
- **Hacker News**: Latest posts with comment links
Implementation: `src/modules/postNews.ts:40` and `src/modules/postNews.ts:95`
#### 1.3.2. RetroAchievements
If Naomi unlocks any RetroAchievements, Amari posts them to the gaming channel every 10 minutes. These posts include:
- Achievement title and description
- Game title and console
- Point value
- Badge images
Implementation: `src/modules/checkAchievements.ts:87`
### 1.4. Form Submissions
When you submit a form through the Baserow system, Amari posts a notification to the form submissions channel. Supported forms include:
- Sanction Appeals
- Commission Requests
- Contact Requests
- Event Requests
- Meeting Requests
- Mentorship Requests
- Staff Applications
- Testimonials
- ASCII Submissions
- Contributor Applications
- Product and Community Feedback
- Community Nominations
Implementation: `src/modules/processFormSubmission.ts:22` and `src/config/forms.ts:9`
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### 2.1. Prerequisites
- Node.js (compatible with the version specified in package.json)
- pnpm 10.15.0 or higher
- A Discord Bot Token
- GitHub App credentials (Client ID and Private Key)
- RetroAchievements API Key (optional, for achievements feature)
- Baserow webhook secret (optional, for form submissions)
### 2.2. Environment Variables
The following environment variables must be configured:
| Variable | Required | Description |
|----------|----------|-------------|
| `BOT_TOKEN` | Yes | Discord bot token |
| `GH_CLIENT_ID` | Yes | GitHub App client ID |
| `GH_PRIVATE_KEY` | Yes | GitHub App private key (with newlines as `\\n`) |
| `GH_WEBHOOK_SECRET` | No | Secret for validating GitHub webhook payloads |
| `RA_KEY` | No | RetroAchievements API key |
| `BASEROW_SECRET` | No | Secret for validating Baserow webhook payloads |
### 2.3. Installation
1. Clone the repository
2. Install dependencies:
```bash
pnpm install
```
3. Build the TypeScript code:
```bash
pnpm run build
```
4. Configure environment variables (see section 2.2)
5. Start the application:
```bash
pnpm start
```
Implementation: `src/index.ts:1`
### 2.4. Configuration
#### 2.4.1. Discord IDs
All Discord-specific IDs (channels, roles, users, guilds, tags) are configured in `src/config/ids.ts`. You will need to update these IDs to match your Discord server setup:
- **Channels**: Form submissions, gaming, general, mentee chat, forums, news
- **Roles**: Mentorship, NHCarrigan, representing
- **Users**: Amari (bot), Naomi, NHCarrigan
- **Tags**: Forum tags for tracking thread status
Implementation: `src/config/ids.ts:7`
#### 2.4.2. Form IDs
Form submission notifications are configured in `src/config/forms.ts`. Map Baserow table IDs to human-readable form names.
Implementation: `src/config/forms.ts:9`
#### 2.4.3. Progress Reminders
Progress reminder channels are configured in `src/config/progressReminders.ts`. Configure which channels should receive reminders, associated role IDs, and whether to create threads.
Implementation: `src/config/progressReminders.ts:1`
#### 2.4.4. DM Response
The automatic response sent when users DM the bot is configured in `src/config/responses.ts`.
Implementation: `src/config/responses.ts:1`
### 2.5. Architecture
#### 2.5.1. Core Components
The Application consists of several key components:
1. **Discord Bot** (`discord.js`): Handles all Discord interactions
2. **GitHub Integration** (`octokit`): Manages GitHub webhooks and API interactions
3. **Web Server** (`fastify`): Receives webhooks and serves health monitoring page
4. **Scheduled Jobs** (`node-schedule`): Executes periodic tasks (news, reminders, etc.)
5. **Analytics** (`@nhcarrigan/discord-analytics`): Tracks bot usage metrics
Main entry point: `src/index.ts:1`
#### 2.5.2. Event Handlers
The bot responds to the following Discord events:
- `ClientReady`: Initialize scheduled jobs and cache data (src/index.ts:65)
- `MessageCreate`: Handle guild messages and DMs (src/index.ts:89)
- `InteractionCreate`: Handle button interactions (src/index.ts:97)
- `UserUpdate`: Process guild tag changes (src/index.ts:117)
- `GuildMemberUpdate`: Process mentorship role assignments (src/index.ts:121)
- `GuildMemberAdd`: Log when mentees join (src/index.ts:125)
- `GuildMemberRemove`: Log when mentees leave (src/index.ts:129)
#### 2.5.3. Scheduled Tasks
The following tasks run on a schedule:
- **Hourly** (0 * * * *): Post news from FreeCodeCamp and Hacker News
- **Daily at Midnight** (0 0 * * *): Audit and cache guild tags
- **Weekdays at 9 AM** (0 9 * * 1-5): Post progress reminders
- **Every 10 minutes** (interval): Check RetroAchievements and clear recently active channels
Implementation: `src/index.ts:70-86`
#### 2.5.4. Web Server Endpoints
The Fastify web server provides the following endpoints:
- `GET /`: Health monitoring page with bot information
- `POST /github`: Webhook endpoint for GitHub events (issues, pull requests)
- `POST /form`: Webhook endpoint for Baserow form submissions
The server listens on port 7044.
Implementation: `src/server/serve.ts:61`
### 2.6. Content Filtering
FreeCodeCamp News posts are filtered for inappropriate content using a comprehensive regular expression that detects violations of the Code of Conduct. The regex is defined in `src/modules/postNews.ts:23` and checks for:
- Harassment, bullying, and discrimination
- Hate speech and slurs
- Explicit, violent, or illegal content
- Spam, scams, and fraud
- Drug-related content
- Violence and illegal activities
Posts matching these patterns are automatically rejected and not posted to Discord.
### 2.7. GitHub Integration
When GitHub webhooks are received:
1. **New Issues** (`opened` action): Amari automatically assigns Naomi to the issue
2. **New Pull Requests** (`opened` action): Amari automatically requests Naomi as a reviewer
Implementation: `src/modules/processGitHubEvent.ts:31`
### 2.8. Development
#### 2.8.1. Available Scripts
- `pnpm run build`: Compile TypeScript to JavaScript
- `pnpm start`: Start the production server (uses 1Password for environment variables)
- `pnpm run lint`: Run ESLint with zero warnings policy
- `pnpm test`: Run tests (currently placeholder)
#### 2.8.2. Code Structure
```
src/
├── config/ # Configuration files (IDs, forms, responses, reminders)
├── events/ # Discord event handlers
├── interfaces/ # TypeScript interfaces
├── modules/ # Core functionality modules
├── server/ # Fastify web server
├── utils/ # Utility functions
└── index.ts # Application entry point
```
#### 2.8.3. Dependencies
Key dependencies:
- `discord.js` v14.22.0: Discord API wrapper
- `fastify` v5.5.0: Web server framework
- `octokit` v5.0.3: GitHub API client
- `node-schedule` v2.1.1: Cron job scheduler
- `rss-parser` v3.13.0: RSS feed parser
- `@retroachievements/api` v2.6.0: RetroAchievements API client
- `@nhcarrigan/discord-analytics` v0.0.6: Analytics tracking
- `@nhcarrigan/logger` v1.1.1: Logging utility
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### 3.1. License
This software is licensed under Naomi's Public Licence. The full licence text is available in the `LICENSE.md` file in the repository root.
Copyright held by Naomi Carrigan.
### 3.2. Code of Conduct
All users interacting with the Application, whether through Discord or by contributing to the codebase, must adhere to the Code of Conduct defined in `CODE_OF_CONDUCT.md`.
### 3.3. Content Filtering
The Application implements automated content filtering for RSS feeds to ensure posted content complies with the community's Code of Conduct. While this filtering attempts to catch policy violations, it may not be perfect. Users should report any inappropriate content that bypasses the filters.
### 3.4. Data Collection
The Application collects the following data for operational purposes:
- Discord user IDs and message content (forwarded to Naomi for mentions/DMs)
- GitHub usernames (for webhook processing)
- Form submission data (row IDs and table identifiers)
- Analytics metrics (event counts and associated metadata)
All data is processed in accordance with Naomi's privacy policies.
### 3.5. Third-Party Services
The Application integrates with several third-party services:
- **Discord**: Communication platform (Terms of Service apply)
- **GitHub**: Code hosting and webhook integration (Terms of Service apply)
- **RetroAchievements**: Gaming achievement tracking (Terms of Service apply)
- **Baserow**: Form submission processing (Terms of Service apply)
Users of the Application are subject to the terms of service of these platforms.
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### 4.1. Getting Started
Before contributing, please:
1. Read the `CONTRIBUTING.md` file for contribution guidelines
2. Review the `CODE_OF_CONDUCT.md` to understand community standards
3. Familiarize yourself with the codebase structure (see section 2.8.2)
### 4.2. Development Setup
1. Fork the repository
2. Clone your fork locally
3. Install dependencies: `pnpm install`
4. Create a feature branch: `git checkout -b feature/your-feature-name`
5. Make your changes
6. Run linting: `pnpm run lint`
7. Build the project: `pnpm run build`
8. Test your changes with a local instance
### 4.3. Code Standards
The project enforces the following standards:
- **TypeScript**: All code must be written in TypeScript
- **ESLint**: Code must pass linting with zero warnings (`@nhcarrigan/eslint-config`)
- **TypeScript Config**: Uses `@nhcarrigan/typescript-config`
- **File Headers**: All files must include copyright header with licence and author information
Example header:
```typescript
/**
* @copyright NHCarrigan
* @license Naomi's Public Licence
* @author Naomi Carrigan
*/
```
### 4.4. Module Guidelines
When creating or modifying modules:
1. **Single Responsibility**: Each module should handle one specific feature
2. **Error Handling**: Use try-catch blocks and log errors with the logger utility
3. **Type Safety**: Define interfaces for all data structures
4. **Documentation**: Include JSDoc comments for all exported functions
5. **Testing**: Consider how your changes can be tested (when tests are implemented)
### 4.5. Adding New Features
When adding new features:
1. **Configuration**: Add any new IDs or configuration to appropriate config files
2. **Interfaces**: Define TypeScript interfaces in the `src/interfaces/` directory
3. **Modules**: Create new modules in `src/modules/` for self-contained functionality
4. **Events**: Add event handlers in `src/events/` if needed
5. **Server Routes**: Add new endpoints in `src/server/serve.ts` if needed
6. **Documentation**: Update this documentation file to reflect new features
### 4.6. Submitting Changes
1. Commit your changes with descriptive commit messages
2. Push to your fork
3. Create a Pull Request to the main repository
4. Amari will automatically request Naomi as a reviewer
5. Address any review feedback
6. Once approved, your changes will be merged
### 4.7. Key Files for Contributors
- `src/index.ts`: Main application entry point
- `src/config/ids.ts`: Discord server IDs configuration
- `src/interfaces/amari.ts`: Core application state interface
- `src/server/serve.ts`: Web server and webhook handlers
- `src/modules/`: Individual feature implementations
- `package.json`: Dependencies and scripts
### 4.8. Common Tasks
#### Adding a New Form Type
1. Add the table ID and name to `src/config/forms.ts`
2. The form notification will automatically work via `src/modules/processFormSubmission.ts`
#### Adding a New Scheduled Task
1. Add the schedule in `src/index.ts` within the `ClientReady` event handler
2. Use `node-schedule` cron syntax
3. Create a new module in `src/modules/` for the task logic
#### Adding a New Discord Event Handler
1. Create a handler module in `src/modules/` or `src/events/`
2. Register the event listener in `src/index.ts`
3. Use the `Amari` interface for accessing bot state
#### Modifying Webhook Endpoints
1. Update the route handler in `src/server/serve.ts`
2. Define interfaces for payloads in `src/interfaces/`
3. Ensure proper authentication checking with secrets
### 4.9. Support and Questions
If you have questions about contributing:
- Post in the #bug-reports or #feature-requests forum channels on our Discord community
- Join the Discord server at https://chat.nhcarrigan.com for discussions
- Email contact@nhcarrigan.com for private inquiries
### 4.10. Analytics and Logging
The Application uses custom logging and analytics:
- **Logger**: Use `logger.log()`, `logger.error()`, `logger.metric()` from `src/utils/logger.ts`
- **Metrics**: Log user actions with `logger.metric()` for analytics tracking
- **Error Handling**: Always catch and log errors to help with debugging
Example:
```typescript
await logger.metric("processed_event", 1, { user: userId });
await logger.error("module name", error);
```
+38
View File
@@ -0,0 +1,38 @@
---
title: Amirei
---
Amirei (hereinafter the "Application") is a quick social link aggregator for 'link in bio' pages.
## 1. User Documentation
:::note
This section is coming soon!
:::
This section is for those interacting with a live instance of the Application.
## 2. Technical Documentation
:::note
This section is coming soon!
:::
This section is for those interested in running their own instance of the Application.
## 3. Legal Documentation
:::note
This section is coming soon!
:::
This section is for expansions to our legal policies specific to the Application.
## 4. Contributing Documentation
:::note
This section is coming soon!
:::
This section is for documentation related to contributing to the Application's codebase.
+319
View File
@@ -0,0 +1,319 @@
---
title: Aria Iuvo
---
Aria Iuvo (hereinafter the "Application") is a Discord bot designed to provide seamless message translation capabilities using LibreTranslate. The bot allows users to translate Discord messages to their preferred language through an intuitive right-click context menu interface. Developed by NHCarrigan, Aria Iuvo supports over 25 languages and offers both free and premium functionality through Discord's subscription system.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### Getting Started
To use Aria Iuvo, [add the bot to your Discord account](https://discord.com/oauth2/authorise?client_id=1338596130207957035) using the provided authorisation link. The bot operates as a user-installable application, meaning it can be used across any Discord server or direct message where you have access.
### Core Features
#### Message Translation
- **Context Menu Access**: Right-click on any message, select "Apps", then choose "Translate Message"
- **Automatic Language Detection**: The bot automatically detects the source language of the message
- **User Locale Targeting**: Messages are translated to your Discord interface language
- **Confidence Reporting**: Translation results include the detection confidence percentage
#### About Command
- Use the `/about` slash command to view bot information
- Displays current version, commit hash, and helpful links
- Available in 25+ languages matching your Discord locale
#### Premium Features
- **Subscription Required**: Message translation requires an active premium subscription
- **Subscription Management**: Use the premium button in bot responses to manage subscriptions
### Supported Languages
Aria Iuvo supports translation between the following languages:
- English (en)
- Spanish (es)
- French (Français)
- German (Deutsch)
- Italian (Italiano)
- Portuguese (pt)
- Russian (Русский)
- Chinese Simplified (zh)
- Chinese Traditional (zt)
- Japanese (日本語)
- Korean (한국어)
- Dutch (Nederlands)
- Polish (Polski)
- Czech (Čeština)
- Danish (Dansk)
- Swedish (Svenska)
- Finnish (Suomi)
- Greek (Ελληνικά)
- Bulgarian (Български)
- Romanian (Română)
- Hungarian (Magyar)
- Lithuanian (Lietuvių)
- Ukrainian (Українська)
- Turkish (Türkçe)
- Thai (ไทย)
- Hindi (हिन्दी)
- Indonesian (Bahasa Indonesia)
### Error Handling
- **No Message Content**: The bot will notify you if the selected message contains no translatable text
- **Unsupported Language**: If your locale isn't supported, you'll receive a notification
- **Network Issues**: Connection problems are logged and users receive error notifications
- **Rate Limiting**: The bot handles API rate limits gracefully
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### System Architecture
Aria Iuvo is built using modern TypeScript and Node.js technologies with the following key components:
#### Core Technologies
- **Runtime**: Node.js with ES modules
- **Language**: TypeScript with strict configuration
- **Discord Library**: discord.js v14+
- **Translation Service**: LibreTranslate API
- **Web Framework**: Fastify (for health monitoring)
- **Package Manager**: pnpm
#### Project Structure
```
src/
├── index.ts # Main entry point and Discord client setup
├── commands/ # Slash command definitions
│ ├── about.ts # About command configuration
│ └── translate.ts # Context menu command configuration
├── modules/ # Core functionality implementations
│ ├── about.ts # About command logic
│ ├── translate.ts # Translation processing logic
│ └── getLocale.ts # Locale resolution utilities
├── config/ # Configuration files
│ └── locales.ts # Supported locales and mappings
├── i18n/ # Internationalization
│ └── responses.ts # Localized response strings
├── server/ # Web server components
│ └── serve.ts # Health monitoring server
└── utils/ # Utility functions
├── i18n.ts # Translation utilities
├── logger.ts # Logging functionality
└── replyToError.ts # Error response handling
```
### Environment Setup
#### Required Environment Variables
```bash
DISCORD_TOKEN=your_discord_bot_token
TRANSLATE_TOKEN=your_libretranslate_api_key
```
#### Installation Steps
1. Clone the repository
2. Install dependencies: `pnpm install`
3. Configure environment variables
4. Build the project: `pnpm run build`
5. Start the application: `pnpm run start`
#### Development Workflow
- **Linting**: `pnpm run lint` (ESLint with @nhcarrigan/eslint-config)
- **Testing**: `pnpm run test` (Vitest with coverage)
- **Building**: `pnpm run build` (TypeScript compilation)
### API Integration
#### LibreTranslate Service
- **Detection Endpoint**: `https://trans.nhcarrigan.com/detect`
- **Translation Endpoint**: `https://trans.nhcarrigan.com/translate`
- **Authentication**: API key-based authentication
- **Request Format**: URL-encoded form data
#### Discord Integration
- **Application Type**: User-installable bot
- **Interaction Types**: Message context menus, slash commands
- **Permission Model**: Minimal intents required (no message content access)
- **Premium Integration**: Discord's SKU-based subscription system
### Monitoring and Health Checks
#### Web Server
- **Port**: 5001
- **Endpoint**: `/` (serves HTML status page)
- **Framework**: Fastify with logging disabled
- **Purpose**: Health monitoring and basic bot information
#### Logging System
- **Error Handling**: Comprehensive error logging with structured data
- **Process Monitoring**: Unhandled rejection and exception tracking
- **Subscription Events**: User subscription/unsubscription logging
### Deployment Considerations
#### Production Requirements
- Node.js 22+ runtime environment
- Access to LibreTranslate API service
- Discord bot token with appropriate permissions
- Environment variable management (1Password integration shown)
#### Scaling Considerations
- Stateless design enables horizontal scaling
- Rate limiting handled at API level
- Minimal memory footprint due to no message caching
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### Licensing
Aria Iuvo is licensed under Naomi's Public Licence, as referenced in the global software licence documentation available at [docs.nhcarrigan.com](https://docs.nhcarrigan.com/#/license).
### Data Handling
#### Message Processing
- **Temporary Processing**: Messages are sent to LibreTranslate for translation only
- **No Storage**: The bot does not store or cache message content
- **Ephemeral Responses**: All bot responses are ephemeral (only visible to the requesting user)
#### User Data
- **Minimal Collection**: Only Discord user IDs and locale preferences are processed
- **Subscription Data**: Premium subscription status is managed through Discord's system
- **No Personal Information**: No additional personal data is collected or stored
#### Third-Party Services
- **LibreTranslate**: Message content is temporarily sent to LibreTranslate for processing
- **Discord**: All interactions are governed by Discord's Terms of Service and Privacy Policy
### Copyright and Attribution
- **Copyright Holder**: Naomi Carrigan (NHCarrigan)
- **Source Code**: Available at [git.nhcarrigan.com/NHCarrigan/aria-iuvo](https://git.nhcarrigan.com/NHCarrigan/aria-iuvo)
- **Attribution**: Uses LibreTranslate for translation services
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### Development Environment
#### Prerequisites
- Node.js 22 or higher
- pnpm package manager
- Git version control
- TypeScript knowledge
- Discord.js familiarity
#### Code Standards
- **Linting**: ESLint with @nhcarrigan/eslint-config
- **Type Safety**: Strict TypeScript configuration
- **Testing**: Vitest with coverage requirements
- **Documentation**: JSDoc comments for all public functions
### Contribution Workflow
#### Getting Started
1. Fork the repository
2. Create a feature branch from main
3. Set up development environment
4. Make your changes following code standards
5. Run tests and linting
6. Submit a pull request
#### Code Style Guidelines
- **Naming Conventions**: camelCase for variables, PascalCase for types
- **File Organization**: Logical separation by functionality
- **Import Style**: ES modules with explicit extensions
- **Error Handling**: Comprehensive try-catch blocks with logging
#### Internationalization (i18n)
##### Adding New Languages
1. Add locale to `supportedLocales` array in `config/locales.ts`
2. Add mapping if needed in `mappedLocales` object
3. Add translations to `responses` object in `i18n/responses.ts`
4. Update command localizations in `commands/` files
##### Translation Structure
```typescript
[Locale.NewLanguage]: {
"button": {
code: "Source Code Translation",
support: "Help Translation",
},
"command-error": "Error message translation",
"embed": {
commit: "Commit translation",
description: "Bot description translation",
title: "About title translation",
version: "Version translation",
},
"no-message-content": "No content message translation",
"subscription-required": "Subscription required translation",
"translation": "Translation format string",
"unsupported-locale": "Unsupported locale translation",
}
```
### Testing Guidelines
#### Test Structure
- **Unit Tests**: Located in `test/` directory
- **Coverage Requirements**: Maintained through Vitest
- **Locale Testing**: Verify i18n functionality
- **Integration Testing**: Test Discord interaction flows
#### Running Tests
```bash
# Run all tests with coverage
pnpm run test
# Run tests in watch mode (development)
npx vitest --watch
# Check test coverage
npx vitest run --coverage
```
### Bug Reports and Feature Requests
#### Issue Templates
- **Bug Reports**: Include steps to reproduce, expected vs actual behaviour
- **Feature Requests**: Describe use case, proposed implementation
- **Translation Issues**: Specify locale and incorrect translation
#### Communication Channels
- **Issues**: GitHub/Git repository issue tracker
- **Support**: [chat.nhcarrigan.com](https://chat.nhcarrigan.com)
- **Email**: contact@nhcarrigan.com
### Release Process
#### Version Management
- **Semantic Versioning**: Following semver conventions
- **Changelog**: Maintained for all releases
- **Git Tags**: Version tags for release tracking
#### Deployment Pipeline
- **Build Verification**: All tests must pass
- **Linting Check**: No linting errors allowed
- **Type Checking**: TypeScript compilation must succeed
- **Manual Testing**: Discord integration verification
### Documentation Standards
#### Code Documentation
- **JSDoc**: All public functions and complex logic
- **README**: Project overview and quick start guide
- **CONTRIBUTING**: Detailed contribution guidelines
- **This Document**: Comprehensive application documentation
#### Maintenance
- **Regular Updates**: Documentation updated with code changes
- **Accuracy**: All examples and instructions verified
- **Accessibility**: Clear language and structured formatting
+38
View File
@@ -0,0 +1,38 @@
---
title: Aurelia
---
Aurelia (hereinafter the "Application") is a blogging platform with markdown editor
## 1. User Documentation
:::note
This section is coming soon!
:::
This section is for those interacting with a live instance of the Application.
## 2. Technical Documentation
:::note
This section is coming soon!
:::
This section is for those interested in running their own instance of the Application.
## 3. Legal Documentation
:::note
This section is coming soon!
:::
This section is for expansions to our legal policies specific to the Application.
## 4. Contributing Documentation
:::note
This section is coming soon!
:::
This section is for documentation related to contributing to the Application's codebase.
+38
View File
@@ -0,0 +1,38 @@
---
title: Aureline
---
Aureline (hereinafter the "Application") is a web app that allows you to create/upload digital badges and certifications and grant them to users
## 1. User Documentation
:::note
This section is coming soon!
:::
This section is for those interacting with a live instance of the Application.
## 2. Technical Documentation
:::note
This section is coming soon!
:::
This section is for those interested in running their own instance of the Application.
## 3. Legal Documentation
:::note
This section is coming soon!
:::
This section is for expansions to our legal policies specific to the Application.
## 4. Contributing Documentation
:::note
This section is coming soon!
:::
This section is for documentation related to contributing to the Application's codebase.
+212
View File
@@ -0,0 +1,212 @@
---
title: Becca Lyria
---
Becca Lyria (hereinafter the "Application") is an AI-powered Discord bot that provides an interactive text-based role-playing game experience through direct messages. The bot utilizes Anthropic's Claude AI to create dynamic, personalised RPG adventures for users.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### Overview
Becca Lyria is a user-installable Discord bot that transforms your DMs into an immersive text-based RPG experience. Acting as a wise mage named Becca with a cold and calculating personality, the bot serves as your personal dungeon master, weaving interactive stories that adapt to your choices and actions.
### Getting Started
1. **Installation**: [Add Becca Lyria to your Discord account](https://discord.com/oauth2/authorise?client_id=1343341112437248041)
2. **Subscription**: The bot requires an active subscription to use its features
3. **Start Playing**: Use the `/start` command to begin your adventure
### Available Commands
- **`/start`** - Start a new RPG scenario. Becca will create a fresh adventure and send it to your DMs
- **`/about`** - Learn more about the bot, including version information and useful links
- **`/clear`** - Clear your current adventure history to start fresh
### How to Play
1. Send Becca a `/start` command to begin a new adventure
2. Once the story begins in your DMs, simply respond naturally to continue the narrative
3. The bot maintains conversation history (up to 20 messages) to provide context-aware responses
4. Use `/clear` to reset your adventure history when you want to start over
5. The bot supports free-form text adventures - you can attempt any action you can imagine
### Features
- **AI-Powered Storytelling**: Powered by Claude 3.5 Sonnet for rich, dynamic narratives
- **Conversation Memory**: Maintains context from recent messages for coherent storytelling
- **Free-Form Gameplay**: No restrictive multiple choice options - express your actions naturally
- **Personalized Experience**: The bot adapts to your playstyle and incorporates your Discord display name
- **Privacy-Focused**: All gameplay happens in private DMs
### Subscription Model
Becca Lyria operates on a premium subscription model through Discord's monetization system. Users must have an active subscription to access the bot's RPG features.
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### Architecture Overview
Becca Lyria is built as a modern Discord bot using TypeScript and several key technologies:
**Core Technologies:**
- **Node.js/TypeScript**: Main runtime and development language
- **Discord.js**: Discord API interaction library
- **Anthropic SDK**: Integration with Claude AI models
- **Fastify**: Web server for health monitoring
- **PNPM**: Package management
**AI Integration:**
- **Provider**: Anthropic Claude (claude-3-5-sonnet-latest for conversations, claude-sonnet-4-20250514 for story starts)
- **Context Management**: Maintains up to 20 messages of conversation history
- **Personality System**: Configurable personality traits for consistent character behaviour
### Project Structure
```
src/
├── index.ts # Main entry point and Discord client setup
├── commands/ # Slash command definitions
│ ├── about.ts
│ ├── clear.ts
│ └── start.ts
├── config/
│ └── personality.ts # AI personality configuration
├── events/
│ └── message.ts # Direct message event handling
├── modules/ # Command implementation logic
│ ├── about.ts
│ ├── clear.ts
│ └── start.ts
├── server/
│ └── serve.ts # Health monitoring web server
└── utils/ # Utility functions
├── ai.ts # Anthropic client configuration
├── calculateCost.ts # Usage cost tracking
├── isSubscribed.ts # Subscription verification
├── logger.ts # Logging utility
└── replyToError.ts # Error handling
```
### Environment Variables
The application requires several environment variables:
- `DISCORD_TOKEN`: Discord bot token
- `AI_TOKEN`: Anthropic API key
- `LOG_TOKEN`: Logging service token (optional)
### Key Features Implementation
**Subscription System:**
- Integrates with Discord's premium features
- SKU ID: `1343347225698500744`
- Entitlement checking for both interactions and messages
- Special bypass for bot owner (ID: `465650873650118659`)
**Conversation Management:**
- Fetches last 20 messages from DM channel
- Supports history clearing with special `<Clear History>` marker
- Converts message history to Anthropic's message format
- Maintains role context (user vs assistant)
**Error Handling:**
- Comprehensive error logging with custom logger
- Graceful error responses to users
- Unhandled rejection and exception catching
**Cost Tracking:**
- Monitors AI usage with token counting
- Calculates costs based on Anthropic pricing (input: $3/1M tokens, output: $15/1M tokens)
- Logs usage statistics per user
### Development Setup
1. **Prerequisites**: Node.js, PNPM
2. **Installation**: `pnpm install`
3. **Build**: `pnpm run build`
4. **Development**: Configure environment variables in `dev.env`
5. **Production**: Configure environment variables in `prod.env`
6. **Start**: `pnpm start` (requires 1Password CLI for env injection)
### Deployment Considerations
- Web server runs on port 5010 for health checks
- Requires Discord bot permissions for DMs and message content
- Needs stable Anthropic API access
- Logging integration with NHCarrigan logging service
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### Data Processing
Your conversation history is transmitted to Anthropic AI for processing and response generation. The content of your messages may be retained by them for model improvement.
### Subscription Model
Becca operates as a paid service with a $5/month subscription fee per Discord server. This subscription model ensures:
- Sustainable development and maintenance
- Priority support for subscribers
- Regular feature updates and improvements
- Infrastructure costs coverage
### Service Availability
- Best-effort uptime with monitoring systems
- Planned maintenance notifications
- Support through designated Discord server
- Community-driven feedback and feature requests
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### Development Standards
**Code Quality:**
- TypeScript with strict configuration
- ESLint with @nhcarrigan/eslint-config
- Maximum function length limits enforced
- Comprehensive JSDoc documentation required
**Testing:**
- Vitest framework configured
- Istanbul coverage reporting
- Currently no tests implemented (placeholder exists)
**Licensing:**
- Licensed under Naomi's Public Licence
- Copyright held by Naomi Carrigan
- See LICENSE.md for full terms
### Contribution Process
1. **Issues**: Report bugs in the #bug-reports forum channel and feature requests in the #feature-requests forum channel on our Discord community
2. **Pull Requests**: Fork, develop, and submit PRs for review
3. **Code Review**: All changes require review before merging
4. **Guidelines**: Follow established [contributing guidelines](CONTRIBUTING.md)
5. **Conduct**: Adhere to [Code of Conduct](CODE_OF_CONDUCT.md)
### Development Workflow
**Commands:**
- `pnpm run build`: Compile TypeScript to production JavaScript
- `pnpm run lint`: Run ESLint with zero warnings tolerance
- `pnpm run test`: Run test suite (currently placeholder)
- `pnpm start`: Start production build with environment injection
**Architecture Patterns:**
- Event-driven Discord bot architecture
- Modular command system with separate definition and implementation
- Utility-first approach for common functionality
- Separation of concerns between commands, events, and business logic
### Contact Information
- **Chat Server**: [https://chat.nhcarrigan.com](https://chat.nhcarrigan.com)
- **Email**: contact@nhcarrigan.com
- **Source Code**: [https://git.nhcarrigan.com/nhcarrigan/becca-lyria](https://git.nhcarrigan.com/NHCarrigan/becca-lyria)
- **Documentation**: [https://docs.nhcarrigan.com/](https://docs.nhcarrigan.com/)
@@ -0,0 +1,95 @@
---
title: "Beccalia: Origins"
---
Beccalia: Origins (hereinafter the "Game") is originally planned as the story of Becca and Rosalia growing up, this game was only released as a demo.
## 1. Player Documentation
This section is for players who are exploring or playing the Game.
### Controls
- **Keyboard / Gamepad:**
- Arrow keys / D-Pad: Move character
- Z / Enter / A: Confirm / Interact
- X / Esc / B: Cancel / Menu
- C / Space / Y: Open menu (if applicable)
- Shift / L / R: Dash (if enabled)
- **Touch UI (Mobile / Tablet):**
- Tap to move or interact
- On-screen buttons for menu and actions
### Troubleshooting
- Ensure your device meets RPG Maker MZ requirements.
- If the game crashes, try restarting the app or clearing temporary files.
- Ask us on discord if persistent issues occur.
---
## 2. Developer Documentation
This section is for those interested in running, modifying, or extending the Game.
### Engine & Dependencies
- **Engine:** RPG Maker MZ
- **Plugins Used:** none
- **Assets:** All original
### Setup Instructions
1. Open RPG Maker MZ.
2. Load the project folder `beccalia-origins`.
3. Use the "Playtest" button to run the Game locally.
4. To export, use the "Deployment" feature for target platforms.
### Directory Structure
- `data/` — database files (maps, events, actors, items, skills, etc.)
- `img/` — graphics (characters, tilesets, animations, pictures, etc.)
- `audio/` — music and sound effects
- `js/` — plugins and core scripts
- `www/` — exported HTML5 build (if deployed for web)
---
## 3. Legal Documentation
This section expands on legal or licensing information specific to the Game.
### Licensing
This Game is created using RPG Maker MZ. The game code and original content are the property of NHCarrigan. RPG Maker MZ runtime assets are licensed under the terms provided by KADOKAWA Corporation. All original graphics, music, and story content belong to NHCarrigan and are protected by copyright.
### Third-Party Notices
- Any third-party assets, music, or plugins included are credited in game.
## 4. Contributing Documentation
This section is for contributors or collaborators on the Game.
### How to Contribute
- Fork or copy the project folder.
- Submit patches or mods via Git.
- Include a changelog and clear notes on modifications.
### Coding Standards
- Plugins in `js/plugins/` should follow standard JS conventions.
- Comment custom scripts clearly for readability.
### Art & Audio Guidelines
- Maintain original resolutions where possible (48x48 tiles, etc.).
- Use consistent naming for files in `img/` and `audio/`.
### Contact
- For collaboration or questions, ask us on discord.
@@ -0,0 +1,95 @@
---
title: "Beccalia: Prologue"
---
Beccalia: Prologue (hereinafter the "Game") is an introductory story that sets the stage for the Beccalia universe, featuring Becca and Rosalia.
## 1. Player Documentation
This section is for players who are exploring or playing the Game.
### Controls
- **Keyboard / Gamepad:**
- Arrow keys / D-Pad: Move character
- Z / Enter / A: Confirm / Interact
- X / Esc / B: Cancel / Menu
- C / Space / Y: Open menu (if applicable)
- Shift / L / R: Dash (if enabled)
- **Touch UI (Mobile / Tablet):**
- Tap to move or interact
- On-screen buttons for menu and actions
### Troubleshooting
- Ensure your device meets RPG Maker MZ requirements.
- If the game crashes, try restarting the app or clearing temporary files.
- Ask us on discord if persistent issues occur.
---
## 2. Developer Documentation
This section is for those interested in running, modifying, or extending the Game.
### Engine & Dependencies
- **Engine:** RPG Maker MZ
- **Plugins Used:** none
- **Assets:** All original
### Setup Instructions
1. Open RPG Maker MZ.
2. Load the project folder `beccalia-prologue`.
3. Use the "Playtest" button to run the Game locally.
4. To export, use the "Deployment" feature for target platforms.
### Directory Structure
- `data/` — database files (maps, events, actors, items, skills, etc.)
- `img/` — graphics (characters, tilesets, animations, pictures, etc.)
- `audio/` — music and sound effects
- `js/` — plugins and core scripts
- `www/` — exported HTML5 build (if deployed for web)
---
## 3. Legal Documentation
This section expands on legal or licensing information specific to the Game.
### Licensing
This Game is created using RPG Maker MZ. The game code and original content are the property of NHCarrigan. RPG Maker MZ runtime assets are licensed under the terms provided by KADOKAWA Corporation. All original graphics, music, and story content belong to NHCarrigan and are protected by copyright.
### Third-Party Notices
- Any third-party assets, music, or plugins included are credited in game.
## 4. Contributing Documentation
This section is for contributors or collaborators on the Game.
### How to Contribute
- Fork or copy the project folder.
- Submit patches or mods via Git.
- Include a changelog and clear notes on modifications.
### Coding Standards
- Plugins in `js/plugins/` should follow standard JS conventions.
- Comment custom scripts clearly for readability.
### Art & Audio Guidelines
- Maintain original resolutions where possible (48x48 tiles, etc.).
- Use consistent naming for files in `img/` and `audio/`.
### Contact
- For collaboration or questions, ask us on discord.
+144
View File
@@ -0,0 +1,144 @@
---
title: Naomi's Blog
---
Naomi's Blog (hereinafter the "Application") is a personal blog platform built with Next.js that showcases the personal musings of a transfem software engineer. The Application serves markdown-based blog posts with a clean, accessible interface and focuses on storytelling and technical experiences.
## 1. User Documentation
### Overview
Naomi's Blog is a personal blog featuring posts about software engineering, technology, and personal experiences. The blog is accessible at https://blog.nhcarrigan.com and provides a clean, minimalist interface for reading articles.
### Navigation
- **Home Page**: Displays a chronological list of all blog posts with titles, publication dates, and summaries
- **Individual Posts**: Click on any post title to read the full article
- **Return Navigation**: Each post page includes a "← Back to home" link to return to the main listing
### Post Structure
Each blog post includes:
- **Title**: The main heading of the article
- **Publication Date**: Displayed in British format (e.g., "Wednesday, 21 May 2025")
- **Summary**: A brief excerpt visible on the home page
- **Content**: Full markdown-rendered content with support for:
- Headers and text formatting
- Links and images
- Code blocks and syntax highlighting
- HTML elements when needed
### Accessibility Features
- Semantic HTML structure with proper heading hierarchy
- Underlined links for clear navigation
- Clean typography using Inter font
- Responsive design that works across devices
## 2. Technical Documentation
### Architecture
Naomi's Blog is built using:
- **Framework**: Next.js 15.1.6 with App Router
- **Language**: TypeScript 5.x
- **Styling**: Tailwind CSS with custom CSS variables
- **Content**: Markdown files with frontmatter parsing via gray-matter
- **Markdown Rendering**: react-markdown with rehype-raw and remark-gfm plugins
### Project Structure
```
src/
├── app/
│ ├── layout.tsx # Root layout with metadata and styling
│ ├── page.tsx # Home page listing all posts
│ ├── globals.css # Global styles and CSS variables
│ └── post/[slug]/
│ └── page.tsx # Dynamic post pages
├── components/
│ └── rule.tsx # Custom horizontal rule component
└── lib/
└── posts.ts # Post data fetching utilities
posts/ # Markdown blog posts
```
### Installation & Setup
1. **Prerequisites**: Node.js and pnpm package manager
2. **Install dependencies**: `pnpm install`
3. **Development server**: `pnpm dev` (runs on port 3003)
4. **Build for production**: `pnpm build`
5. **Start production server**: `pnpm start`
### Content Management
- **Adding Posts**: Create `.md` files in the `posts/` directory
- **Frontmatter Format**:
```yaml
---
title: "Your Post Title"
date: "YYYY-MM-DD"
summary: "Brief description of the post"
---
```
- **Content**: Write in Markdown with GitHub Flavoured Markdown support
- **Automatic Processing**: Posts are automatically sorted by date (newest first)
### Key Features
- **Static Generation**: Posts are processed at build time for optimal performance
- **SEO Optimized**: Proper metadata, Open Graph, and Twitter Card support
- **TypeScript**: Full type safety throughout the application
- **Responsive Design**: Mobile-friendly layout
- **Custom Styling**: Branded colours and typography
## 3. Legal Documentation
### License
The Application is distributed under **Naomi's Public Licence** as indicated in the source code headers.
### Copyright
All source code is copyright © NHCarrigan (Naomi Carrigan).
### Third-Party Dependencies
The Application uses the following open-source libraries:
- **Next.js**: MIT License
- **React**: MIT License
- **TypeScript**: Apache License 2.0
- **Tailwind CSS**: MIT License
- **gray-matter**: MIT License
- **react-markdown**: MIT License
- **rehype-raw**: MIT License
- **remark-gfm**: MIT License
### Content Policy
Blog post content represents the personal opinions and experiences of the author. Content guidelines and policies specific to this Application may be added here as needed.
## 4. Contributing Documentation
### Development Guidelines
- **Code Style**: ESLint configuration (`@nhcarrigan/eslint-config`) enforces consistent formatting
- **Type Safety**: All code must pass TypeScript checks with no warnings
- **Testing**: Run `pnpm lint` to verify code standards (note: test suite is pending implementation)
### Code Organization
- **Components**: React components go in `src/components/`
- **Utilities**: Helper functions belong in `src/lib/`
- **Pages**: Follow Next.js App Router conventions in `src/app/`
- **Styles**: Global styles in `src/app/globals.css`, component styles via Tailwind classes
### Pull Request Process
1. **Fork & Branch**: Create feature branches from main
2. **Code Quality**: Ensure ESLint passes with zero warnings
3. **Type Safety**: All TypeScript must compile without errors
4. **Documentation**: Update relevant documentation for significant changes
5. **Testing**: Verify the application builds and runs correctly
### File Header Requirements
All source files must include the standard copyright header:
```typescript
/**
* @copyright NHCarrigan
* @license Naomi's Public Licence
* @author Naomi Carrigan
*/
```
### Dependency Management
- Use `pnpm` for package management
- Keep dependencies up to date and security-focused
- Prefer established, well-maintained packages
- Document any new dependencies and their purpose
+293
View File
@@ -0,0 +1,293 @@
---
title: Boost Monitor
---
Boost Monitor (hereinafter the "Application") is a Discord bot that automatically manages special roles for server boosters. The Application monitors server members and removes booster-exclusive roles (such as custom colour roles) when a member stops boosting the server.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### Overview
The Discord Boost Monitor operates automatically in the background of your Discord server. It requires no direct user interaction once configured by server administrators.
### How It Works
1. **Automatic Monitoring**: The bot monitors all member updates in the Discord server
2. **Boost Detection**: When a member's boost status changes, the bot checks if they still have the server booster role
3. **Role Management**: If a member no longer has the booster role, the bot automatically removes any configured booster-exclusive roles (such as custom colour roles)
### Key Features
- **Automated Role Removal**: No manual intervention needed when members stop boosting
- **Configurable Roles**: Server-specific booster and colour role IDs can be configured
- **Status Monitoring**: Health check endpoint available at the bot's web interface
- **Debug Webhooks**: Sends status updates and error reports to configured Discord webhooks
### Accessing the Bot
The bot runs as a background service and does not have traditional user-facing commands. Server administrators can monitor its status through:
- **Web Interface**: HTTPS endpoint showing bot status and information
- **Debug Webhook**: Real-time updates sent to configured Discord webhook
- **Server Logs**: Winston-based logging for troubleshooting
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### Prerequisites
- **Node.js**: Version 22 or higher
- **pnpm**: Version 9 or higher
- **Discord Bot Token**: From the Discord Developer Portal
- **SSL Certificates**: For HTTPS server (Let's Encrypt or similar)
- **Sentry Account** (optional): For error tracking
### Installation
1. Clone the repository:
```bash
git clone https://git.nhcarrigan.com/NHCarrigan/boost-monitor.git
cd oogie-woogie-boostie-woostie
```
2. Install dependencies:
```bash
pnpm install
```
3. Configure environment variables by creating a `.env` file:
```bash
cp sample.env .env
```
4. Edit `.env` with your configuration:
```env
DISCORD_TOKEN="your-discord-bot-token"
SENTRY_DSN="your-sentry-dsn"
DEBUG_HOOK="your-discord-webhook-url"
```
### Configuration
#### Role Configuration
Edit `src/config/roles.ts` to configure your server-specific role IDs:
- **colourRoles**: Array of role IDs that should be removed when a member stops boosting (src/config/roles.ts:1-10)
- **boosterRole**: The ID of your server's booster role (src/config/roles.ts:12)
Example:
```typescript
export const colourRoles = [
"883281643098484736", // Red role
"883283836887261204", // Blue role
// Add your colour role IDs here
];
export const boosterRole = "712431541531181177"; // Your booster role ID
```
#### SSL Certificates
The bot expects SSL certificates at the following locations:
- Certificate: `/etc/letsencrypt/live/oogie.nhcarrigan.com/cert.pem`
- Private Key: `/etc/letsencrypt/live/oogie.nhcarrigan.com/privkey.pem`
Update the paths in `src/server/serve.ts:18-22` if your certificates are located elsewhere.
### Building and Running
1. Build the TypeScript code:
```bash
pnpm build
```
2. Start the bot:
```bash
pnpm start
```
3. For development with linting:
```bash
pnpm lint
```
### Architecture
#### Core Components
- **Main Entry Point** (`src/index.ts`): Initializes the Discord client, sets up event listeners, and starts the web server
- **Role Manager** (`src/modules/manageRoles.ts`): Core logic for detecting boost status and removing roles
- **Web Server** (`src/server/serve.ts`): Fastify-based HTTPS server for health monitoring
- **Error Handler** (`src/utils/errorHandler.ts`): Centralised error handling with Sentry integration and Discord webhook notifications
- **Log Handler** (`src/utils/logHandler.ts`): Winston-based logging with timestamps and colour coding
#### Bot Intents
The bot requires the following Discord gateway intents (src/index.ts:22):
- `Guilds`: Access to guild information
- `GuildMembers`: Access to member updates (privileged intent)
Note: The `GuildMembers` intent must be enabled in your bot's Discord Developer Portal settings.
#### Event Flow
1. Bot connects to Discord and fetches guild members (src/index.ts:25-39)
2. Bot listens for `guildMemberUpdate` events (src/index.ts:42-44)
3. On member update, `manageRoles` function checks boost status (src/modules/manageRoles.ts:13-26)
4. If member is not boosting, configured colour roles are removed
5. Errors are logged and sent to Sentry and debug webhook
#### Web Server
The Fastify server runs on port 3443 with HTTPS and provides:
- Health check endpoint at `/` (src/server/serve.ts:27-66)
- Simple HTML page with bot information and links
- Status notifications sent to debug webhook on startup
### Monitoring and Debugging
#### Sentry Integration
All errors are automatically captured and sent to Sentry (src/index.ts:9-17), providing:
- Stack trace rewriting for better debugging
- Full error context and stack traces
- 100% transaction sampling rate
#### Discord Webhooks
Debug webhooks are used for:
- Bot startup confirmation (src/index.ts:26-31)
- Member count logging (src/index.ts:35-39)
- Server startup notification (src/server/serve.ts:73-80)
- Error notifications with embeds (src/utils/errorHandler.ts:22-38)
#### Logging
Winston logger provides console output with:
- Timestamps in `YYYY-MM-DD HH:mm:ss` format
- Colour-coded log levels
- NPM-style log levels (silly, verbose, info, warn, error)
### Deployment Considerations
1. **Privileged Intents**: Ensure `GuildMembers` intent is enabled in Discord Developer Portal
2. **SSL Certificates**: Keep certificates up-to-date (consider using certbot for Let's Encrypt)
3. **Environment Variables**: Secure your `.env` file and never commit it to version control
4. **Port Access**: Ensure port 3443 is accessible for health monitoring
5. **Process Management**: Consider using PM2 or systemd for process management
6. **Single Guild**: Bot is designed for single-guild operation (src/index.ts:33)
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### Software License
This Application is licensed under the global software licence maintained by Naomi Carrigan. Full licence details can be found at: https://docs.nhcarrigan.com/#/license
Copyright is held by Naomi Carrigan.
### Privacy Considerations
The Application processes the following Discord data:
- **Guild member information**: Required for detecting boost status changes
- **Role information**: Required for managing booster-exclusive roles
- **Member update events**: Monitored to detect boost status changes
This data is processed in real-time and is not permanently stored by the Application outside of:
- Error logs sent to Sentry
- Debug messages sent to Discord webhooks
- Console logs from Winston logger
For full privacy policy details, see: PRIVACY.md
### Terms of Service
The Application operates as an automated moderation tool for Discord servers. Server administrators are responsible for:
- Configuring appropriate role IDs
- Informing server members about automated role management
- Ensuring compliance with Discord's Terms of Service
For full terms of service, see: TERMS.md
### Security Policy
Security vulnerabilities should be reported according to the guidelines in: SECURITY.md
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### Getting Started
Full contributing guidelines are available at: https://docs.nhcarrigan.com/#/contributing
### Development Setup
1. Fork and clone the repository
2. Install dependencies with `pnpm install`
3. Create a `.env` file from `sample.env`
4. Make your changes in a feature branch
5. Run linting with `pnpm lint` before committing
6. Build the project with `pnpm build` to ensure TypeScript compiles
### Code Style
The project uses:
- **ESLint**: `@nhcarrigan/eslint-config` (max 0 warnings)
- **Prettier**: `@nhcarrigan/prettier-config`
- **TypeScript**: `@nhcarrigan/typescript-config`
Run `pnpm lint` to check code style before submitting PRs.
### Project Structure
```
src/
├── index.ts # Main entry point
├── config/
│ └── roles.ts # Role ID configuration
├── modules/
│ └── manageRoles.ts # Core role management logic
├── server/
│ └── serve.ts # Fastify web server
└── utils/
├── errorHandler.ts # Centralised error handling
└── logHandler.ts # Winston logging configuration
```
### Testing
Currently, the project does not have automated tests (package.json:11). When contributing new features, consider:
- Manual testing with a test Discord server
- Verifying role removal works correctly
- Testing error handling paths
- Checking webhook notifications
### Submitting Changes
1. Ensure code passes linting: `pnpm lint`
2. Build successfully: `pnpm build`
3. Review the Code of Conduct: CODE_OF_CONDUCT.md
4. Submit a Pull Request with:
- Clear description of changes
- Rationale for the changes
- Any testing performed
### Code of Conduct
All contributors must adhere to the Code of Conduct outlined in: CODE_OF_CONDUCT.md
### Reporting Issues
Bug reports and feature requests should be posted in the #bug-reports or #feature-requests forum channels on our Discord community.
### Contact
For questions or support:
- **Chat Server**: https://chat.nhcarrigan.com
- **Email**: contact@nhcarrigan.com
+218
View File
@@ -0,0 +1,218 @@
---
title: Caelia
---
Caelia (hereinafter the "Application") is a Discord bot that provides gentle reminders when users utilise non-inclusive language in their messages, helping promote more welcoming and inclusive community spaces.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### What is Caelia?
Caelia is a Discord bot designed to help create more inclusive communities by gently notifying users when they may have used language that could be considered non-inclusive. The bot uses the Alex.js library to analyse messages and provide helpful suggestions for more inclusive alternatives.
### How to Add Caelia to Your Server
1. Visit the authorisation link: https://discord.com/oauth2/authorise?client_id=1408530011572535346
2. Select your server and grant the necessary permissions
3. Caelia will automatically begin monitoring messages in channels where she has access
### Required Permissions
- **Read Messages**: To analyse message content
- **Send Messages**: To provide feedback and suggestions
- **View Channels**: To monitor designated channels
### Using Caelia
Once added to your server, Caelia works automatically:
- She monitors messages in real-time
- When potentially non-inclusive language is detected, she replies with gentle suggestions
- Code blocks and links are ignored during analysis
- Bot messages and system messages are not analysed
### Slash Commands
- `/about` - Learn about Caelia and her functionality
### Getting Help
If you need assistance or believe Caelia has made an error, you can:
- Join the support Discord server: https://chat.nhcarrigan.com
- Contact support via email: contact@nhcarrigan.com
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### System Requirements
- Node.js (version compatible with TypeScript 5.9.2)
- npm/pnpm package manager
- Discord Bot Token
- Environment variables configuration
### Installation
1. Clone the repository
2. Install dependencies: `pnpm install`
3. Set up environment variables (see Configuration section)
4. Build the project: `pnpm run build`
5. Start the application: `pnpm start`
### Configuration
The application requires the following environment variable:
- `BOT_TOKEN`: Your Discord bot token
### Architecture Overview
The application consists of several key modules:
#### Core Components
- **`src/index.ts`**: Main entry point that initializes the Discord client and event handlers
- **`src/modules/processMessage.ts`**: Handles message analysis using Alex.js for inclusive language checking
- **`src/modules/processInteraction.ts`**: Processes slash command interactions
- **`src/server/serve.ts`**: Fastify web server for health monitoring and bot information
- **`src/config/alex.ts`**: Configuration for the Alex.js language analysis library
- **`src/utils/logger.ts`**: Logging utilities
#### Message Processing Flow
1. Discord message received via `Events.MessageCreate`
2. Message content filtered (removes code blocks and links)
3. Alex.js analyses content for non-inclusive language
4. If issues found, bot responds with suggestions and feedback link
5. Errors are logged and handled gracefully
#### Web Server
A Fastify server runs on port 7055 providing:
- Health check endpoint
- Bot information and invite link
- Links to source code and documentation
### Dependencies
#### Production Dependencies
- `discord.js`: Discord API wrapper
- `alex`: Inclusive language analysis
- `extra-markdown-text`: Markdown processing utilities
- `fastify`: Web server framework
- `@nhcarrigan/logger`: Logging utilities
#### Development Dependencies
- `typescript`: TypeScript compiler
- `eslint`: Code linting
- Various type definitions and configuration packages
### Scripts
- `pnpm build`: Compile TypeScript to JavaScript
- `pnpm lint`: Run ESLint with zero warnings tolerance
- `pnpm start`: Start the production server
- `pnpm test`: Run tests (currently placeholder)
### Deployment
The application is configured for production deployment using:
- 1Password CLI for environment variable management
- Production environment file (`prod.env`)
- Compiled output in `prod/` directory
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### License
This software is licensed under Naomi's Public Licence. All code is copyright NHCarrigan and authored by Naomi Carrigan.
### Data Handling
- Caelia analyses message content in real-time but does not store message data
- Only processes text content, ignoring code blocks and URLs
- No personal data is collected or retained
- All processing occurs in memory and is not persisted
### Privacy Considerations
- Message analysis is performed locally within the bot's runtime
- No message content is transmitted to external services beyond Discord's API
- The Alex.js library runs locally and does not send data externally
- Error logging may contain message metadata but not content
### Service Availability
- The bot is provided as-is with no guarantees of uptime
- Support is provided on a best-effort basis
- Service may be interrupted for maintenance or updates
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### Development Setup
1. Fork the repository
2. Clone your fork locally
3. Install dependencies: `pnpm install`
4. Set up your development environment variables
5. Run linting: `pnpm run lint`
6. Build the project: `pnpm run build`
### Code Style
The project uses:
- ESLint with `@nhcarrigan/eslint-config` for code quality
- TypeScript with strict configuration
- Maximum 0 warnings policy for linting
### Project Structure
```
src/
├── config/ # Configuration files
│ └── alex.ts # Alex.js configuration
├── modules/ # Core application modules
│ ├── processMessage.ts # Message analysis logic
│ └── processInteraction.ts # Slash command handling
├── server/ # Web server components
│ └── serve.ts # Fastify server setup
├── utils/ # Utility functions
│ └── logger.ts # Logging utilities
└── index.ts # Application entry point
```
### Contributing Guidelines
1. Follow the existing code style and patterns
2. Ensure all linting passes with zero warnings
3. Test your changes thoroughly
4. Update documentation as needed
5. Submit pull requests with clear descriptions
### Key Areas for Contribution
- **Language Rules**: Enhancing Alex.js configuration for better accuracy
- **Error Handling**: Improving error recovery and user experience
- **Performance**: Optimising message processing speed
- **Features**: Adding new functionality while maintaining simplicity
- **Documentation**: Improving user and developer documentation
### Reporting Issues
- Post in the #bug-reports forum channel on our Discord community for bug reports
- Join the Discord support server for discussions: https://chat.nhcarrigan.com
- Email support: contact@nhcarrigan.com
### Code Review Process
All contributions require:
- Code review by project maintainers
- Passing lint checks (`pnpm run lint`)
- Successful build (`pnpm run build`)
- Adherence to project conventions and patterns
+38
View File
@@ -0,0 +1,38 @@
---
title: Calenelle
---
Calenelle (hereinafter the "Application") is a group coordination app with event scheduling and such.
## 1. User Documentation
:::note
This section is coming soon!
:::
This section is for those interacting with a live instance of the Application.
## 2. Technical Documentation
:::note
This section is coming soon!
:::
This section is for those interested in running their own instance of the Application.
## 3. Legal Documentation
:::note
This section is coming soon!
:::
This section is for expansions to our legal policies specific to the Application.
## 4. Contributing Documentation
:::note
This section is coming soon!
:::
This section is for documentation related to contributing to the Application's codebase.
+372
View File
@@ -0,0 +1,372 @@
---
title: Callista
---
Callista (hereinafter the "Application") is a Discord bot that allows users to bookmark messages so they can find them later. The Application provides a simple interface for saving message links via DM, with optional note-taking capabilities to help organise and remember why messages were bookmarked.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### 1.1. Adding the Bot
Callista is available as a Discord user-installable application. You can add Callista to your Discord account by visiting:
https://discord.com/oauth2/authorise?client_id=1391494389477412906
### 1.2. Bookmarking Messages
To bookmark a message:
1. Right-click (or long-press on mobile) any message in a guild or private channel
2. Navigate to Apps → Bookmark
3. Callista will send you a DM containing the message link
**Note:** You must have Direct Messages enabled to receive bookmarks. If you receive an error, check your Discord privacy settings.
### 1.3. Adding Notes to Bookmarks
Each bookmark can have an associated note to help you remember context:
1. When you receive a bookmark DM, click the **Add Note** button
2. A modal will appear asking "What would you like to note down?"
3. Enter your note (1-1000 characters)
4. Your note will be appended to the bookmark message
### 1.4. Editing Notes
To edit an existing note on a bookmark:
1. Click the **Edit Note** button on the bookmark message
2. Update the note text in the modal
3. The bookmark message will be updated with your new note
### 1.5. Deleting Bookmarks
To delete a bookmark from your DMs:
1. Right-click the bookmark message in your DM with Callista
2. Navigate to Apps → Delete
3. The bookmark message will be deleted
**Note:** The Delete command only works in DMs with Callista (bot DM context).
### 1.6. Additional Features
Each bookmark message includes convenient buttons:
- **Add Note/Edit Note**: Add or modify notes on your bookmarks
- **Join our Discord**: Link to the support server (https://chat.nhcarrigan.com)
- **Donate**: Premium button for supporting the bot developer
### 1.7. Command Reference
| Command | Type | Context | Description |
|---------|------|---------|-------------|
| Bookmark | Message Context Menu | Guilds, Private Channels | Sends you a DM with the message link |
| Delete | Message Context Menu | Bot DMs | Deletes the bookmark message |
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### 2.1. Prerequisites
- Node.js (compatible with version specified in package.json)
- pnpm 10.17.1 or higher (specified in packageManager field)
- A Discord Bot Token
- 1Password CLI (op) for production environment variables (or modify start script)
### 2.2. Dependencies
**Runtime Dependencies:**
- `discord.js` (14.22.1): Discord API wrapper
- `@nhcarrigan/logger` (1.0.0): Logging utility
- `fastify` (5.6.1): Web server for health monitoring
**Development Dependencies:**
- TypeScript (5.9.2)
- ESLint with @nhcarrigan configuration
- tsx for development execution
### 2.3. Installation
1. Clone the repository:
```bash
git clone <repository-url>
cd callista
```
2. Install dependencies:
```bash
pnpm install
```
3. Create a production environment file (`prod.env`) with the following:
```
BOT_TOKEN=your_discord_bot_token
```
4. Register Discord commands by running:
```bash
node commandData.js
```
Copy the output JSON and register it via the Discord Developer Portal or API.
### 2.4. Building
Compile TypeScript to JavaScript:
```bash
pnpm run build
```
Output is generated in the `prod/` directory.
### 2.5. Running
**Production:**
```bash
pnpm start
```
This uses 1Password CLI to inject environment variables. Modify the start script in `package.json` if using a different secrets management solution.
**Development:**
```bash
tsx src/index.ts
```
### 2.6. Architecture Overview
**Project Structure:**
```
src/
├── index.ts # Main entry point, Discord client setup
├── server/
│ └── serve.ts # Fastify web server for health checks (port 6111)
├── interactions/
│ ├── bookmark.ts # Bookmark command handler
│ └── deleteCmd.ts # Delete command handler
├── buttons/
│ ├── addNote.ts # Add note button definition
│ ├── editNote.ts # Edit note button definition
│ ├── discord.ts # Discord invite button
│ └── donate.ts # Premium donation button
├── modals/
│ └── note.ts # Note input modal definition
└── utils/
└── logger.ts # Logger configuration
```
**Component Interactions:**
1. **Discord Client** (`index.ts:22-24`): Initialized with no intents (interaction-only bot)
2. **Interaction Handler** (`index.ts:27-81`): Routes interactions to appropriate handlers
3. **Web Server** (`server/serve.ts:54-79`): Runs on port 6111 for health monitoring
4. **Message Context Commands**: Registered via `commandData.js` with user-install integration
### 2.7. Bot Configuration
The bot requires the following Discord application settings:
**Intents:** None (the bot uses no gateway intents)
**Integration Types:**
- User Install (ApplicationIntegrationType.UserInstall)
**Interaction Contexts:**
- Bookmark: Guilds and Private Channels
- Delete: Bot DMs only
**Commands to Register:**
```json
[
{
"type": 3,
"name": "Bookmark",
"contexts": [0, 2],
"integration_types": [1]
},
{
"type": 3,
"name": "Delete",
"contexts": [1],
"integration_types": [1]
}
]
```
### 2.8. Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| BOT_TOKEN | Yes | Discord bot token for authentication |
### 2.9. Monitoring and Health Checks
The Application exposes a web server on port 6111:
- **Endpoint:** `GET /`
- **Response:** HTML page with bot information
- **Purpose:** Health monitoring and bot information display
### 2.10. Logging
Logging is handled via `@nhcarrigan/logger` with the following log levels:
- `debug`: Informational messages (bot online, server started)
- `error`: Error conditions (server failures, etc.)
Logs are written from `utils/logger.ts:1`.
### 2.11. Error Handling
The Application implements error handling for:
- Failed DM delivery (user has DMs disabled) - `interactions/bookmark.ts:43-46`
- Missing message context for modals - `index.ts:46-52`
- Server startup failures - `server/serve.ts:66-77`
### 2.12. Deployment Considerations
1. **Port Configuration:** The web server runs on port 6111 by default
2. **Secrets Management:** The default start script uses 1Password CLI
3. **Build Output:** Compiled JavaScript is output to `prod/` directory
4. **Process Management:** Consider using PM2, systemd, or Docker for production
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### 3.1. License
This Application is licensed under **Naomi's Public Licence** as indicated in the source file headers.
Copyright held by **NHCarrigan / Naomi Carrigan**.
Full licence text available at: https://docs.nhcarrigan.com/#/license
### 3.2. Privacy
Privacy policy document: `PRIVACY.md` in the repository root.
**Data Collection:** The Application processes the following user data:
- Discord User IDs (for DM delivery)
- Message URLs (bookmarked messages)
- User-provided notes (stored in Discord messages)
**Data Storage:** All data is stored within Discord's infrastructure via message content. The Application does not maintain a separate database.
**Data Retention:** Data persists as long as users keep their DM messages. Users can delete bookmarks at any time using the Delete command.
### 3.3. Terms of Service
Terms of service document: `TERMS.md` in the repository root.
### 3.4. Security
Security policy document: `SECURITY.md` in the repository root.
For security concerns, please follow the reporting procedures outlined in the security policy.
### 3.5. Code of Conduct
Code of conduct document: `CODE_OF_CONDUCT.md` in the repository root.
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### 4.1. Contributing Guidelines
Contributing guidelines document: `CONTRIBUTING.md` in the repository root.
Before contributing, please review:
1. The Code of Conduct (`CODE_OF_CONDUCT.md`)
2. The Contributing Guidelines (`CONTRIBUTING.md`)
3. The License terms (`LICENSE.md`)
### 4.2. Development Setup
1. Fork the repository
2. Clone your fork
3. Install dependencies: `pnpm install`
4. Create a Discord application and bot at https://discord.com/developers/applications
5. Copy your bot token to a `prod.env` file (or use environment variables directly)
6. Run the development server: `tsx src/index.ts`
### 4.3. Code Standards
The project uses:
- **TypeScript** (5.9.2) with strict type checking
- **ESLint** with `@nhcarrigan/eslint-config` (5.2.0)
- **TypeScript Config** from `@nhcarrigan/typescript-config` (4.0.0)
Run linting with:
```bash
pnpm run lint
```
**Note:** The lint script uses `--max-warnings 0`, so warnings are treated as errors.
### 4.4. Code Style Notes
- All source files include copyright headers with `@copyright`, `@license`, and `@author` tags
- Some ESLint rules are selectively disabled with comments (e.g., `index.ts:26`)
- The project uses ESM (module) syntax (`"type": "module"` in package.json)
### 4.5. Testing
Currently, the project has a placeholder test script:
```bash
pnpm test
```
This exits with code 0 (no tests configured yet).
### 4.6. Pull Request Process
1. Create a feature branch from `main`
2. Make your changes following the code standards
3. Run `pnpm run lint` to ensure code quality
4. Run `pnpm run build` to verify the build succeeds
5. Submit a pull request with a clear description of changes
6. Address any review feedback
### 4.7. Adding New Features
**Adding a new button:**
1. Create a new file in `src/buttons/` exporting a `ButtonBuilder`
2. Import and add the button to the relevant `ActionRowBuilder` in `index.ts`
3. Add handler logic in `handleInteraction` if the button requires custom behaviour
**Adding a new command:**
1. Create a handler in `src/interactions/`
2. Add the command definition to `commandData.js`
3. Run `node commandData.js` and register the output with Discord
4. Add the command routing logic to `handleInteraction` in `index.ts`
**Adding a new modal:**
1. Create modal definition in `src/modals/`
2. Add modal handling logic in the `isModalSubmit` section of `handleInteraction`
3. Link the modal to a button or command that calls `showModal()`
### 4.8. Repository Information
- **Main Branch:** `main`
- **Package Manager:** pnpm (lockfile version: 10.17.1)
- **CI/CD:** Configuration available in `.gitea/` directory
- **Editor Configuration:** VSCode settings in `.vscode/`
### 4.9. Contact
For questions or support:
- **Support Server:** https://chat.nhcarrigan.com
- **Email:** contact@nhcarrigan.com
- **Documentation:** https://docs.nhcarrigan.com/
- **Source Code:** https://git.nhcarrigan.com/NHCarrigan/callista
### 4.10. Issue Reporting
Please report bugs in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) category and feature requests in the [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) category on our support forum.
Include:
- Clear description of the issue or feature
- Steps to reproduce (for bugs)
- Expected vs actual behaviour
- Environment details (Discord client version, etc.)
+303
View File
@@ -0,0 +1,303 @@
---
title: Celestine
---
Celestine (hereinafter the "Application") is a comprehensive paid moderation bot for Discord servers, built with TypeScript and Discord.js. The Application provides advanced moderation tools, automated security features, leveling systems, birthday celebrations, and comprehensive logging capabilities. It includes a web server for health monitoring and metrics, integrates with MongoDB for data persistence, and features a subscription-based access model.
## 1. User Documentation
### Core Features
#### Moderation Commands
- **`/ban`** - Ban users from the server with optional message pruning and evidence links
- **`/unban`** - Remove bans from users with logging and notification systems
- **`/kick`** - Remove users from the server temporarily
- **`/mute`** - Temporarily restrict user communication with duration controls (minutes, hours, days, weeks)
- **`/unmute`** - Remove communication restrictions from users
- **`/warn`** - Issue warnings to users with evidence tracking
- **`/note`** - Add private moderation notes about users
- **`/softban`** - Ban and immediately unban to clean up user messages
- **`/massban`** - Ban multiple users at once using a list of user IDs
#### Server Management
- **`/lockdown`** - Lock text channels to prevent message sending
- **`/unlock`** - Remove lockdown restrictions from channels
- **`/prune`** - Bulk delete messages from channels
- **`/secure`** - Toggle server-wide DM and invite restrictions for new members
#### Configuration System
- **`/config list`** - View current server configuration
- **`/config logging`** - Set up moderation and event log channels
- **`/config invite-link`** - Configure invite links sent to kicked users
- **`/config appeal-link`** - Set ban appeal links for banned users
- **`/config roles`** - Toggle roles as self-assignable
- **`/config join-role`** - Set automatic role assignment for new members
- **`/config birthday-channel`** - Configure birthday celebration channel
#### User Experience Features
- **`/rank`** - View personal level and XP in the server
- **`/leaderboard`** - Browse server level rankings with pagination
- **`/profile`** - Customise profile appearance (avatar, colours, background)
- **`/role`** - Self-assign permitted roles
- **`/birthday`** - Set birthday for automatic celebrations
- **`/level-role`** - Configure roles automatically assigned at specific levels
#### Administrative Tools
- **`/cases`** - View specific moderation case details
- **`/history`** - View comprehensive user moderation history
- **`/help`** - Get bot information, version details, and support links
- **`/ping`** - Check bot latency and database connectivity
#### Context Menu Actions
- **Report Message** - Right-click context menu to report problematic messages
### Automated Features
#### Leveling System
- Automatic XP gain from message activity with anti-spam cooldowns
- Customisable level roles that auto-assign at specified levels
- Visual profile cards with customisable backgrounds and colours
- Server leaderboards with pagination
#### Security & Moderation
- Automatic detection and removal of known spam domains
- Automatic muting of compromised accounts posting malicious links
- Comprehensive audit logging for all moderation actions
- Member join/leave tracking with configurable logging
#### Event Logging
- Message edit/delete tracking with content preservation
- Voice channel activity monitoring
- Member update tracking (nickname, role changes)
- Moderation action logging with evidence and case numbers
#### Birthday System
- Automatic birthday wishes in designated channels
- Scheduled daily birthday checks
- User-configurable birthday dates with validation
### Access Control
- Subscription-based access model ($5/month)
- Permission-based command restrictions
- Moderator role validation for administrative commands
- Granular configuration permissions
This section is for those interacting with a live instance of the Application.
## 2. Technical Documentation
### Architecture Overview
Celestine is built as a modern Discord bot using:
- **Runtime**: Node.js with TypeScript
- **Discord Library**: Discord.js v14
- **Database**: MongoDB with Prisma ORM
- **Web Server**: Express.js for health endpoints
- **Monitoring**: Prometheus metrics integration
- **Scheduling**: Node-schedule for automated tasks
### Project Structure
```
src/
├── commands/ # Slash command implementations
├── contexts/ # Context menu command handlers
├── events/ # Discord event handlers
│ ├── client/ # Bot lifecycle events
│ ├── guild/ # Server-related events
│ ├── interaction/ # Command interaction handling
│ ├── member/ # Member join/leave/update events
│ ├── message/ # Message create/edit/delete events
│ ├── thread/ # Thread-related events
│ └── voice/ # Voice state change events
├── interfaces/ # TypeScript type definitions
├── modules/ # Reusable business logic
│ ├── commands/ # Command-specific modules
│ ├── data/ # Database interaction modules
│ ├── events/ # Event processing modules
│ ├── interactions/ # Interaction handling modules
│ ├── modals/ # Modal form handlers
│ └── subcommands/ # Subcommand implementations
├── server/ # Web server and health endpoints
├── utils/ # Utility functions and helpers
├── config/ # Configuration constants
└── database/ # Database connection setup
```
### Database Schema
The application uses MongoDB with the following key models:
#### Core Data Models
- **`cases`** - Moderation case tracking with evidence and timestamps
- **`configs`** - Per-server configuration settings
- **`levels`** - User XP and level progression data
- **`levelRoles`** - Automatic role assignments by level
- **`roles`** - Self-assignable role permissions
- **`birthdays`** - User birthday tracking
- **`entitlements`** - Server subscription management
- **`security`** - Server security settings (DM/invite restrictions)
#### Key Features of Data Layer
- Unique constraints for data integrity
- Indexed queries for performance
- Automatic relationship management
- Soft deletion support for case history
### Development Setup
#### Prerequisites
- Node.js 18+
- MongoDB instance
- Discord Bot Token
- TypeScript compiler
#### Environment Variables
```bash
TOKEN=<discord_bot_token>
MONGO_URI=<mongodb_connection_string>
DEBUG_HOOK=<discord_webhook_url>
DEV_MODE=<boolean>
```
#### Build Process
```bash
npm install # Install dependencies
npm run prebuild # Clean build directory and generate Prisma client
npm run build # Compile TypeScript to JavaScript
npm start # Run the bot
```
#### Development Scripts
- `npm run lint` - ESLint and Prettier validation
- `npm run audit` - Dependency and code analysis with Knip
- `npm run scan` - SonarCloud quality analysis
### Web Server Endpoints
The bot includes an Express.js server providing:
#### Health & Status
- **`GET /`** - HTML landing page with bot information and invite links
- **`GET /metrics`** - Prometheus metrics endpoint for monitoring
### Integration Points
#### Discord API
- Slash commands and context menus
- Webhook integrations for logging
- Permission validation
- Message content scanning
#### External Services
- GitHub integration for version tracking
- Prometheus metrics collection
- MongoDB Atlas for cloud database
- 1Password for secrets management
### Monitoring & Observability
#### Logging
- Winston-based structured logging
- Error tracking with unique identifiers
- Debug message routing to Discord webhooks
- Comprehensive audit trails
#### Metrics
- Prometheus integration for performance monitoring
- Database latency tracking
- Command usage statistics
- Server count and member tracking
### Security Considerations
#### Access Control
- Subscription validation for server access
- Permission-based command restrictions
- Rate limiting through Discord.js built-ins
- Input validation and sanitization
#### Data Protection
- Encrypted database connections
- Secure environment variable handling
- Minimal data retention policies
- Privacy-conscious logging practices
This section is for those interested in running their own instance of the Application.
## 3. Legal Documentation
### Subscription Model
Celestine operates as a paid service with a $5/month subscription fee per Discord server. This subscription model ensures:
- Sustainable development and maintenance
- Priority support for subscribers
- Regular feature updates and improvements
- Infrastructure costs coverage
### Data Handling
The Application processes and stores:
- Discord user IDs and server IDs
- Message content for moderation purposes (temporary)
- User-configured profile information
- Moderation case history and evidence links
- Server configuration preferences
### Service Availability
- Best-effort uptime with monitoring systems
- Planned maintenance notifications
- Support through designated Discord server
- Community-driven feedback and feature requests
## 4. Contributing Documentation
### Development Workflow
#### Code Standards
- TypeScript for type safety
- ESLint and Prettier for code formatting
- Comprehensive error handling with unique error IDs
- JSDoc documentation for public interfaces
#### Testing Strategy
- Integration testing with Discord API
- Database transaction testing
- Command validation testing
- Performance benchmarking
#### Pull Request Process
1. Fork the repository
2. Create feature branch from main
3. Implement changes with tests
4. Ensure linting and build passes
5. Submit PR with detailed description
6. Address review feedback
7. Merge after approval
#### Architecture Decisions
- Modular command structure for maintainability
- Event-driven architecture for real-time responses
- Database abstraction through Prisma ORM
- Configuration-driven behaviour customisation
### Extension Points
#### Adding New Commands
1. Create command file in `src/commands/`
2. Implement Command interface
3. Add to command loader
4. Update permissions if needed
5. Add documentation
#### Custom Event Handlers
1. Create handler in appropriate `src/events/` subdirectory
2. Implement error handling
3. Add to event registration system
4. Test with Discord API
#### Database Schema Changes
1. Update Prisma schema
2. Generate migration
3. Test migration on development database
4. Update TypeScript interfaces
5. Implement backward compatibility
+195
View File
@@ -0,0 +1,195 @@
---
title: Chibika
---
Chibika (hereinafter the "Application") is a Discord bot that provides ASCII art on demand. The Application offers curated collections of ASCII art in categories such as anime and cats, along with emoji ASCII art, delivered through Discord's slash command interface with subscription-based access control.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### Getting Started
1. **Add Chibika to Your Discord Server**: Use the [Discord OAuth2 authorisation link](https://discord.com/oauth2/authorise?client_id=1396225647269122098) to add Chibika to your Discord server.
2. **Purchase Server Subscription**: To use Chibika's features, you must purchase a server subscription through Discord's built-in store system.
### Available Commands
#### `/about`
Displays information about Chibika, including:
- What the bot does
- How to get started with server subscriptions
- Support and help resources
- Links to Discord server for assistance
#### `/ascii [category]`
Retrieves random ASCII art from the specified category:
- **anime**: Anime-themed ASCII art
- **cats**: Cat-themed ASCII art
Usage: `/ascii category:anime` or `/ascii category:cats`
#### `/emoji`
Retrieves random emoji-based ASCII art from the emoji collection.
### Features
- **Random Art Selection**: Each command returns a randomly selected piece from the respective collection
- **Subscription-Based Access**: Commands require an active Discord server subscription
- **Interactive Components**: Art is displayed using Discord's modern component system
- **Error Handling**: Graceful error messages for invalid inputs or system issues
### Support
If you encounter issues or need assistance:
- Join the [Discord support server](https://chat.nhcarrigan.com)
- Contact via email: `contact@nhcarrigan.com`
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### Architecture
Chibika is built using:
- **Discord.js v14.21.0**: Discord API integration
- **Fastify v5.4.0**: Web server for health monitoring
- **TypeScript**: Type-safe development
- **Node.js**: Runtime environment
### Project Structure
```
src/
├── assets/ # ASCII art collections
│ ├── anime.ts # Anime ASCII art data
│ ├── cats.ts # Cat ASCII art data
│ └── emoji.ts # Emoji ASCII art data
├── commands/ # Discord slash commands
│ ├── about.ts # About command handler
│ ├── ascii.ts # ASCII art command handler
│ └── emoji.ts # Emoji command handler
├── config/ # Configuration files
│ └── entitlements.ts # Guild entitlement configuration
├── events/ # Discord event handlers
│ └── interactionCreate.ts # Command interaction handling
├── interfaces/ # TypeScript interfaces
│ ├── ascii.ts # ASCII art data structure
│ └── command.ts # Command handler interface
├── modules/ # Utility modules
│ ├── getArtComponents.ts # Discord component generation
│ └── sendUnentitledResponse.ts # Subscription check responses
├── server/ # Web server
│ └── serve.ts # Health monitoring server
├── utils/ # Utility functions
│ ├── checkEntitlement.ts # Subscription verification
│ ├── errorHandler.ts # Error handling
│ ├── getRandomValue.ts # Random selection utility
│ └── logger.ts # Logging utility
└── index.ts # Application entry point
```
### Installation and Setup
1. **Prerequisites**:
- Node.js (compatible with package manager pnpm@10.13.1)
- Discord Bot Token
- Discord Application with appropriate permissions
2. **Installation**:
```bash
pnpm install
```
3. **Environment Configuration**:
Create a `prod.env` file with:
```
DISCORD_TOKEN=your_discord_bot_token_here
```
4. **Build**:
```bash
pnpm run build
```
5. **Start**:
```bash
pnpm start
```
### Development
- **Linting**: `pnpm run lint` (ESLint with @nhcarrigan/eslint-config)
- **Testing**: `pnpm run test` (Vitest)
- **TypeScript**: Configured with @nhcarrigan/typescript-config
### Key Components
#### Entitlement System
- Subscription verification through Discord's entitlement API (`src/utils/checkEntitlement.ts:16`)
- Fallback to hardcoded entitled guilds (`src/config/entitlements.ts`)
- Un-entitled users receive subscription prompts (`src/modules/sendUnentitledResponse.ts`)
#### ASCII Art Management
- Structured data format with `text` and `author` fields (`src/interfaces/ascii.ts:7`)
- Category-based organisation (anime, cats, emoji)
- Random selection utility (`src/utils/getRandomValue.ts`)
#### Web Server
- Health monitoring server on port 5018 (`src/server/serve.ts:65`)
- Static HTML page with bot information and links
- Integration with nhcarrigan.com ecosystem
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### Licensing
- Source code licensed under Naomi's Public Licence
- Copyright held by Naomi Carrigan (@nhcarrigan)
### Terms and Privacy
- [Global Terms of Service](https://docs.nhcarrigan.com/#/terms)
- [Privacy Policy](https://docs.nhcarrigan.com/#/privacy)
### Security
- Security guidelines and reporting procedures outlined in `SECURITY.md`
- Responsible disclosure encouraged through the #bug-reports forum channel on our Discord community
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### Contributing Guidelines
- Comprehensive contributing guidelines: https://docs.nhcarrigan.com/#/contributing
- Additional project-specific guidelines in `CONTRIBUTING.md`
### Code Standards
- **ESLint Configuration**: @nhcarrigan/eslint-config v5.2.0
- **TypeScript**: Strict configuration via @nhcarrigan/typescript-config v4.0.0
- **Testing**: Vitest for unit testing
- **Code Style**: Enforced through automated linting with zero warnings policy
### Development Workflow
1. Fork the repository
2. Create feature branch
3. Make changes following code standards
4. Run tests and linting: `pnpm run test && pnpm run lint`
5. Build successfully: `pnpm run build`
6. Submit pull request
### Issue Reporting
- Bug reports and feature requests via [GitHub Issues](https://github.com/anthropics/claude-code/issues) (external project)
- Security issues through responsible disclosure (see `SECURITY.md`)
### Community
- [Discord Server](https://chat.nhcarrigan.com) for real-time discussion
- Code of Conduct available at repository root
### Architecture Decisions
- Discord.js v14 for modern Discord API features
- TypeScript for type safety and developer experience
- Fastify for lightweight web server functionality
- Component-based Discord interactions for enhanced user experience
- Subscription-based access model through Discord's monetization features
+38
View File
@@ -0,0 +1,38 @@
---
title: Clarion
---
Clarion (hereinafter the "Application") is a Discord bot with dashboard that allows server mangers to post and edit announcements, rules, and similar.
## 1. User Documentation
:::note
This section is coming soon!
:::
This section is for those interacting with a live instance of the Application.
## 2. Technical Documentation
:::note
This section is coming soon!
:::
This section is for those interested in running their own instance of the Application.
## 3. Legal Documentation
:::note
This section is coming soon!
:::
This section is for expansions to our legal policies specific to the Application.
## 4. Contributing Documentation
:::note
This section is coming soon!
:::
This section is for documentation related to contributing to the Application's codebase.
@@ -0,0 +1,322 @@
---
title: Cordelia Taryne
---
Cordelia Taryne (hereinafter the "Application") is an AI-powered multi-purpose assistant Discord bot that leverages Anthropic's Claude AI to provide various text processing, analysis, and assistance features. The bot features a distinctive vampire personality named Cordelia with haughty and self-inflated characteristics, providing users with intelligent assistance whilst maintaining a unique character persona.
## 1. User Documentation
This section is for those interacting with a live instance of the Application.
### Getting Started
To use Cordelia Taryne, [add her to your Discord account](https://discord.com/oauth2/authorise?client_id=1338664192714211459).
### Available Commands
Cordelia Taryne offers the following slash commands:
#### `/about`
- **Description**: Learn more about the bot
- **Usage**: Simply run `/about` to get information about the bot, including version and commit details
- **Access**: Available to all users
#### `/query`
- **Description**: Ask Cordelia a general question
- **Parameters**: `prompt` (required, max 2000 characters) - The question you would like to ask
- **Usage**: `/query prompt: What is the capital of France?`
- **Access**: Requires active subscription
#### `/alt-text`
- **Description**: Generate descriptive and accessible alt-text for images
- **Parameters**: `image` (required) - The image file to generate alt-text for
- **Supported formats**: JPG, JPEG, PNG, GIF, WEBP
- **Limitations**: Maximum 5MB file size, maximum 8000px dimensions
- **Usage**: Upload an image and run `/alt-text image: [your-image]`
- **Access**: Requires active subscription
#### `/eval`
- **Description**: Have Cordelia evaluate and run code snippets
- **Parameters**: `code` (required, max 2000 characters) - The code to evaluate
- **Usage**: `/eval code: 2 + 2 * 3`
- **Access**: Requires active subscription
#### `/mood`
- **Description**: Analyse the sentiment and mood of text passages
- **Parameters**: `text` (required, max 2000 characters) - The text to analyse
- **Usage**: `/mood text: I had an amazing day at the beach!`
- **Access**: Requires active subscription
#### `/proofread`
- **Description**: Have Cordelia proofread text for grammar and style
- **Parameters**: `text` (required, max 2000 characters) - The text to proofread
- **Usage**: `/proofread text: This are my essay about science.`
- **Access**: Requires active subscription
#### `/summarise`
- **Description**: Generate concise summaries of longer text passages
- **Parameters**: `text` (required, max 2000 characters) - The text to summarise
- **Usage**: `/summarise text: [long article or document text]`
- **Access**: Requires active subscription
### Subscription Model
Most features require an active subscription. The bot uses Discord's premium subscription system:
- Free users can access the `/about` command
- Subscribers gain access to all AI-powered features
- Bot owner (developer) has unlimited access for testing and maintenance
### Personality
Cordelia has a distinctive personality:
- **Character**: A vampire assistant with a haughty and self-inflated demeanour
- **Appearance**: Blonde hair in twin buns, pink-red cat-like eyes, pale skin, gold dress
- **Behaviour**: Subtly condescending but never directly rude or insulting
- **Communication**: Professional assistance without role-playing text
### Support and Feedback
- **Bug Reports**: Post in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) category on our support forum
- **Feature Requests**: Post in the [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) category on our support forum
- **General Support**: Visit the [chat server](https://chat.nhcarrigan.com)
- **Contact**: Email `contact@nhcarrigan.com`
## 2. Technical Documentation
This section is for those interested in running their own instance of the Application.
### Architecture Overview
Cordelia Taryne is built with:
- **Runtime**: Node.js with TypeScript
- **Discord Library**: discord.js v14
- **AI Provider**: Anthropic Claude API (Claude Sonnet 4)
- **Web Server**: Fastify (for status page)
- **Package Manager**: pnpm
- **Build System**: TypeScript compiler
### System Requirements
- Node.js 22+
- pnpm package manager
- Git for version control
- Environment variable management (1Password recommended)
### Environment Variables
Required environment variables:
- `DISCORD_TOKEN`: Discord bot token
- `AI_TOKEN`: Anthropic API key
- `npm_package_version`: Application version (auto-set by npm/pnpm)
### Installation and Setup
1. **Clone the repository**:
```bash
git clone https://git.nhcarrigan.com/NHCarrigan/cordelia-taryne.git
cd cordelia-taryne
```
2. **Install dependencies**:
```bash
pnpm install
```
3. **Set up environment variables**:
- Create a `prod.env` file with required variables
- Configure 1Password CLI for secure environment management
4. **Build the application**:
```bash
pnpm run build
```
5. **Deploy slash commands**:
```bash
node prod/commands/[command-name].js
```
6. **Start the application**:
```bash
pnpm start
```
### Project Structure
```
src/
├── index.ts # Main application entry point
├── commands/ # Slash command definitions
├── modules/ # Command implementation logic
├── config/
│ └── personality.ts # Bot personality configuration
├── server/
│ └── serve.ts # Web server for status page
└── utils/ # Utility functions
├── ai.ts # Anthropic AI client
├── calculateCost.ts # Usage cost calculation
├── isSubscribed.ts # Subscription validation
├── logger.ts # Logging utilities
└── replyToError.ts # Error handling
```
### Development Workflow
1. **Linting**: `pnpm run lint`
2. **Building**: `pnpm run build`
3. **Development**: Make changes in `src/`, build, and test
4. **Deployment**: Use the build artifacts in `prod/`
### API Integration
The bot integrates with:
- **Discord API**: For bot functionality and user interactions
- **Anthropic API**: For AI-powered text processing
- **Discord Premium**: For subscription management
### Monitoring and Logging
- Uses `@nhcarrigan/logger` for structured logging
- Tracks API usage and costs for each command
- Monitors subscription events (create/delete)
- Error handling with automatic logging
### Security Considerations
- All AI interactions are ephemeral (private responses)
- Subscription validation before AI API calls
- Input validation and sanitization
- Secure environment variable management
- Rate limiting through Discord's built-in mechanisms
## 3. Legal Documentation
This section is for expansions to our legal policies specific to the Application.
### Data Processing
- **User Data**: Discord user IDs are logged for usage tracking
- **Content Processing**: Text and images are sent to Anthropic for processing
- **Retention**: Logs are retained according to standard practices
- **Privacy**: All interactions are ephemeral and not stored permanently
### Third-Party Services
The Application integrates with:
- **Discord**: User authentication and interaction handling
- **Anthropic**: AI text and image processing
- **1Password**: Secure environment variable management
### Subscription Terms
- Subscriptions are managed through Discord's premium system
- Features are gated behind active subscription status
- Bot owner maintains unlimited access for maintenance
- Usage is tracked and logged for billing transparency
### Intellectual Property
- Bot personality and character design are original creations
- Source code is licensed under Naomi's Public Licence
- Avatar and visual assets are proprietary
- AI model responses are generated by Anthropic's Claude
### Usage Limits
- Text input limited to 2000 characters per command
- Image uploads limited to 5MB and 8000px dimensions
- API usage tracked and billed to service operator
- Fair use policies apply to prevent abuse
## 4. Contributing Documentation
This section is for documentation related to contributing to the Application's codebase.
### Getting Started
1. **Read the Guidelines**: Review `CONTRIBUTING.md` and `CODE_OF_CONDUCT.md`
2. **Fork the Repository**: Create your own fork on GitHub
3. **Set Up Development Environment**: Follow technical documentation setup
4. **Create Feature Branch**: Use descriptive branch names
### Development Standards
#### Code Quality
- **TypeScript**: Strict typing required
- **ESLint**: Must pass linting with zero warnings (`pnpm run lint`)
- **Formatting**: Follow established code style
- **Comments**: JSDoc comments for all public functions
#### Architecture Patterns
- **Command Pattern**: Separate command definitions from implementations
- **Module Separation**: Clear separation between Discord logic and AI logic
- **Error Handling**: Comprehensive error handling with logging
- **Type Safety**: Proper TypeScript types throughout
#### File Structure Conventions
```
src/
├── commands/[name].ts # Discord command definitions
├── modules/[name].ts # Command implementation logic
├── utils/[name].ts # Shared utilities
└── config/[name].ts # Configuration files
```
### Contribution Process
1. **Issue Creation**: Post detailed bug reports or feature requests in the appropriate support forum category ([Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7))
2. **Discussion**: Discuss approach before starting work
3. **Implementation**: Follow coding standards and patterns
4. **Testing**: Test thoroughly in development environment
5. **Pull Request**: Create detailed PR with description and testing notes
6. **Review**: Address feedback from maintainers
7. **Merge**: Maintainers will merge approved changes
### Testing Guidelines
- **Manual Testing**: Test all command paths and error cases
- **Integration Testing**: Verify Discord and Anthropic integrations
- **Subscription Testing**: Test both subscribed and unsubscribed flows
- **Error Scenarios**: Test network failures, API errors, and edge cases
### Feature Development
#### Adding New Commands
1. Create command definition in `src/commands/[name].ts`
2. Implement logic in `src/modules/[name].ts`
3. Add command to main handler in `src/index.ts`
4. Test subscription gating and error handling
5. Update documentation
#### Modifying AI Behaviour
1. Update personality configuration if needed
2. Modify system prompts in relevant modules
3. Test with various inputs and edge cases
4. Consider cost implications of changes
### Code Review Standards
- **Functionality**: Does the code work as intended?
- **Style**: Does it follow established patterns?
- **Security**: Are there any security concerns?
- **Performance**: Are there efficiency improvements?
- **Documentation**: Are changes properly documented?
### Release Process
1. **Version Bump**: Update version in `package.json`
2. **Build**: Ensure clean build with `pnpm run build`
3. **Testing**: Comprehensive testing of new features
4. **Documentation**: Update relevant documentation
5. **Deployment**: Deploy to production environment
6. **Monitoring**: Monitor for issues post-deployment
### Community Guidelines
- **Respectful Communication**: Follow Code of Conduct
- **Constructive Feedback**: Provide helpful, actionable feedback
- **Collaboration**: Work together to improve the project
- **Learning**: Help others learn and grow
- **Recognition**: Credit contributors appropriately
For more detailed contributing information, see the `CONTRIBUTING.md` file in the repository.

Some files were not shown because too many files have changed in this diff Show More