Skip to content

Commit

Permalink
chore: eh we can do this client-side ig
Browse files Browse the repository at this point in the history
Signed-off-by: Aaron Pham <contact@aarnphm.xyz>
  • Loading branch information
aarnphm committed Dec 8, 2024
1 parent e09e766 commit a255ded
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 10 deletions.
16 changes: 16 additions & 0 deletions content/References.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1163,3 +1163,19 @@ @article{cavoukian2009privacy
institution={Information and Privacy Commissioner of Ontario},
note={Framework developed at the Information and Privacy Commissioner of Ontario, Canada}
}

@techreport{phipaguide2004,
title={A Guide to the Personal Health Information Protection Act},
author={{Information and Privacy Commissioner of Ontario}},
year={2004},
institution={Information and Privacy Commissioner of Ontario},
type={Technical Report}
}

@techreport{pipedaguide2024,
title={PIPEDA Requirements in Brief},
author={{Office of the Privacy Commissioner of Canada}},
year={2024},
institution={Office of the Privacy Commissioner of Canada},
type={Guidance Document}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ tags:
- engineer4a03
date: "2024-12-08"
description: and exercise.
modified: 2024-12-08 17:32:10 GMT-05:00
modified: 2024-12-08 17:47:01 GMT-05:00
title: Scenarios for development.
---

Expand All @@ -16,10 +16,34 @@ title: Scenarios for development.

### Privacy and Confidentiality

1. Foundational principles
1. Historical Context

The Hippocratic Oath [@Edelstein1943EDETHO] emphasizes confidentiality as a sacred trust between physician and patient. Contemporary reiterations, such as the World Medical Association’s Declaration of Geneva, echo these sentiments, framing patient privacy as non-negotiable.

Implements Ann Cavoukian's Privacy by Design, putting emphasis on [@cavoukian2009privacy]
The system must also implement Ann Cavoukian's Privacy by Design, putting emphasis on creating positive-sum than zero-sum. [@cavoukian2009privacy]

2. Philosophical consideration

Enlightenment thinkers with the likes of Kant upheld human autonomy as fundamental [[thoughts/moral]] imperatives. [[thoughts/Philosophy and Kant|Kantian]] ethics suggests that
using patient data solely as a means to an end, without their informed consent, is ethically problematic [@Kant1785KANGFT]. John Stuart [[thoughts/university/twenty-three-twenty-four/philo-1aa3/John Stuart Mill|Mill]]’s harm principle further
supports protecting private information to prevent harm and maintain trust.

3. Contemporary considerations

In the age of data capitalism [@zuboff2019age], health data is a valuable commodity. Therefore, the AI system must strictly follow Ontario’s Personal Health Information Protection Act (PHIPA) and Canadian Federal Privacy Legislation (PIPEDA) [@phipaguide2004; @pipedaguide2024].
Measures such as data minimization, differential privacy, encryption, and strict access controls must be in place. The framework should also include ongoing compliance checks and audits to ensure data-handling practices remain in line with evolving legal standards and community expectations.

4. Guidelines

- Minimum necessary data collection principle
- End-to-end encryption for all health data
- Strict access controls and audit trails
- Data localization within Canada to comply with PHIPA
- Regular privacy impact assessments
- Clear data retention and disposal policies

### Algorithmic Fairness and Bias mitigation

1. Historical Context

[^ref]
3 changes: 2 additions & 1 deletion middleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ export default function middleware(request: Request) {
if (url.hostname !== "notes.aarnphm.xyz" || url.pathname !== "/") {
return next()
}
return rewrite(new URL("/notes?stackedNotes=bm90ZXM", request.url))
url.pathname = "/notes?stackedNotes=bm90ZXM"
return rewrite(url)
}
27 changes: 21 additions & 6 deletions quartz/components/scripts/spa.inline.ts
Original file line number Diff line number Diff line change
Expand Up @@ -730,6 +730,20 @@ function createRouter() {
})()
}

function pruneNotesElement() {
document
.querySelectorAll(
'section[class~="page-footer"], footer, span#stacked-note-toggle, nav.breadcrumb-container, .keybind',
)
.forEach((el) => el.remove())
}

document.addEventListener("nav", () => {
if (window.location.hostname.startsWith("notes.aarnphm.xyz")) {
pruneNotesElement()
}
})

createRouter()
notifyNav(getFullSlug(window))

Expand Down Expand Up @@ -781,10 +795,11 @@ if (stackedNotes && !container?.classList.contains("active")) {
}

// remove elements on notes.aarnphm.xyz
if (window.location.host === "notes.aarnphm.xyz") {
document
.querySelectorAll(
'section[class~="page-header"], section[class~="page-content"], section[class~="page-footer"], footer, span#stacked-note-toggle, nav.breadcrumb-container, .keybind',
)
.forEach((el) => el.remove())
if (window.location.hostname.startsWith("notes.aarnphm.xyz")) {
if (!stackedNotes || stackedNotes.length === 0) {
const slug = "notes"
baseUrl.searchParams.set("stackedNotes", btoa(slug.toString()).replace(/=+$/, ""))
baseUrl.pathname = `/${slug}`
stacked.navigate(baseUrl)
}
}

0 comments on commit a255ded

Please sign in to comment.