Online Digital Rights Legal Consultation Tool

Online Digital Rights Legal Consultation Tool

Get general information about common digital rights issues in the U.S.

What is your area of concern?

Please select a topic below to get started.

U.S. law requires companies to notify you if your sensitive personal information (like Social Security numbers or financial account numbers) is exposed in a data breach. Your rights and the company's obligations vary by state.

`, steps: `

Recommended First Steps

  • Identify what was exposed: The breach notice should tell you what data was compromised.
  • Change passwords: Immediately change the password for the affected account and any other accounts that use the same password.
  • Enable two-factor authentication (2FA): Add an extra layer of security to your important accounts.
  • Consider a credit freeze: A credit freeze restricts access to your credit report, making it harder for identity thieves to open new accounts in your name. You must contact each of the three major credit bureaus (Equifax, Experian, TransUnion).
`, documentation: `

What to Document

Save the data breach notice you received. Monitor your credit reports and financial statements for any suspicious activity. Document any fraudulent charges or accounts immediately.

` }, { id: 'copyright', title: 'Copyright Claim', description: 'Your original content (photo, video, text) was used online without your permission.', icon: ``, explanation: `

Understanding Copyright

In the U.S., copyright protection is automatic for original works of authorship fixed in a tangible medium. This means if you created it, you generally own the rights. Unauthorized use can be infringement. The Digital Millennium Copyright Act (DMCA) provides a legal framework for content owners to have infringing material removed from websites.

`, steps: `

Recommended First Steps

  • Contact the user directly: A polite message asking them to remove the content or provide credit may resolve the issue.
  • File a DMCA Takedown Notice: Most online platforms (like YouTube, Instagram, etc.) have a formal process for submitting a DMCA notice to have the infringing content removed.
  • Consult an attorney: For commercial or widespread infringement, consulting with an intellectual property attorney is advisable.
`, documentation: `

What to Document

Gather proof of your ownership (e.g., original files with metadata). Take screenshots of the infringing use, including the URL, date, and time. Keep copies of all correspondence and DMCA notices you send.

` } ]; let currentTab = 'selection'; const tabOrder = ['selection', 'guidance', 'resources']; let selectedScenario = null; // --- ELEMENT SELECTORS --- const tabButtons = document.querySelectorAll('.tab-btn'); const tabContents = document.querySelectorAll('.tab-content'); const navContainer = document.getElementById('nav-buttons'); const prevBtn = document.getElementById('prev-btn'); const nextBtn = document.getElementById('next-btn'); const scenarioGrid = document.getElementById('scenario-grid'); const guidancePlaceholder = document.getElementById('guidance-placeholder'); const guidanceResults = document.getElementById('guidance-results'); const downloadPdfBtn = document.getElementById('download-pdf-btn'); // --- TAB & NAVIGATION LOGIC --- function switchTab(tabId) { currentTab = tabId; tabButtons.forEach(btn => { btn.classList.toggle('tab-active', btn.dataset.tab === tabId); btn.classList.toggle('tab-inactive', btn.dataset.tab !== tabId); }); tabContents.forEach(content => { content.classList.toggle('hidden', content.id !== `${tabId}-content`); }); updateNavButtons(); } function updateNavButtons() { const currentIndex = tabOrder.indexOf(currentTab); prevBtn.disabled = currentIndex === 0; nextBtn.disabled = currentIndex === tabOrder.length - 1; prevBtn.classList.toggle('opacity-50', prevBtn.disabled); nextBtn.classList.toggle('opacity-50', nextBtn.disabled); } function handleNav(direction) { const currentIndex = tabOrder.indexOf(currentTab); const newIndex = currentIndex + direction; if (newIndex >= 0 && newIndex < tabOrder.length) { switchTab(tabOrder[newIndex]); } } // --- DATA RENDERING --- function renderScenarioCards() { scenarioGrid.innerHTML = scenarios.map(s => `
${s.icon}

${s.title}

${s.description}

