Non-Disclosure Agreements

NDA Fundamentals

What NDAs are, why they exist, the difference between unilateral and mutual types, and when to sign vs. when to push back.

What Is an NDA?

A Non-Disclosure Agreement (NDA) — also called a Confidentiality Agreement (CA) — is a legally binding contract in which one or more parties agree to keep certain information confidential. NDAs are the most commonly signed legal document in the tech industry.

They appear at virtually every point in a developer's career:

  • Before a job interview where proprietary technology is discussed
  • Before a freelance engagement where you'll see client data
  • Before a business partnership discussion where financials are shared
  • Before a demo of an unreleased product

Unilateral vs. Mutual NDAs

Unilateral NDA (One-Way)

Only one party discloses confidential information. The other party (the receiving party) is bound by confidentiality obligations, but the disclosing party is not.

Common scenario: A startup asks you to sign before showing you their product roadmap. They share. You don't. You are bound. They are not.

When to sign: Reasonable when you are clearly in the receiving party role — an employee learning company secrets, a contractor accessing client data, or a partner reviewing confidential financials.

Watch for: Unilateral NDAs that are surprisingly broad — they may cover information you weren't explicitly told was confidential, or they may include non-compete provisions disguised as confidentiality terms.

Mutual NDA (Two-Way)

Both parties disclose and receive confidential information. Both are bound by confidentiality obligations.

Common scenario: Two companies in early merger or acquisition talks. Both sides share sensitive information. Both need protection.

When to request: When you are also sharing confidential information — your own technical approach, your pricing, your customer data. If it's mutual disclosure, it should be a mutual agreement.

Practical tip: Even if the other party sends you a unilateral NDA, you can ask to make it mutual. "Since both of us will be sharing proprietary information, could we make this mutual?" is a completely normal request.

When to Sign vs. When to Push Back

Generally Safe to Sign

  • Standard mutual NDAs before partnership discussions
  • Employer NDAs that are limited to company business information
  • Client NDAs before starting a freelance engagement (with a prior knowledge carve-out — covered in the next lesson)

Pause and Review

  • NDAs that define "confidential information" extremely broadly (everything you see, hear, or learn)
  • NDAs with unusually long terms (5+ years, or perpetual)
  • NDAs with a scope that extends beyond the obvious purpose of the meeting

Push Back or Walk Away

  • NDAs that include non-compete or non-solicitation provisions (these are separate agreements, not part of a standard NDA)
  • NDAs that claim ownership of IP you create during the relationship (this belongs in an employment or contractor agreement, not an NDA)
  • NDAs with one-sided indemnification (only you face liability if there's a breach)
  • NDAs with no standard exclusions (see next lesson)

The Key Principle

An NDA should protect legitimate confidential information shared during a specific relationship or purpose. It should not restrict your career, claim your IP, or expose you to unlimited liability. If an NDA goes beyond protecting confidential information, that is a red flag — not a standard practice to accept.

Example

markdown
// NDA type decision framework
type NDAScenario = {
  youShare: boolean;
  theyShare: boolean;
  purpose: string;
};

function determineNDAType(scenario: NDAScenario): string {
  if (scenario.youShare && scenario.theyShare) {
    return 'MUTUAL NDA — Both parties disclose. Both should be protected.';
  }
  if (!scenario.youShare && scenario.theyShare) {
    return 'UNILATERAL NDA (you receive) — Standard when you are learning their secrets.';
  }
  if (scenario.youShare && !scenario.theyShare) {
    return 'UNILATERAL NDA (you disclose) — You need protection. You should be the protected party.';
  }
  return 'CLARIFY PURPOSE — What information is actually being exchanged?';
}

const jobInterviewScenario: NDAScenario = {
  youShare: false,
  theyShare: true,
  purpose: 'Pre-interview technical discussion about proprietary product',
};

const partnershipScenario: NDAScenario = {
  youShare: true,
  theyShare: true,
  purpose: 'Potential integration partnership — both sides share APIs and roadmaps',
};

console.log(determineNDAType(jobInterviewScenario));
// UNILATERAL NDA (you receive) — Standard when you are learning their secrets.

console.log(determineNDAType(partnershipScenario));
// MUTUAL NDA — Both parties disclose. Both should be protected.
Try it yourself — MARKDOWN