Access
2025.8
Access to Matrak systems and application is limited for all users, including but not limited to workforce members, volunteers, business associates, contracted providers, consultants, and any other entity, is allowable only on a minimum necessary basis. All users are responsible for reporting an incident of unauthorized user or access of the organization's information systems.
Policy Statements
Access Control Policy
Matrak policy requires that
(a) Access to all computing resources, including servers, end-user computing devices, network equipment, services and applications, must be protected by strong authentication, authorization, and auditing.
(b) Interactive user access must be associated to an account or login unique to each user.
(c) All credentials, including user passwords, service accounts, and access keys, must meet the length, complexity, age, and rotation requirements defined in Matrak security standards.
(d) Use strong password and multi-factor authentication (MFA) whenever possible to authenticate to all computing resources (including both devices and applications).
(e) MFA is required to access any critical system or resource, including but not limited to resources in Matrak production environments.
(f) Unused accounts, passwords, access keys must be removed within 30 days.
(g) A unique access key or service account must be used for different application or user access.
(h) Authenticated sessions must time out after a defined period of inactivity.
Access Authorization and Termination
Matrak policy requires that
(a) Access authorization shall be implemented using role-based access control (RBAC) or similar mechanism.
(b) Standard access based on a user's job role may be pre-provisioned during employee onboarding. All subsequent access requests to computing resources must be approved by the requestor’s manager, prior to granting and provisioning of access.
(c) Access to critical resources, such as production environments, must be approved by the security team in addition to the requestor’s manager.
(d) Access must be reviewed on a regular basis and revoked if no longer needed.
(e) Upon termination of employment, all system access must be revoked and user accounts terminated within 24 hours or one business day, whichever is shorter.
(f) All system access must be reviewed at least annually and whenever a user's job role changes.
Shared Secrets Management
Matrak policy requires that
(a) Use of shared credentials/secrets must be minimized and approved on an exception basis.
(b) If required by business operations, secrets/credentials must be shared securely and stored in encrypted vaults that meet the Matrak data encryption standards.
(c) Usage of a shared secret to access a critical system or resource must be supported by a complimenting solution to uniquely identify the user.
Privileged Access Management
Matrak policy requires that
(a) Users must not log in directly to systems as a privileged user.
- A privileged user is someone who has administrative access to critical systems, such as a Active Directory Domain Administrator, root user to a Linux/Unix system, and Administrator or Root User to an AWS account.
(b) Privilege access must only be gained through a proxy, or equivalent, that supports strong authentication (such as MFA) using a unique individual account with full auditing of user activities.
(c) Direct administrative access to production systems must be kept to an absolute minimum.
Controls and Procedures
Standards for Access Provisioning
Workforce Clearance
- The level of security assigned to a user to the organization's information systems is based on the minimum necessary amount of data access required to carry out legitimate job responsibilities assigned to a user's job classification and/or to a user needing access to carry out treatment, payment, or business operations.
- All access requests are treated on a "least-privilege" principle.
- Matrak maintains a minimum necessary approach to access to Customer data.
Access Authorization
- Role based access categories for each Matrak system and application are pre-approved by the Security Officer.
- Matrak utilizes hardware-defined and/or software-defined boundaries to segment data, prevent unauthorized access, and monitor traffic for denial of service attacks.
Person or Entity Authentication
- Each workforce member has and uses a unique user ID and password that identifies him/her as the user of the information system.
- Each Customer and Partner has and uses a unique user ID and password or OpenID Connect that identifies him/her as the user of the information system. This is enforced through the use of AWS Cognito.
- All customer support interactions must be verified before Matrak support personnel will satisfy any request having information security implications.
Unique User Identification
- Access to the Matrak Platform systems and applications is controlled by requiring unique User Login IDs and passwords for each individual user and developer.
- Passwords requirements mandate strong password controls (see below).
- Passwords are not displayed at any time and are not transmitted or stored in plain text.
- Default accounts on all production systems and environments, including root, are disabled/locked.
- Shared accounts are not allowed within Matrak systems or networks.
Automatic Logon and Logoff
-
Automated log-on configurations that store user passwords or bypass password entry are not permitted for use with Matrak workstations or production systems.
- Automatic log-on may only be permitted for low-risk systems such as conference room PCs connecting to a Zoom Room.
- Such systems are configured on separate network VLANs.
-
Users are required to make information systems inaccessible by any other individual when unattended by the users (ex. by using a password protected screen saver or logging off the system).
- Information systems automatically lock users such as enabling password-protected screensaver after 2 minutes or less of inactivity.
- Information systems automatically enter standby or log users off the systems after 30 minutes or less of inactivity.
- The Security Officer must pre-approves any exception to automatic log off requirements.
Password Management
- User IDs and passwords are used to control access to Matrak systems and may not be disclosed to anyone for any reason.
- Users may not allow anyone, for any reason, to have access to any information system using another user's unique user ID and password.
-
On all production systems and applications in the Matrak environment, password configurations are set to require:
- a minimum length of 12 characters;
- a mix of upper case characters, lower case characters, and numbers or special characters;
- a 60-day password expiration, or 60-day password expiration for administrative accounts;
- prevention of password reuse using a history of the last 24 passwords;
- where supported, modifying at least 6 characters when changing passwords;
- account lockout after 5 invalid attempts.
Exceptions
Password expiration may be set to a greater interval if an account is always protected by MFA. Currently, LastPass SSO password rotation interval is set to 60 days.
-
All system and application passwords must be stored and transmitted securely.
- Where possible, passwords should be stored in a hashed format using a salted cryptographic hash function (SHA-256 or stronger NIST compliant standard).
- Passwords that must be stored in non-hashed format must be encrypted at rest pursuant to the requirements in Data Protection.
- Transmitted passwords must be encrypted in flight pursuant to the requirements in Data Protection.
-
Each information system automatically requires users to change passwords at a pre-determined interval as determined by the system owner and/or Security, based on the criticality and sensitivity of the data contained within the network, system, application, and/or database.
- Passwords are inactivated immediately upon an employee's termination (refer to the Employee Termination Procedures in HR policy).
- All default system, application, and Vendor/Partner-provided passwords are changed before deployment to production.
- Upon initial login, users must change any passwords that were automatically generated for them.
- Password change methods must use a confirmation method to correct for user input errors.
- All passwords used in configuration scripts are secured and encrypted.
- If a user believes their user ID has been compromised, they are required to immediately report the incident to the Security team.
- In cases where a user has forgotten their password, password reset procedures provided by the IdP shall be followed. The exact process depends on the system or application. If help is needed, users shall contact IT Support or Security
-
An approved password manager is used for to store or share non-critical business application passwords that are not integrated with our primary IdP through SSO.
- The password manager locally encrypts the password vault with the user's master password before synchronizing to the cloud.
- The master password must follow the password requirements listed above.
- MFA must enabled in the password manager configuration.
- Enrollment of the password manager is configured as an application in LastPass.
-
An automated process/tool is implemented to ensure compromised passwords or common dictionary words are not used as passwords. This is currently implemented in LastPass.
Single Sign On
-
Matrak selected Google Workspace as its primary Identity Provider (IdP) to control user access to systems and business applications.
-
Single sign-on (SSO) should be used whenever possible instead of local authentication. This centralized approach improves user experience and simplifies access management.
-
SSO is configured via industry standard SAML protocol between the IdP (Google Workspace) and the target application.
-
Matrak will not configure SSO to target applications unless they score a "B" rating or higher on the Qualys SSL Labs benchmark.
-
Security team is responsible for the administration of the IdP / SSO system, including user and access provisioning. Security team may delegate administrative privilege to a subset of the system, such as a specific application.
Multi-factor Authentication
Multi-factor authentication (MFA) is a standard control used by Matrak to provide strong access control to critical systems and applications, and should be enabled whenever possible.
Matrak implements Google Workspace for MFA.
Important
Approved MFA methods include:
- Push notification delivered through the Google Workspace mobile app (default and preferred for end-user access)
- Hardware MFA token (required for the root user of AWS accounts)
- A unique cryptographic certificate tied to a device
- Time-based One-Time Password (TOTP) delivered through a mobile app, such as Google Authenticator
- One-time passcode delivered through SMS text message (if it is the only supported option)
- Secure physical facility (if the system or application can only be accessed at that location)
Role Based Access Control (RBAC)
By default, user access is granted based on the user's job function / role. For example:
- Developer
- Security
- IT
- Administrative
- Marketing / Sales
This is defined as user groups in .
Access to sensitive data and production customer data is highly restricted and further defined in its own section.
Platform Customer Access to Systems
Matrak does not allow direct system access by customers. Access is only available through the Web UI or API interface, with valid authentication and authorization detailed in the Product Security, Architecture, and Security pages of the engineering wiki.
Access Establishment, Modification and Termination
-
Requests for access to Matrak Platform systems and applications is made formally using the following process:
- An access request is created in Jira through either the new employee onboarding request or a specific access request from Matrak Internal Support site.
-
The Security team will grant standard access to per job role as part of new employee onboarding. A standard set of accounts that are default for all employees are created as part of the onboarding process. This includes
- User account for local system/laptop
- User account in the standard group, and additional groups based on role such as Development, IT, Security
- Office365 account for access to Outlook email, SharePoint, etc.
- Ataata account for security awareness training
- HR accounts for paperwork, benefits management, payroll, expense reporting, etc.
- Jira access for submitting support requests
- Additional role based access (e.g. GitHub and GitHub Actions access for a developer)
-
Standard access may be provisioned at any time by account owners/administrators at any time during or after onboarding with approval of account owners and/or manager.
- If additional access is needed in addition to the above, a separate access request (through Jira) is required and the requester must include a description and justification as part of the access request.
- Once the review is completed, the Security team approves or rejects the Issue. If the Issue is rejected, it goes back for further review and documentation.
-
If the review is approved, IT or Security team provisions access, then marks the Issue as Done, adding any pertinent notes required.
- New accounts will be created with a temporary secure password that meets all password requirements, which must be changed on the initial login.
- All password exchanges must occur over an authenticated channel.
- For on-premise systems, access grants are accomplished by adding the appropriate user account to the corresponding LDAP/AD group.
- For cloud accounts, access grants are provisioned using the access control mechanisms built into those services/applications.
- Account management for non-production systems may be delegated to a Matrak employee at the discretion of the Security Officer.
-
Special access, including access to production environments, is not granted until receipt, review, and approval by the Matrak Security Officer.
- The request for access is retained for future reference.
-
Temporary accounts are not used unless absolutely necessary for business purposes.
- Accounts are reviewed every 90 days to ensure temporary accounts are not left unnecessarily.
- Accounts that are inactive for over 90 days are removed.
-
In the case of non-personal information, such as generic educational content, identification and authentication may not be required.
Access Termination
IT Manager or Security team receives access termination requests in one of the following conditions and processes it accordingly:
- Employee existing/termination, as defined by the process in HR & Employee Security;
- Employee access to a system is no longer required as a result of job role change or similar event, in which case a access termination request may be submitted by the employee or his/her manager via the Internal Help portal or an email request to Security team;
- As the result of a Access Review, as defined in System Auditing.
- Non-standard access is revoked by default after 30 days of inactivity, unless an exception/extension is requested and approved.
Access Reviews
- All access to Matrak systems and services are reviewed and updated following the procedures specified in System Auditing to ensure proper authorizations are in place commensurate with job functions.
- In cases of increased risk or known attempted unauthorized access, immediate steps are taken by the Security and Privacy Officer to limit access and reduce risk of unauthorized access.
Privileged Access
Privileged users must first access systems using standard, unique user accounts before elevating the privilege or switching to privileged users and performing privileged tasks. Examples include:
sudo
in Linux/macOSRun as Administrator
in WindowsAssume role
in AWS
Service Accounts
-
All application to application communication using service accounts is restricted and not permitted unless absolutely needed. Automated tools are used to limit account access across applications and systems.
-
Services that are part of Matrak platform leverage AWS IAM policy configurations and/or OAuth for authorization.
-
Generic accounts are not allowed on Matrak systems.
-
Direct system to system, system to application, and application to application authentication and authorization are limited and controlled to restrict access.
-
In AWS, service accounts are implemented in the form of IAM Roles, and their access defined by the corresponding IAM policies. The creation of these IAM roles and policies is implemented as code, which follows the secure development, review and production change approval process.
-
An inventory of all Service accounts is maintained by AWS IAM and Terraform and reviewed periodically.
Office Network and Wireless Access
- Matrak production systems are not accessible directly over wireless channels.
- Wireless access is disabled on all production systems.
- When accessing production systems via remote wireless connections, the same system access policies and procedures apply to wireless as all other connections, including wired.
-
Wireless networks managed within Matrak non-production facilities (offices, etc.) are secured with the following configurations:
- All data in transit over wireless is encrypted using WPA2 encryption;
- Passwords are not currently on a rotation schedule because the office environments are considered insecure.
- Passwords are changed immediately should a suspicious activity or indicator of compromise is detected.
- Guest wireless access is on a separate SSID configured with different password and traffic VLAN.
- Wireless access is managed by the IT Manager.
- Wireless access points connected to the network are automatically scanned; rogue access points identified are immediately removed.
Production Access and Secrets Management
Matrak leverages a combination of GitHub Actions secrets management, credstash, and Amazon EC2 Systems Manager Parameter Store to securely store production secrets. Secrets are always encrypted; access to secrets is always controlled and audited.
Details and usage are documented on the Matrak Engineering Wiki.
Production Data Access
The following requirements and controls are in place for accessing production data by internal personnel:
-
There is no pre-provisioned, persisted "internal" access to production data stores. Access such as direct SSH to the production database servers and direct access to data objects in production S3 buckets are prohibited.
-
Access to customer data is granted on a per-account basis.
-
Access requests follow the same production access processes. Access must be approved by both the data owner and the security team.
-
Access to production data is granted only through an approved platform with strong centralized access control, with MFA.
-
An audit list of who has access to which customer data is maintained and reviewed monthly. Access is revoked when no longer needed.
Password Reset and other Helpdesk Requests
Matrak employees have the ability to obtain self-service support directly from supported business applications, such as password reset via the SSO/IdP tool.
If needed, users may use our internal service desk or email request to obtain IT and Security support.
A ticket is opened in Jira for each support request and assigned to the appropriate personnel. The person assigned must verify the identity of the requester and ensure the ticket has appropriate approval before implementing or providing support. The verification step and confirmation of "User identity verified" should be included as a comment in the ticket by the support personnel. Additionally, if a password or security credential has been created or supplied, confirm user has received it via another channel like slack/email/phone/zoom and document receipt in the ticket.