`).join(''); } function renderGuidance() { if (!selectedScenario) { guidancePlaceholder.classList.remove('hidden'); guidanceResults.classList.add('hidden'); return; } guidancePlaceholder.classList.add('hidden'); guidanceResults.classList.remove('hidden'); document.getElementById('guidance-title').textContent = selectedScenario.title; document.getElementById('guidance-explanation').innerHTML = selectedScenario.explanation; document.getElementById('guidance-steps').innerHTML = selectedScenario.steps; document.getElementById('guidance-documentation').innerHTML = selectedScenario.documentation; } // --- PDF GENERATION --- function generatePDF() { if (!selectedScenario) return; const { jsPDF } = window.jspdf; const doc = new jsPDF({ orientation: 'p', unit: 'mm', format: 'a4' }); const margin = 15; const pageWidth = doc.internal.pageSize.getWidth(); const usableWidth = pageWidth - (2 * margin); let yPos = 20; const addText = (text, options = {}) => { const { size = 11, style = 'normal', isHtml = false } = options; doc.setFontSize(size); doc.setFont('helvetica', style); if (isHtml) { doc.html(text, { x: margin, y: yPos, width: usableWidth, windowWidth: usableWidth * 4, callback: (doc) => { yPos = doc.lastAutoTable.finalY || yPos + 20; // fallback } }); } else { const splitText = doc.splitTextToSize(text, usableWidth); doc.text(splitText, margin, yPos); yPos += (splitText.length * (size * 0.4)) + 5; } }; // --- PDF CONTENT --- // Header addText('Digital Rights Consultation Summary', { size: 18, style: 'bold' }); yPos += 5; // Disclaimer doc.setFillColor(255, 251, 235); // yellow-50 doc.rect(margin, yPos, usableWidth, 20, 'F'); doc.setTextColor(180, 83, 9); // yellow-800 addText('Disclaimer: This information is for educational purposes only and is not legal advice. Consult a qualified legal professional for advice on your specific situation.', { size: 10 }); doc.setTextColor(0, 0, 0); yPos += 25; // Scenario Title addText(selectedScenario.title, { size: 16, style: 'bold' }); yPos += 5; // Sections const tempDiv = document.createElement('div'); const sections = [ { el: document.getElementById('guidance-explanation') }, { el: document.getElementById('guidance-steps') }, { el: document.getElementById('guidance-documentation') } ]; sections.forEach(section => { // Create clean HTML for jsPDF tempDiv.innerHTML = section.el.innerHTML; const title = tempDiv.querySelector('h3').innerText; tempDiv.querySelector('h3').remove(); const content = tempDiv.innerHTML.replace(/

/g, ' ').replace(/<\/p>/g, '\n').replace(/

  • /g, '• ').replace(/<\/li>/g, '\n').replace(/
      /g, '').replace(/<\/ul>/g, ''); if (yPos > 250) { doc.addPage(); yPos = 20; } addText(title, { size: 14, style: 'bold' }); addText(content, { size: 11 }); yPos += 5; }); const safeFilename = selectedScenario.title.replace(/[^a-z0-9]/gi, '_').toLowerCase(); doc.save(`digital_rights_guidance_${safeFilename}.pdf`); } // --- EVENT LISTENERS --- tabButtons.forEach(btn => btn.addEventListener('click', () => switchTab(btn.dataset.tab))); prevBtn.addEventListener('click', () => handleNav(-1)); nextBtn.addEventListener('click', () => handleNav(1)); downloadPdfBtn.addEventListener('click', generatePDF); scenarioGrid.addEventListener('click', (e) => { const card = e.target.closest('.scenario-card'); if (card) { const scenarioId = card.dataset.id; selectedScenario = scenarios.find(s => s.id === scenarioId); renderGuidance(); switchTab('guidance'); } }); // --- INITIALIZATION --- function init() { switchTab('selection'); renderScenarioCards(); renderGuidance(); } init(); });
  • Scroll to Top