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.
Guidance Will Appear Here
Please select a scenario from the first tab to view information.
Important Disclaimer: The information provided here is for educational purposes only and does not constitute legal advice. This tool is not a substitute for consultation with a qualified legal professional.
Organizations & Resources
-
Electronic Frontier Foundation (EFF)
A leading nonprofit organization defending civil liberties in the digital world. Offers extensive articles, guides, and legal resources on privacy, free speech, and innovation.
-
American Civil Liberties Union (ACLU)
The ACLU works to defend and preserve individual rights and liberties, including those related to online privacy, surveillance, and free speech.
-
Cyber Civil Rights Initiative (CCRI)
Provides resources and support for victims of nonconsensual pornography and other forms of online abuse. Offers a 24/7 crisis helpline.
-
State Attorney General's Office
Your state's Attorney General's office often has a consumer protection division that handles complaints about data breaches and deceptive online business practices.
/g, ' ').replace(/<\/p>/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();
});
