Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Adding-data-to-UserModel.md #97230

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Policy: Separation of Concerns for User Data

## Purpose
To maintain a scalable, efficient, and maintainable architecture, this policy outlines guidelines for handling user data. Specifically, it aims to prevent unnecessary additions to the UserModel by promoting the creation of new endpoints and tables.

## Scope
This policy applies to all engineers working in the UserModel in vets-api
asg5704 marked this conversation as resolved.
Show resolved Hide resolved

## Principles

1. Separation of Concerns: Each endpoint/table should have a single, well-defined responsibility.
2. Data Minimization: Only store and retrieve necessary data.
3. Scalability: Design for future growth.

## Guidelines

Before adding new data to the UserModel the following criteria must be met:
- Engineer(s) must provide a clear reasoning for the addition of new data to the UserModel
- Engineer(s) must have considered all available alternatives
- Engineer(s) must have consulted with OCTO Identity for review and approval
asg5704 marked this conversation as resolved.
Show resolved Hide resolved

### Recommended alternatives
- Create new endpoints and/or new tables

## Exceptions
Exceptions will be made on a case-by-case basis by OCTO Identity team that meets the following criteria:

- The feature MUST be time-sensitive OR business-critical
- The feature MUST be a temporary accomodation

## Consequences of Non-Adherence
The consequences of not adhering to the following policy has the potential to increase maintenance complexity (technical debt), increase attack surface (reduced security posture), and/or reduce system efficiency (performance).

## Review and Revision
This policy will be reviewed and revised annually or as needed by an OCTO Identity Team Lead.
asg5704 marked this conversation as resolved.
Show resolved Hide resolved

## Approval:
Approved by [Name], [Title], [Date]
asg5704 marked this conversation as resolved.
Show resolved Hide resolved

## Version History:
1.0, 11/15/2024, UserModel policy creation