A clock with the word esbuild on it.
BlogSecurity
May 19, 2022

How Vanta's engineering team improved productivity with esbuild

As of early 2022, Vanta’s backend consists of Typescript services and lambdas, and our frontend is a React and Typescript-based single-page application. We host all this code in a monorepo. Over time, we experienced build slowdowns due to our organically growing codebase.

Ultimately, we decided to use esbuild to ensure developer edit/refresh cycles stay smooth. In this article, we’ll explore why we made this decision, how we implemented esbuild, and the results that followed.



The challenge

Our codebase has always been structured as a tree of packages. The leaf directories are services that include a common directory and are bundled up by a Dockerfile. For development, we have a docker compose setup that spins up all services, and essentially runs tsc --watch for each service.

A flowchart of a business process.

Back in the early days, we leveraged symlinks to manage the dependency tree, which we replaced with Typescript Project References to simplify our setup and accelerate builds.

We experienced reasonable performance with this setup for a few years until tsc --watch incremental builds were slowing down. It was taking tens of seconds to re-compile our backend for even the most minimal changes. Our first recourse was to understand the problem using Typescript’s great performance debugging guide. We discovered a few type-heavy packages, like our very own ts-json-validator, and certain usage patterns of mongoose were leading to severe slowdowns. Through a series of casts and manually provided types, we relieved some burden from Typescript's automatic inference and managed to cut build times by >50%. Even then, with a growing engineering team and codebase, we knew that this wouldn’t be a long-term solution, and re-compilation times steadily crept back up.

After another round of Typescript profiling, we noticed an interesting comment on HackerNews that talked about replacing the Typescript compiler with esbuild. After a quick manual prototype, we found that esbuild could re-compile one of our smaller services in under a second, so we decided to investigate whether we could replace all our transpilation with esbuild.

What is esbuild?

esbuild is a fast Javascript bundler written in Go that focuses on correctness and performance. Bundlers traditionally take existing source code and “bundle” it up into a smaller output file so that it can be served faster over the internet, but over the years, bundlers have taken on additional responsibilities, like transpiling from Typescript to Javascript. All we really needed for backend code was that transpilation step, along with a few niceties like source maps for better stack traces in our observability tools.

The strategy

EsModuleInterop

Our biggest roadblock to enabling esbuild globally in our codebase was that we didn’t have the Typescript option esModuleInterop enabled.

Understanding the module ecosystem

Modern programming languages have a module system so developers can separate code with reasonable boundaries into a self-contained package or module and import that code somewhere else. Javascript, famously written in ten days, did not start off with a module system. Over time, one working group came up with commonjs for modules in Node. Sometime after, the community came up with a different module system—ES Modules, or ESM, with dedicated Javascript syntax for imports. The Javascript community is standardizing ES Modules since they’re the in-built system, and have slightly better and stricter semantics. Here’s a good blog on the intricacies and nuances of the two systems.

Difference in syntax

How Typescript fits in

Typescript added import statements before Javascript natively supported import. And Typescript transpiled import * as statements into CommonJS require statements:

This breaks compatibility with the new ESM spec, as CommonJS require has looser semantics than ES6 import * as. For example, require is allowed to return a non-object, whereas import * as is required to return a plain object. This behavior goes against one of their stated design goals to align with ECMAScript proposals.

Import as meet from htm.


Since Typescript’s generated code didn’t conform to the spec, they released an option for interoperability called esModuleInterop. They’ve enabled it by default for new projects, and highly recommend that it’s enabled for all projects going forward.  esbuild does not need to break the spec, so its generated code has different semantics than Typescript generated code with esModuleInterop: false. For example, esbuild generates code that assumes imported modules are not callable and are read-only. This is such a common issue that there’s documentation about it, and the recommended path forward is to enable esModuleInterop for codebases to use esbuild.

We needed to take on two kinds of tasks to correctly enable this option: re-do our imports and clean up mocking code.

Re-doing imports

