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.
menuExamples 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 |