Course 3.9 · Curriculum 2026.1
Least privilege, and the export that leaked
Two generations of a fix for a real incident, taught in order. Exports landed in a team-visible drive while the requester got a permission error.
- Estimated effort
- 4 hr
- Lessons
- 34
- Modules
- 6
- Material
- 4 hr
Estimated effort is the sum of the lesson and lab times in this version of the course. It is not video runtime, which is lower.
Canadian dollars. One learner, lifetime access to this course version. Tax extra.
1 lesson free to preview
This course does not issue a certificate on its own. It counts toward the paths listed below, and those do.
01What you will learn
7 capabilities, stated as things you can do
Each one is what you should be able to do at the end, not what the course covers. If an outcome is not testable, it is not an outcome.
- Describe a real custody failure and name the three defects that produced it.
- Design a storage location whose only member is the service account.
- Share a generated file with exactly one person, and delete it when the share fails.
- Explain why a swallowed share error returns a link that 404s while the data sits orphaned.
- Remove the service account from custody entirely by creating the file under the user’s own token.
- Compare the two generations and say what the second one removed from the threat model.
- Audit an existing pipeline for the same shape of defect.
02Curriculum
6 modules, 34 lessons
Every lesson shows its length and its type. A SCORM lesson looks like any other lesson, which is the point of ingesting packages rather than linking out to them.
6 modules · 34 lessons · 4 hr of material
Exports once landed in a team-visible drive, so the whole engineering team could read financial data while the person who requested it got a permission error.
- VideoWhat happened, and the three defects behind itA shared destination, a swallowed share error, and a service account with custody of data it had no business holding.Preview6 min
- VideoWhy the requester got an error and everyone else got the file6 min
- ReadingReading an incident without blaming the person who shipped it5 min
- VideoA shared destination is a design decision, not an accident6 min
- VideoWhat financial data sitting in a team-visible drive actually means6 min
- VideoThe gap between “it works” and “it is safe”, in one incident5 min
A storage location whose only member is the service account, a share with exactly one person, and an audit log on every delivery.
- VideoA location with exactly one member6 min
- VideoSharing with one person, and verifying the share landed6 min
- VideoResolving that one person from the same token that ran the query6 min
- VideoWhy the service account is still in custody, and what that still risks6 min
- LabLab: build generation one and test the failure path15 min
- VideoEvery delivery audit-logged, and why that matters even when the design is right5 min
A required email domain, and a delete-on-failure rule so a swallowed error never leaves an orphaned file with a link that 404s.
- VideoRequiring a corporate email domain before a share goes out6 min
- VideoDelete the file if the share failsA swallowed share error returns a link that 404s while the data sits orphaned. Delete, then report the failure.6 min
- VideoWhy a swallowed share error is worse than a loud failure6 min
- ReadingWhat the audit log needs to answer, six months later5 min
- LabLab: simulate a failed share and confirm the file is gone14 min
Create the file in the user’s own storage with the user’s own token. The service account never holds the data at all.
- VideoCreating the file under the caller’s token6 min
- VideoNo parent folder, so it lands in the user’s own space by default6 min
- VideoOwned by them, shared with no one, from the moment it exists6 min
- ReadingWhat the second generation removed from the threat model5 min
- LabLab: build generation two, zero service-account custody15 min
Generation one shipped first because it was safer to ship fast. Generation two shipped second because removing custody entirely takes longer to get right.
- VideoWhat generation one still trusted, that generation two does not6 min
- VideoWhy generation one shipped first, and generation two second6 min
- VideoThe cost of each: engineering effort against risk removed6 min
- VideoWhen generation one is still the right answer6 min
- ReadingA one-page comparison for a client who only has five minutes5 min
- VideoThe per-user token from course 3.8 is what makes generation two possible5 min
The shape of this defect recurs anywhere your org exports data. This module is the checklist for finding it before an incident does.
- VideoThe shape of the defect, generalised beyond this one incident6 min
- LabAuditing an existing pipeline for the same shape15 min
- VideoFive questions to ask about anywhere your org exports data6 min
- ReadingWriting the audit finding so it gets fixed, not filed5 min
- LabLab: write an audit checklist for custody defects12 min
- QuizCheck: least privilege and custody9 min
03Before you start
What you need first
Assumed knowledge and setup
- Course 3.8. The per-user token from that course is what makes generation two possible.
- Access to an object store or drive you can create and share files in.
- Course 1.2 for the permission vocabulary.
Courses that come first
Part of these paths
- The Full StackShareCo Certified Platform Engineer
04Who teaches it
Elliot Saha
Co-founder, Chief Technology Officer
Platform architecture, custom Apex and Lightning Web Components, AI systems, and the Academy platform itself.
05Reviews
No learner reviews yet
This course has not been taken by enough people to publish an honest rating, and we will not print invented quotes on a page that sells verification discipline. Here is what we can evidence instead.
- Assessment
- Lesson checks onlyThis course carries lesson checks. The certificate is issued by the path assessment, not by this course.
- Curriculum version
- 2026.1You enrol into a version. Content changes do not move you mid-course, and your required-lesson count is snapshotted at enrollment.
- Refunds
- 14 daysFull refund within 14 days if you have completed under a quarter of the required lessons. Stated here rather than in a footer.
Start 3.9
Enrol as an individual, or buy seats and assign this course to your team. Progress is reported per lesson, per module and per path.
- 4 hr estimated effort, labs included
- Lifetime access to the version you enrol in
- A ShareCo certificate is not a Salesforce certification