Open MilSim.io
C2 Overview

Manage Profiles

Update a person’s C2 record, assignments, notes, roles, and profile media without granting broader access than needed.

Use Profiles to find a person and maintain their staff record. The page is plan-gated by community_profiles; opening the list or a profile needs profiles:read.

Profile controls and access

Control or areaC2 visibilityRequired API permissionResult
Profile list, filters, and a profile cardprofiles:readprofiles:readFinds and opens people records. Filters and card/table view do not alter data.
Header wrenchYour own profile, or profiles:updateOwn alias: no role permission; another profile: profiles:updateSaves an alias between 2 and 255 characters.
Background imageYour own profile, profiles:update, or profiles:modify-backgroundThe API’s standard profile update route; confirm dedicated media enforcement before creating a least-privilege roleUploads and saves the background image.
Avatar imageYour own profile, profiles:update, or profiles:modify-avatarThe API’s standard profile update route; confirm dedicated media enforcement before creating a least-privilege roleUploads and saves the avatar image.
Status badge with wrenchprofiles:modify-statusesprofiles:modify-statusesSets or clears the profile status.
Recruiter badgeprofiles:updateprofiles:updateTurns the recruiter flag on or off. It does not grant a role.
Rank, primary unit, or primary position wrenchC2 currently checks profiles:updateAPI requires respectively profiles:modify-ranks, profiles:modify-units, or profiles:modify-positionsSets or clears the single primary assignment.
Qualifications, awards, units, or positions wrenchC2 currently checks profiles:update (units use units:update)API requires the matching profiles:modify-* permissionAdds/removes the selected profile attributes.
Metadata editprofiles:modify-metadataprofiles:modify-metadataAdds, edits, or removes custom key/value profile metadata.
Roles cardroles:read or legacy roles:view to show; profiles:modify-roles to changeprofiles:modify-rolesAssigns or removes C2 roles.
NotesIndividual note permissionsprofile-notes:read, :create, :deleteOpens internal notes; creates or deletes a note.
Deleteprofiles:delete, but disabled for your own profile and a profile with the admin roleprofiles:deleteOpens the destructive deletion confirmation, then returns to Profiles.

C2/API mismatch: C2 exposes rank, assignment, and attribute-edit controls under profiles:update, but the Spring API uses the narrower profiles:modify-* keys listed above. Grant both the C2-visible key and the relevant API key, then test with a non-owner account until this is reconciled.

Change an alias, image, status, or recruiter flag

  1. Open Profiles, find the person, and open their profile.
  2. Select the header wrench to edit an alias; enter 2–255 characters and select Save.
  3. Select either image button to upload a background or avatar. The new image is saved immediately after upload succeeds.
  4. Select the status badge with the wrench, choose a status (or the clear option), then select Save.
  5. Select the recruiter badge, change Recruiter in the dialog, then select Save.

If a save fails, leave the current value in place and use the shown error rather than repeating the request. A status can be cleared; image changes and alias changes do not have a dedicated undo control.

Change assignments and attributes

Use the cards below the profile header.

  1. Select the wrench on Rank, Duty Assignment, or the relevant attribute card.
  2. Choose the assignment(s) required and select Save.
  3. Re-open the card and confirm the saved item is displayed.

Rank, primary unit, and primary position are single assignments. Qualifications and awards support add/remove selection. Unit assignments can expose slots: a primary unit, a unit membership, and a roster slot are separate records. Check the expected one after every move.

For bulk changes, open the relevant attribute’s detail page and use its profile-assignment tool; see Manage Attributes And Folders.

Notes, metadata, roles, and history

  • Select Notes to open the internal-note drawer. Reading, writing, and deleting are independently controlled. Notes are staff context, not public messages.
  • In Metadata, use the edit control to add or remove custom fields, then select Save. Only profiles:modify-metadata exposes it.
  • In Roles, select the wrench, choose an unassigned role, and select Assign. Use the remove control beside an existing role to remove it. Changing roles affects C2 access immediately; see Roles And Permissions.
  • Review profile history before reversing an important change. The C2 screen has a delete-log control, but its customer-facing permission is not established; do not include it in a role recipe.

Delete a profile carefully

  1. Confirm that you are not deleting your own profile or a profile carrying the admin role; C2 disables the control for both.
  2. Select the red Delete button.
  3. Read the confirmation and only confirm when the entire profile should be removed.

This is not a roster-cleanup action. Use assignment or slot controls when the person should remain in the community.

Verification notes

  • Profile media controls are visible under the conditions stated above, but C2 saves them through the standard profile update route. The dedicated profiles:modify-avatar and profiles:modify-background keys are in the canonical catalogue; endpoint-level enforcement needs a role-matrix test.
  • The roles:view check is legacy C2 compatibility code and is not in abilities.json; use roles:read in roles.
  • Operational-check information appears when C2 sees attendance-statuses:read or legacy attendance_status:read. It is view-only and is not a profile-edit permission.
Copyright © 2026