esModuleInterop automatically enables allowSyntheticDefaultImports, so we migrated many of our imports. This wasn’t strictly required, but it was the cleaner end state with this option enabled.

Example:

A black background with a green, orange, and yellow text.

to

A black background with a green, orange, and yellow text.

Unfortunately, this led to a few breakages that weren’t caught at compile-time, since this only retained the same behavior for packages that didn’t have pre-existing default exports. We discovered most bugs here through testing and deployment in our staging environment.

Re-doing mocks

We use sinon for our mocks in tests. An example:

A screen shot of a python program.

This would no-longer work with esModuleInterop because ES modules are not directly assignable. We were essentially modifying code that was imported, which is a code-smell. We decided to remove mocks where it was easy, and export objects that sinon could mutate when it wasn’t, rather than trying to redo the import itself. This was another common issue with a lot of discussion in the community.

A screen shot of a python program.

The changes here were pretty mechanical as soon as we got a handle on the problem, and it took one PR for each of the handful of modules affected.

These migrations were the bulk of the work required before we could use esbuild. 

Build script

With our migration to esModuleInterop complete, we wrote a bash script that essentially set up nodemon to watch our Typescript files, and re-ran esbuild on changes.

A large issue worth noting here is that esbuild is explicitly not a Typescript compiler replacement, so it doesn’t grok project references. Fortunately, since it’s so fast, we rebuild all running services in parallel when there are any code changes to our common directories, and that’s worked out fine in practice. Another issue is that esbuild doesn’t recognize JSON entry-points, so it doesn’t copy over JSON files into the output directory which can be imported with resolveJsonModule: true in Typescript. So we just copy those over manually through a find and cp.

The rollout

First, since esbuild is not a Typescript compiler, we made it clear to developers that their code might rebuild successfully through esbuild, even if compilation really should have failed due to type errors. Instead, they could use editors to find most compilation errors and run the Typescript compiler on watch mode manually while doing large refactors to catch compilation errors. We also run the Typescript compiler in CI to make sure that no compilation errors get through. Developers seemed to prefer this trade-off.

Second, our team strongly believes that our systems are as consistent as possible in development and production. Therefore, if developers were interacting with esbuild-built code locally, we should ship esbuild-built code to production. To roll this out, we first enabled esbuild for local development behind an opt-in flag. Next, we pushed esbuild-built code to our staging environment, and finally to production. After almost a year in production, we haven’t noticed any issues with the exception of missing source maps which we fixed by tweaking a few flags.

The results

Overall, we’ve been satisfied with our esbuild experience. Looking back, we should have looked into swc a little more, especially since we used Parcel for our front-end code and Parcel 2 uses swc behind the scenes. But it seems easy to switch from one to the other since the bulk of the work was not strictly related to esbuild.

Most developers aren’t aware that we use esbuild behind the scenes, and we count that as a success. On the other hand, we’ve run into more issues around the Typescript server in code editors, mainly around OOMs due to pathological third-party dependencies and organic codebase and dependency growth, so we’ll continue investing on that front.

Credits go to Evan Wallace, the author behind esbuild, for helping push the Javascript ecosystem towards better, faster tooling. If you’re interested in solving tricky problems to make the internet a more secure place, we’re hiring! Check out our open roles here

Learn more about engineering at Vanta 

How Vanta supports a distributed engineering team
3 GraphQL pitfalls and steps to avoid them
9 security tips for startups (and how coding plays a part)

1

Determine if you need to comply with GDPR

Not all organizations are legally required to comply with the GDPR, so it’s important to know how this law applies to your organization. Consider the following:

Do you sell goods or services in the EU or UK?

Do you sell goods or services to EU businesses, consumers, or both?

Do you have employees in the EU or UK?

Do persons from the EU or UK visit your website?

Do you monitor the behavior of persons within the EU?

If any of the above statements apply to your business, you’ll need to be GDPR compliant.
2

Document the personal data you process

Because GDPR hinges on the data you collect from consumers and what your business does with that data, you’ll need to get a complete picture of the personal data you’re collecting, processing, or otherwise interacting with. Follow these items to scope out your data practices: 

