# Osysharp.Privacy.Assignments — the people in an assignment, under their privacy requests

> `Osysharp.Privacy.Assignments` covers the people *on* an assignment and the person an assignment is *about*: each can see what is held, have it kept out of use, or have it erased.

<!-- id: agent-kit-privacy-assignments · area: agent · stability: preview · html: https://osysharp.com/reference/agent/kit-privacy-assignments/ -->

> **You are here:** [Building with agents](https://osysharp.com/reference/agent/guide/) › [The kits](https://osysharp.com/reference/agent/guide-kits/) › Privacy.Assignments

## Summary        {#summary}
`Osysharp.Privacy.Assignments` covers the people *on* an assignment and the person an assignment is *about*: each can see what is held, have it kept out of use, or have it erased.

An erasure leaves words where the person was, never a hole: somebody who worked on an assignment reads "Somebody no longer here", and the work the organisation did stays on its books.

|  |  |
|---|---|
| Package | `Osysharp.Privacy.Assignments`, version 1.1.0 |
| You add it with | Nothing. It arrives by itself in an app that uses [[agent-kit-privacy\|Privacy]] and [[agent-kit-assignments\|Assignments]]; `osy lock` says so. `without Osysharp.Privacy.Assignments;` in the manifest keeps it out. |
| It sits on | [[agent-kit-assignments\|Assignments]], [[agent-kit-privacy\|Privacy]] |
| It also uses | `Identity` — parts of the platform's own library |
| Its own test app | A housing co-operative's repair service — `kits/privacy-assignments/tests` |

## Description    {#description}

### What do you get without writing anything?   {#free}
- One mark on an assignment covers what hangs under it: its agent work and its repository.
- What was done and how it ended is kept; who it was about is replaced.

### When do you need it?   {#when}
Privacy and Assignments together. It arrives by itself. You write one line: `MarkAssignmentAbout`.

### What does it expose?   {#exposes}
The tables below are generated from the kit itself, not written by hand: `osy kits Osysharp.Privacy.Assignments --surface` lists each of
them with the code of the kit's own test app that uses it, and the tests that show it working.

**Settings** — one line in the app, each field with a default.

| You write | It says |
|---|---|
| `app.AssignmentsPrivacy = new AssignmentsPrivacySetup { KeepAboutMonths, KeepPeopleMonths, StandIn, FormerColleague, AlwaysBlank, Rules }` | How this app keeps its assignments private. |

**Types you derive from** — your app writes a class of its own.

| Type | What it is |
|---|---|
| `AssignmentPrivacyRules` | What the app says about its assignments' words: which of them say who an assignment is about. |

**Functions you call**, those its own tests show most first.

| Function | What it does | Tests that show it |
|---|---|---|
| `MarkAssignmentAbout(Assignment a, DataSubject subject)` | Say whose data an assignment is: `a` is about `subject` — and so is everything opened under it, and every row its attached work stands for. | 11 |

## What to read next   {#read-next}
- [Osysharp.Privacy — what the app holds about a person, and what their request does to it](https://osysharp.com/reference/agent/kit-privacy/) — what the app holds about a person, and what their request does to it
- [Osysharp.Assignments — a piece of work somebody asked for, owned until its outcome is reached](https://osysharp.com/reference/agent/kit-assignments/) — a piece of work somebody asked for, owned until its outcome is reached
- [The map of the kits — which sits on which, and what each one is for](https://osysharp.com/reference/agent/guide-kits/) — the map of the kits — which sits on which, and what each one is for

## Go deeper   {#see-also}
- [[agent-privacy#assignments]] — assignments under a privacy request
- [[agent-assignments#erasure]] — taking a person off an assignment
