0% found this document useful (0 votes)
19 views4 pages

Infisical Coding Assignment Consumer Secrets Management

Uploaded by

httpsense
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views4 pages

Infisical Coding Assignment Consumer Secrets Management

Uploaded by

httpsense
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Infisical Coding Assignment:

Consumer Secrets Management


Objective: Create an MVP for consumer secrets management

Background
Infisical currently focuses on managing application secrets such as API keys,
certificates, and configurations used throughout software infrastructure. However,
companies often need to manage other types of secrets, including website logins,
corporate credit card details, social media accounts, software licenses, and more.
These are classified as consumer secrets. For this assignment, you will develop a
Minimum Viable Product (MVP) for consumer secrets management.

Task Breakdown
Frontend Requirements
Navigation

Create a new navigation item at the organization level called "User Secrets".

Form for Credential Input

Implement a form allowing users to input their credentials.

Each credential type (e.g., credit card, web login) may have specific fields.
Implement at least one type of credential, such as:

Web Login: Username, Password

Credit Card: Card Number, Expiry Date, CVV

Secure Note: Title, Content

Display Saved Credentials

Display a list of previously saved credentials.

Allow users to delete a single set of credentials from the UI.

Infisical Coding Assignment: Consumer Secrets Management 1


Allow users to update a single set of existing credentials from the UI.

3. Backend Requirements
Database Schema

Design a new table to store consumer credentials. You are welcome to create
more than one table if you see fit.

Credentials should be tied to the logged in user and their Infisical organization.

Extra: The schema design should accommodate multiple types of consumer


credentials and their associated fields.

API Endpoints

Create REST endpoints to handle the following operations:

Create: Add a new set of credentials.

Read: Retrieve the list of saved credentials.

Update: Modify existing credentials.

Delete: Remove credentials.

Implement appropriate encryption for storing sensitive data.

Important: In this assignment, you do not need to implement any form of


permission management to allow other users outside of the logged-in user to view
their saved credentials.

Get started
Prerequisite

Since you will be working in the main Infisical repository, please ensure you have
Git and Docker installed on your computer.

Start local server

Begin by forking the Infisical Github repository. After cloning the repository,
rename the file named example.env to .env located at the root of the cloned
repository. Next, run the docker compose command docker-compose -f docker-

Infisical Coding Assignment: Consumer Secrets Management 2


compose.dev.yml up --build to bring up all the services. If you would like to bring down
the services, run docker compose -f docker-compose.dev.yml down .

After the local server is up, visit http://localhost:8080/ to access the local instance
of Infisical.

Tips & Resources:


Once your local development is up and running, you may access the Postgres
database using software such as Beekeeper

DB host: localhost

DB username: infisical

DB password: infisical

DB name: infisical

DB port: 5432

To learn more about Infisical’s codebase read this documenation.

Notes: This is an MVP. We want to see you be hacky and deliver a working
product quickly. You may take inspiration from products such as
1Password/Bitwarden.

Evaluation Criteria
Security: The feature must handle the storage of saved credentials securely
and should not introduce vulnerabilities.

Functionality: The feature should work as described, with no errors.

Code Quality: Clean, readable, and well-organized code.

Design Choices: Logical and user-friendly UI/UX, and backend


implementation.

Deliverables

Infisical Coding Assignment: Consumer Secrets Management 3


A functional consumer secrets management.

A screen recording walkthrough of the feature in use. Use tools like Loom for
recording. Keep video at most 5 minutes in length.

A PR in your forked Github repository with your code changes.

Submission Deadline: 48 hours from the time of assignment receipt. No git


commits should be added to your forked repository after this point.
Upon completion, please send the URL of your forked Infisical repository where
you implemented the feature, along with the screen recording link, to
[email protected] . We're excited to see your approach and design choices. Best

of luck!

Infisical Coding Assignment: Consumer Secrets Management 4

You might also like