Identify and document every system (i.e. database, application, or vendor) that stores or processes EU- or UK-based personally identifiable information (PII).

Document the retention periods for PII in each system.

Determine whether you collect, store, or process “special categories” of data, including:

Racial or ethnic origins
Religious or philosophical beliefs
Genetic data
Health, sex life, or sexual orientation data
Political opinions
Trade union membership
Biometric data that could uniquely identify someone

Determine whether your documentation meets the GDPR requirements for Records of Processing Activities, that include information on:

The name and contact details of the controller
The purpose behind the processing of data
A description of the categories of data that will be processed
Who will receive the data 
Documentation of suitable safeguards for data transfers to a third country or an international organization
The retention period of the different categories of data
A general description of the technical and organizational security measures

Determine whether your documentation includes the following information about processing activities carried out by vendors on your behalf:

The name and contact details of the processor(s) and of each controller on behalf of which the processor is acting, and, where applicable, of the controller’s or the processor’s representative, and the data protection officer
The categories of processing carried out on behalf of each controller
Documentation of suitable safeguards for data transfers to a third country or an international organization
A general description of the technical and organizational security measures
3

Determine your legal grounds for processing data

GDPR establishes conditions that must be met before you can legally collect or process personal data. Make sure your organization is meeting the conditions listed below:

For each category of data and system/application, determine the lawful basis for processing based on one of the following conditions:

Consent of the data subject
Contract with the data subject
Necessary for compliance with a legal obligation
Necessary in order to protect the vital interests of the data subject or a third party
Necessary for the performance of a task in the public interest or in the exercise of official authority vested in the controller
Necessary for the purposes of the legitimate interests pursued by the controller or by a third party, except where such interests are overridden by the rights of the data subject
4

Review and update current customer and vendor contracts

For your organization to be fully GDPR compliant, the vendors you use must also maintain the privacy rights of your users’ and those rights should be reflected in your contracts with customers:

Review all customer and in-scope vendor contracts to determine that they have appropriate contract language (i.e. Data Protection Addendums with Standard Contractual Clauses).

5

Determine if you need a Data Protection Impact Assessment

A Data Protection Impact Assessment (DPIA) is an assessment to determine what risks may arise from your data processing and steps to take to minimize them. Not all organizations need a DPIA, the following items will help you determine if you do:

Identify if your data processing is likely to create high risk to the rights and freedoms of natural persons. Considering if your processing involves any of the following:

Automated processing, including profiling, and on which decisions are based that produce legal effects
Special categories of data or data related to criminal convictions and offenses
Monitor any publicly accessible area on a large scale
If any of the above are true, you may need to conduct a data protection impact assessment for existing and new data projects.
6

Clearly communicate privacy and marketing consent practices

A fundamental element of GDPR compliance is informing consumers of their data privacy rights and requesting consent to collect or process their data. Ensure your website features the following:

A public-facing privacy policy which covers the use of all your products, services, and websites.

Notice to the data subject that include the essential details listed in GDPR Article 13.

Have a clear process for persons to change or withdraw consent.

7

Update internal privacy policies

Ensure that you have privacy policies that are up to the standards of GDPR:

Update internal privacy notices for EU employees.

Have an employee privacy policy that governs the collection and use of EU and UK employee data.

Determine if you need a data protection officer (DPO) based on one of the following conditions:

The data processing is carried out by a public authority
The core activities of the controller or processor require regular and systematic monitoring of data subjects on a large scale
8

Review compliance measures for external data transfers

Under GDPR, you’re responsible for protecting the data that you collect and if that data is transferred. Make your transfer process compliant by following these steps:

If you transfer, store, or process data outside the EU or UK, identify your legal basis for the data transfer. This is most likely covered by the standard contractual clauses.

Perform and document a transfer impact assessment (TIA).

9

Confirm you comply with additional data subject rights

Ensure you’re complying with the following data subject rights by considering the following questions:

Do you have a process for timely responding to requests for information, modifications, or deletion of PII?

Can you provide the subject information in a concise, transparent, intelligible, and easily accessible form, using clear and plain language?

Do you have a process for correcting or deleting data when requested?

Do you have an internal policy regarding a Compelled Disclosure from Law Enforcement?

10

Determine if you need an EU-based representative

Depending on how and where your organization is based, you may need a representative for your organization within the European Union. Take these steps to determine if this is necessary:

Determine whether an EU representative is needed. You may not need an EU-rep if the following conditions apply to your organization:

Data processing is occasional
Data processing is not done on a large scale
Data processing doesn’t include special categories or data related to criminal convictions and offenses
Doesn’t risk to the rights and freedoms of data subjects
A public authority or body

If the above conditions do not apply to you, appoint an EU-based representative.

11

Identify a lead data protection authority (DPA) if needed

GDPR compliance is supervised by the government of whatever EU member-state you’re operating in. If you’re operating in multiple member-states, you may need to determine who your lead data protection authority is:

Determine if you operate in more than one EU state.

If so, designate the supervisory authority of the main establishment to act as your DPA.

12

Implement employee training

Every employee in your organization provides a window for hackers to gain access to your systems and data. This is why it's important to train your employees on how to prevent security breaches and maintain data privacy:

Provide appropriate security awareness and privacy training to your staff.

13

Integrate data breach response requirements

GDPR requires you to create a plan for notifying users and minimizing the impact of a data breach. Examine your data breach response plan, by doing the following:

Create and implement an incident response plan which includes procedures for reporting a breach to EU and UK data subjects as well as appropriate data authorities.

Establish breach reporting policies that comply with all prescribed timelines and include all recipients (i.e. authorities, controllers, and data subjects).

14

Implement appropriate security measures

GDPR requires you to take measures to minimize the risk of a data breach. This includes security practices such as pseudonymization/encryption, maintaining confidentiality, restoration of access following physical/technical incidents, and regular testing of measures. Consider the following:

Have you implemented encryption of PII at rest and in transit?

Have you implemented pseudonymization?

Have you implemented appropriate physical security controls?

Have you implemented information security policies and procedures?

Can you access EU or UK PII data in the clear?

Do your technical and organizational measures ensure that, by default, only personal data that are necessary for each specific purpose of the processing are processed?

15

Streamline GDPR compliance with automation

GDPR compliance is an ongoing project that requires consistent upkeep with your system, vendors, and other factors that could break your compliance. Automation can help you stay on top of your ongoing GDPR compliance. The following items can help you streamline and organize your continuous compliance:

Explore tools for automating security and compliance.

Transform manual data collection and observation processes via continuous monitoring.

Download this checklist for easy reference

Download now

GDPR compliance FAQs

In this section, we’ve answered some of the most common questions about GDPR compliance:

What are the seven GDPR requirements?

The requirements for GDPR compliance are based on a set of seven key principles:

  • Lawfulness, fairness, and transparency
  • Purpose limitation
  • Data minimization
  • Accuracy
  • Storage limitations
  • Integrity and confidentiality
  • Accountability

These are the seven requirements you must uphold to be GDPR compliant.

Is GDPR compliance required in the US?

GDPR compliance is mandatory for some US companies. GDPR compliance is not based on where your organization is located but whose data you collect, store, or process. Regardless of where your organization is based, you must comply with GDPR if you are collecting or processing data from EU residents.

What are the four key components of GDPR?

The four components of GDPR include:

  • Data protection principles
  • Rights of data subjects
  • Legal bases for data processing
  • Responsibilities and obligations of data controllers and processors

Safeguard your business with GDPR compliance

If your organization collects data from EU residents, GDPR compliance is mandatory for you. It’s important to follow the steps listed above to protect your business from heavy fines and to respect the data privacy rights of consumers. 

Vanta provides compliance automation tools and continuous monitoring capabilities that can help you get and stay GDPR compliant. Learn more about getting GDPR compliance with Vanta.

1

Pre-work for your SOC 2 compliance

Choose the right type of SOC 2 report:

Do you sell goods or services to EU businesses, consumers, or both?

Do you sell goods or services to EU businesses, consumers, or both?

Do you sell goods or services to EU businesses, consumers, or both?

Determine the framework for your SOC 2 report. Of the five Trust Service Criteria in SOC 2, every organization needs to comply with the first criteria (security), but you only need to assess and document the other criteria that apply. Determining your framework involves deciding which Trust Service Criteria and controls are applicable to your business using our Trust Service Criteria Guide.

Estimate the resources you expect to need. This will vary depending on how closely you already align with SOC 2 security controls, but it can include several costs such as:

Compliance software

Engineers and potentially consultants

Security tools, such as access control systems

Administrative resources to draft security policies

Auditing for your compliance certification

Choose the right type of SOC 2 report:

Do you sell goods or services to EU businesses, consumers, or both?

Do you sell goods or services to EU businesses, consumers, or both?

Do you sell goods or services to EU businesses, consumers, or both?

2

Work toward SOC 2 compliance

Begin with an initial assessment of your system using compliance automation software to determine which necessary controls and practices you have already implemented and which you still need to put in place.

Review your Vanta report to determine any controls and protocols within the “Security” Trust Service Criteria that you do not yet meet and implement these one by one. These are multi-tiered controls across several categories of security, including:

CC1: Control Environment

CC2: Communication and Information

CC3: Risk Assessment

CC4: Monitoring Activities

CC5: Control Activities

CC6: Logical and Physical Access Controls

CC7: System Operations

CC8: Change Management

CC9: Risk Mitigation

Using Vanta’s initial assessment report as a to-do list, address each of the applicable controls in the other Trust Services Criteria that you identified in your initial framework, but that you have not yet implemented.

Using Vanta’s initial assessment report, draft security policies and protocols that adhere to the standards outlined in SOC 2. 


Vanta’s tool includes thorough and user-friendly templates to make this simpler and save time for your team.

Run Vanta’s automated compliance software again to determine if you have met all the necessary criteria and controls for your SOC 2 report and to document your compliance with these controls.

3

Complete a SOC 2 report audit

Select and hire an auditor affiliated with the American Institute of Certified Public Accountants (AICPA), the organization that developed and supports SOC 2.

Complete a readiness assessment with this auditor to determine if you have met the minimum standards to undergo a full audit.

If your readiness assessment indicates that there are SOC 2 controls you need to address before your audit, complete these requirements. However, if you have automated compliance software to guide your preparations and your SOC 2 compliance, this is unlikely.

Undergo a full audit with your SOC 2 report auditor. This may involve weeks or longer of working with your auditor to provide the documentation they need. Vanta simplifies your audit, however, by compiling your compliance evidence and documentation into one platform your auditor can access directly.

When you pass your audit, the auditor will present you with your SOC 2 report to document and verify your compliance.

4

Maintain your SOC 2 compliance annually

Establish a system or protocol to regularly monitor your SOC 2 compliance and identify any breaches of your compliance, as this can happen with system updates and changes.

Promptly address any gaps in your compliance that arise, rather than waiting until your next audit.

Undergo a SOC 2 re-certification audit each year with your chosen SOC 2 auditor to renew your certification.

Download this checklist for easy reference

Download now

Prioritizing Your Security and Opening Doors with SOC 2 Compliance

Information security is a vital priority for any business today from an ethical standpoint and from a business standpoint. Not only could a data breach jeopardize your revenue but many of your future clients and partners may require a SOC 2 report before they consider your organization. Achieving and maintaining your SOC 2 compliance can open countless doors, and you can simplify the process with the help of the checklist above and Vanta s compliance automation software. Request a demo today to learn more about how we can help you protect and grow your organization.

Request a demo
1

Develop a roadmap for successful implementation of an ISMS and ISO 27001 certification

Implement Plan, Do, Check, Act (PDCA) process to recognize challenges and identify gaps for remediation

Consider ISO 27001 certification costs relative to org size and number of employees

Clearly define scope of work to plan certification time to completion

Select an ISO 27001 auditor

2

Set the scope of your organization’s ISMS

Decide which business areas are covered by the ISMS and which are out of scope

Consider additional security controls for business processes that are required to pass ISMS-protected information across the trust boundary

Inform stakeholders regarding scope of the ISMS

3

Establish an ISMS governing body

Build a governance team with management oversight

Incorporate key members of top management, e.g. senior leadership and executive management with responsibility for strategy and resource allocation

4

Conduct an inventory of information assets

Consider all assets where information is stored, processed, and accessible

  • Record information assets: data and people
  • Record physical assets: laptops, servers, and physical building locations
  • Record intangible assets: intellectual property, brand, and reputation

Assign to each asset a classification and owner responsible for ensuring the asset is appropriately inventoried, classified, protected, and handled

5

Execute a risk assessment

Establish and document a risk-management framework to ensure consistency

Identify scenarios in which information, systems, or services could be compromised

Determine likelihood or frequency with which these scenarios could occur

Evaluate potential impact of each scenario on confidentiality, integrity, or availability of information, systems, and services

Rank risk scenarios based on overall risk to the organization’s objectives

6

Develop a risk register

Record and manage your organization’s risks

Summarize each identified risk

Indicate the impact and likelihood of each risk

7

Document a risk treatment plan

Design a response for each risk (Risk Treatment)

Assign an accountable owner to each identified risk

Assign risk mitigation activity owners

Establish target dates for completion of risk treatment activities

8

Complete the Statement of Applicability worksheet

Review 114 controls of Annex A of ISO 27001 standard

Select controls to address identified risks

Complete the Statement of Applicability listing all Annex A controls, justifying inclusion or exclusion of each control in the ISMS implementation

9

Continuously assess and manage risk

Build a framework for establishing, implementing, maintaining, and continually improving the ISMS

Include information or references to supporting documentation regarding:

  • Information Security Objectives
  • Leadership and Commitment
  • Roles, Responsibilities, and Authorities
  • Approach to Assessing and Treating Risk
  • Control of Documented Information
  • Communication
  • Internal Audit
  • Management Review
  • Corrective Action and Continual Improvement
  • Policy Violations
10

Assemble required documents and records

Review ISO 27001 Required Documents and Records list

Customize policy templates with organization-specific policies, process, and language

11

Establish employee training and awareness programs

Conduct regular trainings to ensure awareness of new policies and procedures

Define expectations for personnel regarding their role in ISMS maintenance

Train personnel on common threats facing your organization and how to respond

Establish disciplinary or sanctions policies or processes for personnel found out of compliance with information security requirements

12

Perform an internal audit

Allocate internal resources with necessary competencies who are independent of ISMS development and maintenance, or engage an independent third party 

Verify conformance with requirements from Annex A deemed applicable in your ISMS's Statement of Applicability

Share internal audit results, including nonconformities, with the ISMS governing body and senior management

Address identified issues before proceeding with the external audit

13

Undergo external audit of ISMS to obtain ISO 27001 certification

Engage an independent ISO 27001 auditor

Conduct Stage 1 Audit consisting of an extensive documentation review; obtain feedback regarding readiness to move to Stage 2 Audit

Conduct Stage 2 Audit consisting of tests performed on the ISMS to ensure proper design, implementation, and ongoing functionality; evaluate fairness, suitability, and effective implementation and operation of controls

14

Address any nonconformities

Ensure that all requirements of the ISO 27001 standard are being addressed

Ensure org is following processes that it has specified and documented

Ensure org is upholding contractual requirements with third parties

Address specific nonconformities identified by the ISO 27001 auditor

Receive auditor’s formal validation following resolution of nonconformities

15

Conduct regular management reviews

Plan reviews at least once per year; consider a quarterly review cycle 

Ensure the ISMS and its objectives continue to remain appropriate and effective

