91³Ô¹ÏÍø

Watch CBS News

Teenager wrongly accused by NYPD in shooting recounts months of living in fear

NEW YORK -- A Brooklyn teenager wrongly accused by police in a fatal shooting at a parade last year is speaking out about the last several terrifying months of experiencing threats.

His family wants the NYPD to apologize for releasing an image of him that is still circulating on social media.

It all started with a shooting in September

For Camden Lee, it has been five months of stress.

"A lot of fear. A lot for me, for my family," Lee said.

That's after the NYPD circulated the then-15-year-old's picture, saying he was wanted in a shooting at the West Indian Day Parade last September that killed one man and left several other people injured. Lee's mother, Chee Chee Brock, says once the image was put out there, her son began receiving threats.

"I had to move my family, all of my children, away for a while for safety. I was afraid for our lives," Brock said.

Brock says once she met with investigators the image was taken down from NYPD social media sites, but then the department mistakenly recirculated it in December, making her angry.

"At this point, I don't have nothing to say to them. I'm gonna let my lawyer talk to them," Brock said.

NYPD's social media practices at issue, attorney says  

Wylie Stecklow, Brock's attorney, said to start with the NYPD needs to adopt better social media practices, which were outlined in a recent Department of Investigations for the inspector general report.

"They put my client in a dangerous position and in a slanderous position," Stecklow said.

The DOI report states some NYPD staff official city accounts were unprofessional and not in compliance with the city's social media policy, further saying formal training to NYPD staff is needed for posting appropriate content.

"This is just another example in a long list of those problems," Stecklow said.

The NYPD responded to the image of Lee, saying, "Social media posts in September mistakenly stated that he was wanted for the fatal shooting, rather than stating he was a person of interest. The NYPD should have immediately corrected this misstatement. We apologize for the error and will continue to seek justice for the victims of this shooting."

"I still have faith in them"

Brock continues to stand tall next to her son.

"I just want everyone to know that my son is innocent," she said.

And despite such an error by the NYPD, Lee says he remains confident in the police.

"I felt it was unprofessional and more could've been done to make sure they had the right person, but I still have trust in them. I still have a lot of faith in them," he said.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });