IntegrAuth Academy
Identity, security and practical AI — free, from zero. Byte-sized lessons, real diagrams, hands-on labs, zero fluff. Two programs, each with its own exam and certificate.
English is hard? Your browser can translate this page into Tamil, Telugu, Kannada, Malayalam or Hindi. Tech words stay in English so you learn the real names.
How?
- Chrome on phone: ⋮ menu → Translate
- Chrome on computer: right-click → Translate to …
- Edge: the translate icon in the address bar
Tech basics: terminal, JSON and keys
Priya gets setup steps for an AI coding tool. They say: "Open a terminal, cd into the repo, put your API key in .env, run npm install, commit first." She knows the words, but not what they mean. Your goal: know what each step does.
🧪 Interactive lab — enable JavaScript to play with this one.
- A file path is a file's address.
..means the folder above. - The terminal does exactly what you type. Never run a command you don't understand.
- JSON is strict. Lists in it count from 0.
- Keep API keys out of code and Git.
- Commit your work before an AI changes your files.
Type instead of click
A terminal can look scary. It is only typing instead of clicking, and the practice terminal here is pretend. The terminal is a window where you type commands. The program that reads them is the shell. On a Mac or Linux:
pwdshows the folder you are in.ls -alists the files here, even hidden ones.cd notes-appgoes into a folder.cd ..goes up one.cat notes.mdshows what a text file says.
Keep your key secret
An API is a door one program uses to ask another for something. An API key is the secret code for that door. It tells the AI company which account pays. Keep it in an environment variable, a named value your computer gives each program. Or put it in a .env file listed in .gitignore, so git never saves it. Did a key leak? Turn it off on the company's website and make a new one. This is called revoking the key.
Git is your undo button
Git saves snapshots of a project. Each snapshot is a commit. git diff shows every line the AI changed. Lines with - were removed, and + lines were added. git restore notes.md throws away that file's unstaged changes. Those are edits you have not yet picked with git add.
AI tools keep settings in JSON. One wrong comma breaks it. Fix some yourself.
🧪 Interactive lab — enable JavaScript to play with this one.
Go deeper: file names and paths
The end of a file name is its extension. .txt and .md are plain text, .csv is a table and .py is code. Renaming notes.txt to notes.pdf does not convert it. It only changes the label.
On a Mac or Linux, a name that starts with a dot, like .env, is a hidden file. An absolute path starts at the top, like C:\Users\priya\notes-app on Windows. A relative path starts from the folder you are in. ~ means your home folder.
Go deeper: terminals on each computer
On a Mac, open the Terminal app. Its shell is zsh. On Windows 11, open Terminal. It starts PowerShell. In PowerShell, use ls -Force to see hidden files.
Tab finishes a file name. ↑ brings back your last command. Ctrl+C stops a running command.
AI coding tools work here, because commands are text in and text out. When one asks "may I run this?", you must understand the command. rm deletes files, and they skip the Trash. sudo runs a command with admin power. curl … | sh downloads a script and runs it at once.
Go deeper: installing tools
Many AI tools need a runtime. That is the program that runs code in one language. Node.js runs JavaScript, and Python runs Python. To check for one, ask for its version, like node --version. "command not found" means it is not installed, or the shell can't find it.
A package manager installs software by name, like winget install Git.Git on Windows. npm installs the code a project needs. It reads package.json. Installing a package runs code written by strangers. So copy names from official docs and check the spelling. Attackers publish look-alike names.
Go deeper: reading JSON
Curly braces hold an object: a set of "key": value pairs. Square brackets hold an array: a list in order. A value can be text in double quotes, or a number. It can be true, false or null, which means nothing.
{"name": "notes-app", "scripts": {"test": "node --test"}, "keywords": ["notes", "demo"], "private": true}
Read it like a path. The test command is at scripts → test. The first keyword is keywords[0]. true has no quotes, so it is a yes-or-no value, not text. JSON breaks with single quotes, a comma after the last item, or a comment.
Go deeper: keys and git
To set a key for this terminal only, type export MODEL_API_KEY="…" on a Mac or Linux. It is gone when you close the window. A .env file is plain text with NAME=value lines. Your shell does not read it. The app's code, Node's --env-file option or a tool must load it. Deleting a leaked key from a file is not enough, because git keeps old versions. A coding agent on your computer can read your keys too.
The folder and its history is a repository. A diff shows what changed between 2 snapshots. A branch is a separate line of work. git status lists what changed. git add notes.md picks a file, and git commit -m "Update date" saves the snapshot.