Ensure that senior management remains informed

Ensure adjustments to address risks or deficiencies can be promptly implemented

16

Calendar ISO 27001 audit schedule and surveillance audit schedules

Perform a full ISO 27001 audit once every three years

Prepare to perform surveillance audits in the second and third years of the Certification Cycle

17

Consider streamlining ISO 27001 certification with automation

Transform manual data collection and observation processes into automated and continuous system monitoring

Identify and close any gaps in ISMS implementation in a timely manner

18

Learn more about achieving ISO 27001 certification with Vanta

Book an ISO 27001 demo with Vanta

Download this checklist for easy reference

Download Now
1

Determine which annual audits and assessments are required for your company

Perform a readiness assessment and evaluate your security against HIPAA requirements

Review the U.S. Dept of Health and Human Services Office for Civil Rights Audit Protocol

2

Conduct required HIPAA compliance audits and assessments

Perform and document ongoing technical and non-technical evaluations, internally or in partnership with a third-party security and compliance team like Vanta

3

Document your plans and put them into action

Document every step of building, implementing, and assessing your compliance program

Vanta’s automated compliance reporting can streamline planning and documentation

4

Appoint a security and compliance point person in your company

Designate an employee as your HIPAA Compliance Officer

5

Schedule annual HIPAA training for all employees

Distribute HIPAA policies and procedures and ensure staff read and attest to their review

6

Document employee trainings and other compliance activities

Thoroughly document employee training processes, activities, and attestations

7

Establish and communicate clear breach report processes
to all employees

Ensure that staff understand what constitutes a HIPAA breach, and how to report a breach

Implement systems to track security incidents, and to document and report all breaches

8

Institute an annual review process

Annually assess compliance activities against theHIPAA Rules and updates to HIPAA

9

Continuously assess and manage risk

Build a year-round risk management program and integrate continuous monitoring

Understand the ins and outs of HIPAA compliance— and the costs of noncompliance

Download this checklist for easy reference

Download Now
Written by
No items found.
Access Review Stage Content / Functionality
Across all stages
  • Easily create and save a new access review at a point in time
  • View detailed audit evidence of historical access reviews
Setup access review procedures
  • Define a global access review procedure that stakeholders can follow, ensuring consistency and mitigation of human error in reviews
  • Set your access review frequency (monthly, quarterly, etc.) and working period/deadlines
Consolidate account access data from systems
  • Integrate systems using dozens of pre-built integrations, or “connectors”. System account and HRIS data is pulled into Vanta.
  • Upcoming integrations include Zoom and Intercom (account access), and Personio (HRIS)
  • Upload access files from non-integrated systems
  • View and select systems in-scope for the review
Review, approve, and deny user access
  • Select the appropriate systems reviewer and due date
  • Get automatic notifications and reminders to systems reviewer of deadlines
  • Automatic flagging of “risky” employee accounts that have been terminated or switched departments
  • Intuitive interface to see all accounts with access, account accept/deny buttons, and notes section
  • Track progress of individual systems access reviews and see accounts that need to be removed or have access modified
  • Bulk sort, filter, and alter accounts based on account roles and employee title
Assign remediation tasks to system owners
  • Built-in remediation workflow for reviewers to request access changes and for admin to view and manage requests
  • Optional task tracker integration to create tickets for any access changes and provide visibility to the status of tickets and remediation
Verify changes to access
  • Focused view of accounts flagged for access changes for easy tracking and management
  • Automated evidence of remediation completion displayed for integrated systems
  • Manual evidence of remediation can be uploaded for non-integrated systems
Report and re-evaluate results
  • Auditor can log into Vanta to see history of all completed access reviews
  • Internals can see status of reviews in progress and also historical review detail
FEATURED VANTA RESOURCE

The ultimate guide to scaling your compliance program

Learn how to scale, manage, and optimize alongside your business goals.

Get compliant and
build trust, fast.

Two wind turbines on a white background.
Get compliant and build trust,
fast.
Get started