Course 2 - Module 5 - Lesson 1
Human approval, audit trails, least privilege, rollback, and clear boundaries
Seatbelts for Agents
Give the smallest useful permission
Least privilege means granting only the access needed for a particular job. A report-drafting agent might read one folder and save a draft, without permission to delete files or send messages. Restrict both the kind of action and the records it can reach.
Human approval should show a concrete proposed action: the recipient, exact message, or record change. 'May I continue?' is too vague when the next step has consequences. Approval belongs before the action, after enough preparation exists for an informed decision.
Keep an audit trail you can use
An audit trail records what was requested, which tools acted, what changed, and who approved it. Give a run an identifier so related events can be connected. Record necessary evidence without filling the log with passwords, full customer records, or unrelated private information.
For example, a fictional address-update agent should record the customer record identifier, approved fields, timestamp, and outcome. If the service returns an error, it should not claim success. A reviewer needs to distinguish an attempted update from a confirmed one.
Plan recovery before granting writes
Rollback means restoring a previous state where that is possible. Save the old value or use the service's change history before replacing data. Some actions, such as disclosing private information in a message, cannot be completely undone by deleting the local draft.
Set a boundary for those cases: draft first, get explicit review, and stop when the target is unclear. Test with sample records before real ones. Clear limits, reviewable proposals, and recovery steps work together; none of them alone guarantees safe behavior.
Tiny experiment
Design an approval preview for a fictional address update. Include the record identifier, old and new values, approver, outcome log, and recovery step.
Confidence check
Which action in your work would remain harmful even if you could later reverse the database change?
