SecureNUS is a CLI application that provides secure secret management for NUS students. It’s designed to be efficient and user-friendly, allowing users to securely store and manage passwords using a command-line interface.
With a focus on security, SecureNUS employs robust measures such as secret masking, storage, and user convenience.
Its CLI interface allows for fast and streamlined password management, making it an ideal solution for users who are comfortable typing commands.
In summary, SecureNUS offers a reliable and secure secret management solution for NUS students, addressing the
challenge of managing multiple passwords for various sites and applications.
Ensure you have Java 11 installed on your computer. If not so, you can download from here.
Download the latest SecureNUS.jar
from
here.
Open a Command Prompt in your system which contains the JAR File.
java -version
Using cd
, navigate to the folder where SecureNUS.jar
is stored in your system.
Launch the application in the terminal after running java -jar SecureNUS.jar
in the terminal.
If the program is launched correctly, you can see the following.
menu
and pressing menu will give an
overview of all the user commands.new sname f/fold
: creates a new general secret with name sname
in a folder called fold
.new o/CreditCard ccname f/ccfold
: creates a secret for storing credit card details with the name ccname
in
ccfold
folder.list
: List all the secrets typed by the user.menu
: List of command used in the program.view pname
: view the secrets stored under pname
which is masked for security reasons.search cc f/ccfold
: search for entries in the ccfold
folder which have cc
in their name.edit pname
: edit the secret to another in pname
.exit
: exit from the program.Click here for Table of Contents |
Click here for Table of Contents |
Commands in UPPER_CASE
and without a bracket refers to the essential parameters to be given by the user.
exit // Correct
eXiT // Incorrect
menu // Correct
menu123 // Incorrect
Commands in square brackets []
represents the folder to store the secrets. In our application, users
can choose not to store a secret in a folder. Thus, every secret with no assigned folder name,
is stored in an unnamed
folder.
Example of correct syntax:
new passname // folder name: unnamed
new passname f/passfold // folder name: passfold
Commands with […] shows that parameters of the same type can be added multiple times.
Please note that the NAME
parameter in some commands does not refer to the username.
NAME
allows to easily identify and manage the secrets when performing actions such as
deleting, editing, or viewing them.
We recommend using a descriptive name that accurately reflects the contents of the secrets.
Do not use Ctrl-C
in the terminal while running the JAR file as it will cause the program to terminate.
Click here for Table of Contents | Click here for Feature List |
SecureNUS provides a simple way to create new secrets in the secret manager with the new
command.
o/OPTION
extension with the new
command.
Do note, secrets and other sensitive information are masked by asterisks for security purposes. They can be viewed
using view
command which will be elaborated upon here.
database.txt
in the assets
folder. But
users are advised to keep saving their passwords using the save
command. Users can refer here
for more details on the save
command.new [o/OPTION] SECRET_NAME [f/FOLDER_NAME]
Secret Option | Format | Details asked |
Basic Password | new SECRET_NAME [f/FOLDER_NAME] |
|
Credit Card | new o/CreditCard SECRET_NAME [f/FOLDER_NAME] |
|
Crypto Wallet | new o/Crypto SECRET_NAME [f/FOLDER_NAME] |
|
NUSNet ID (e.g.e0771234) | new o/NUSNet SECRET_NAME [f/FOLDER_NAME] |
|
Student ID (e.g A1234567B) | new o/StudentID SECRET_NAME [f/FOLDER_NAME] |
|
Wifi Password | new o/WifiPassword SECRET_NAME [f/FOLDER_NAME] |
|
.
Click here for Table of Contents | Click here for Feature List |
Deletes a secret from the existing list of secrets using secret name.
Can delete multiple secrets in the same command.
Each time an existing secret is deleted by the delete
command, it will be auto-saved in database.txt
in the
assets
folder. But users are advised to keep saving their passwords using the save
command. Users can refer
here for more details on the save
command.
delete SECRET_NAME1 [SECRET_NAME2] […]
Click here for Table of Contents | Click here for Feature List |
SecureNUS enables users to list secrets stored in a specified folder if the folder name is specified.
It also enables users to list all the secrets if the folder name is not specified.
Do note, secrets and other sensitive information are masked by asterisks for security purposes. They can be viewed
using view
command which will be elaborated upon here.
list [f/FOLDER_NAME]
Examples and Outputs:
Click here for Table of Contents | Click here for Feature List |
When creating a new secret using the new
command in SecureNUS or while listing the existing secrets using list
command, the secret entered by the user is hidden under asterisks (****) for added security.
This is a common practice in password management systems to prevent anyone from viewing the actual secrets.
Users can view the original secret using the view
command, which will display the secrets in plain text.
It is important to exercise caution when using the view
command, as anyone with access to the SecureNUS application
can view the secrets in plain text.
Therefore, it is recommended to use SecureNUS on a secure and private device, and to take necessary precautions to prevent unauthorized access to the application.
view SECRET_NAME
Click here for Table of Contents | Click here for Feature List |
SecureNUS allows users to search for stored secrets by using partial characters of the secret name but not that of the folder name.
This feature helps users to quickly locate a specific secret in a large list of stored secrets.
It is important to remember that secret names are case-sensitive, and users must enter the correct case of the secret name when searching.
This search functionality is a convenient and time-saving feature for users who have many stored secrets and need to locate a specific one quickly.
search SECRET_NAME_LIKE [f/FOLDER_NAME]
Click here for Table of Contents | Click here for Feature List |
SecureNUS allows to save a secret in the database.txt
file located in the assets
folder using the save
command.
The secrets will be saved even after exiting the program using the exit
command.
In SecureNUS, if the database.txt
file is not corrupted, users can view their saved secrets even after
reloading the JAR file by running java -jar SecureNUS.jar
in the terminal.
database.txt
file is used to store all secrets in a structured manner for easy retrieval and management.Each time a new secret is created using new
command, delete a secret using delete
command and edit a secret using
the edit
command, the changes are automatically saved in the database.txt
file.
save
command to store their secrets.Please refrain from manually editing or tampering the database.txt
file as it may lead to data corruption.
To know if the database.txt is corrupted, exit from the current program run using the exit
command and rerun the
JAR file using java -jar SecureNUS.jar
and observe the following in the UI:
S.no | UI on re-running the JAR file | Description |
1. |
|
|
2. |
|
2.
, users can follow 2 troubleshooting steps:
save
command OR continue using the app as per normal.
All previous data will be erased when new data is loaded in.database.txt
by using the Ctrl + Z
shortcut. You may have accidentally
edited some characters in the database.txt
file causing the corruption.
In such cases, undoing these edits by using the Ctrl + Z
shortcuts will cause the application to import the
previous data on next load.save
Click here for Table of Contents | Click here for Feature List |
SecureNUS enables users to edit an existing secret using the edit
command.
By using the edit
command, users can make changes to a secret without having to delete it and create a new one.
It is important to note that secret names are case-sensitive and must be entered correctly in order to edit the associated secret.
edit SECRET_NAME
Click here for Table of Contents | Click here for Feature List |
In SecureNUS, the menu command displays a list of available commands that users can access from the command line interface.
This feature is useful for new users who may be unfamiliar with the available commands and need a quick reference.
The menu command also provides a convenient way for users to access specific commands without having to remember their syntax or name.
menu
Examples and Outputs:
Click here for Table of Contents | Click here for Feature List |
In SecureNUS, the exit command is used to terminate the program and exit the command line interface.
database.txt
file is not corrupted, the exit
command will save the current list of secrets.exit
Click here for Table of Contents | Click here for Feature List |
The c/
command allows users to cancel the current operation in SecureNUS.
This can be useful in situations where the user has started an operation, but realizes that they need to abort it
before it is complete.
To cancel the current operation, simply type c/
followed by the Enter key. SecureNUS will immediately terminate the
current operation and return the user to the main command prompt.
Note that cancelling an operation may result in data loss or other unintended consequences, depending on the specific
operation being performed. It is recommended that users use the c/
command only when absolutely necessary and that
they save their data frequently to avoid losing any unsaved changes.
c/
Click here for Table of Contents | Click here for Feature List |
Q: How does SecureNUS store my secrets?
A: SecureNUS stores your secrets in a structured format in the database.txt
file located in the assets
folder.
The secrets are stored securely to ensure that your sensitive information is protected.
Q: What is the difference between a basic password and other password options?
A: A basic password is a simple password that only requires a password name and password value to be entered. Other
password options provide additional fields for specific types of passwords, such as credit cards or NUSNet ID.
Q: What if I create a secret without a folder?
A: Secret will assign itself in an unnamed
folder.
Q: What should I do if I forget my secret for SecureNUS?
A: You can use the list
command to view the details of the all the secrets you stored. Do note that the
sensitive information is masked to ensure security and can be viewed by using the view
command.
Q: How can I ensure the security of my secrets in SecureNUS?
A: At SecureNUS, we strive to keep the secrets of the users secure. Keeping this in consideration, we mask
sensitive information using asterisks when the user creates a new secret using new
command or list the secrets using
list
command.
Q: Can I export my secrets stored in SecureNUS to another device?
A: Yes, you can export your secrets to another device by opening the same JAR file in another machine.
Do ensure to save database.txt
in the root directory’s assets/database.txt
As a user, you can ensure the security of your secrets in SecureNUS by using strong and unique secrets,
keeping your secrets private and secure, and regularly updating your secrets.
Q: Will all the key commands native to the command line work eg. Ctrl-C
for program termination, Ctrl-V
for
paste, Up arrow
to move to previous commands e.t.c.?
A: The functionality for the key operations differ between terminals and operating systems. To avoid any unknown
errors and exceptions, users are requested to refrain from using the key shortcuts especially the Ctrl+C
shortcut
which may lead to termination of the program.
Q: I forgot to save before exiting. Are all my secrets lost?
A: SecureNUS realizes the importance of keeping the passwords safe and secure. So we ensure that the secrets added
are stored conveniently.
new
command, deleted using delete
command or edited using edit
command,
it is automatically saved in the database.txt
file in the assets
folder.exit
command, SecureNUS will save all the secrets in
the database.txt
file.save
command.
In general, until and unless user does not cancel their operation using the c/
command, all secrets will be saved in
the database.txt
file in the asset
folder. But users are requested to keep saving their file using the save
command.
Q: How can I report a bug or issue with SecureNUS?
A: You can report a bug or issue with SecureNUS by raising an issue in the issue tracker of the team’s
Github Repo.
Please attach the screenshots of the issues/bugs and the log files (assets/logFiles.txt
) for us to better understand
and trace the origin of the issue.
Alternatively, you can also contact the
developers of SecureNUS.
Click here for Table of Contents |
Action | Format/Examples |
New |
new [o/OPTION] SECRET_NAME [f/FOLDER_NAME]
|
Delete |
delete SECRET_NAME1 [SECRET_NAME2] [...]
|
List |
list [f/FOLDER_NAME]
|
View |
view SECRET_NAME
|
Search |
search SECRET_NAME_LIKE [f/FOLDER_NAME]
|
Save |
save
|
Edit |
edit SECRET_NAME
|
Menu |
menu
|
Exit |
exit
|
Cancel |
c/
|
Click here for Table of Contents |