Students in India ยท free beta

Check an internship offer

An investigation desk that shows its working. Paste the company name, recruiter email, website, and message, or attach an offer-letter PDF or screenshot.

During placement season the note often arrives on WhatsApp: pay a registration fee over UPI, share Aadhaar, and send the OTP. TrustIntern is for that internship check. Job offers can be submitted on the same desk.

Students can use this live beta without paying. Paid tiers for colleges and placement cells are planned.

Heuristic indicator score, not a probability of fraud.

The score runs from 0 to 100. Every point is tied to a piece of evidence, and anyone can recompute it by hand from backend/CONTRACT.md. Gemma plans, reads, and summarizes, but never scores.

How it works

  1. Fixed checkers look at the email domain, domain age (RDAP), website and message text.
  2. Gemma 4 plans which research agents to launch: company, recruiter, complaints, domain, document, follow-up. Only allowlisted agent types run; at most 8 agents and depth 2.
  3. Gemma 4 vision reads the offer letter (PDF or screenshot) and flags inconsistencies.
  4. Deterministic scoring (backend/app/scoring.py) adds up fixed indicator points: upfront fee 25, domain mismatch 20, sensitive data 20, young domain 15, offer conflict 15, unrelated domain 10, urgency 10, personal email 5. The total is capped at 100 and never reduced. Gemma never assigns points.
  5. Progress streams to the React desk over SSE; Gemma then writes a plain-language summary of the evidence.

On the hosted site, Gemma falls back to the Gemini API. A local install can run Gemma through Ollama, and if no model is reachable a heuristic planner finishes the investigation. The score never depends on the model. Gemma plans, reads, and summarizes, but never scores.

Questions students ask

What is TrustIntern?

TrustIntern is an investigation desk for students in India. It looks at the company name, recruiter email, website, message text, and an offer-letter PDF or screenshot. Internship offers come first, including placement-season messages, UPI registration fees, WhatsApp recruiters, and requests for Aadhaar or an OTP. Job offers can be checked with the same desk.

Is TrustIntern free?

The public site is a free beta for students. Paid tiers for colleges and placement cells are planned. It is not a promise that the checker is free for everyone.

What does the score mean?

Heuristic indicator score, not a probability of fraud. It runs from 0 to 100. Every point is tied to a piece of evidence, and anyone can recompute it by hand from backend/CONTRACT.md. The score does not call any company a scammer.

Who assigns the points?

Fixed rules assign the points. Gemma plans which research agents to launch, reads the offer letter or screenshot, and writes the plain-language summary. Gemma never scores.

Should I pay a UPI registration fee for an internship?

An upfront fee is the heaviest indicator, worth 25 points. A placement-season message that asks for a registration, training, kit, or certificate fee, often over UPI on WhatsApp, raises that indicator. The result is still a heuristic indicator score, not a probability of fraud.

What if a recruiter asks for Aadhaar or an OTP?

A request for Aadhaar, PAN, bank details, or an OTP is the sensitive-data indicator, worth 20 points. Paste the message into the desk and read the evidence next to the points.

Why does a Gmail or WhatsApp recruiter change the score?

A personal email provider such as Gmail is worth 5 points. An email domain that does not match the company is worth 20 points. Internship notes that arrive on WhatsApp are checked as message text. Job-offer messages use the same indicators.

Does an offer letter stay on my device?

The hosted site falls back to the Gemini API, so a PDF or screenshot submitted there is sent to that API for Gemma to read. A local install can run Gemma through Ollama instead. The score does not depend on the model.

Are the example offers real?

No. The built-in examples are fictional composites. The suspicious composite scores 90 when live lookups are off. That number demonstrates the arithmetic. It is not a label on a real company.

How do the points add up?

Upfront fee 25, domain mismatch 20, sensitive data 20, young domain 15, offer conflict 15, unrelated domain 10, urgency 10, and personal email 5. The total is capped at 100 and is never reduced. The rules are written in backend/CONTRACT.md and backend/app/scoring.py.