this is bussin — looks legit
Final verdict: Valid
This site looks like the real deal. You are probably good to go, but never share passwords you did not mean to.
Scan coverage
https://hackclub.enterprise.slack.com/ • 10/25/2026, 3:15:47 AM • HTTP 200
How the score was calculated
Traffic between your browser and this server is encrypted over TLS.
The final page URL is served over HTTPS (https://hackclub.enterprise.slack.com/).
Why it matters: Encryption prevents network eavesdroppers from intercepting your data or tampering with page content in transit.
Fix: Note that while HTTPS encrypts traffic, it does not verify whether the site's content or business is trustworthy.
No password input fields were detected in the page HTML.
No <input type="password"> tags found in static HTML.
Why it matters: The page does not appear to solicit user account passwords.
Fix: None required.
The page initiates an automatic redirect via an HTML meta tag.
Detected <meta http-equiv="refresh" content="0; URL=/?nojsmode=1">.
Why it matters: Meta-refresh tags are frequently used in phishing landing pages to rapidly bounce users to credential harvest pages.
Fix: Ensure the redirect destination is legitimate and expected.
No Content-Security-Policy header was sent by the server.
Content-Security-Policy header absent.
Why it matters: A CSP provides defense-in-depth against code injection and unauthorized framing.
Fix: Deploy a Content-Security-Policy header.
The domain uses a standard top-level domain and natural length.
Host 'hackclub.enterprise.slack.com' exhibits standard naming structure.
Why it matters: Domain structure conforms to typical human-selected naming conventions.
Fix: None required.
We did not find aggressive pressure tactics or typical prize scam language.
Zero tracked high-pressure scam keyword phrases matched.
Why it matters: The text does not show obvious automated scam indicators.
Fix: None required.
The site instructs browsers to only connect over HTTPS in the future.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload.
Why it matters: HSTS protects users against SSL-stripping and man-in-the-middle downgrade attacks.
Fix: Maintain HSTS configuration with includeSubDomains and preload.
The site controls whether it can be embedded inside iframes on other domains.
Framing restricted via X-Frame-Options: SAMEORIGIN.
Why it matters: Prevents clickjacking attacks where a malicious site disguises the page inside an invisible frame.
Fix: Framing defense properly active.
The site links to a readable Privacy Policy.
Fetched https://hackclub.enterprise.slack.com/privacy-policy (HTTP 200, 65605 bytes). Standard policy text retrieved.
Why it matters: Available policies allow visitors to understand data collection, terms of use, and legal rights.
Fix: Review the policy if you plan to share sensitive or personal information.
External tracking scripts were observed, but the analyzed privacy policy does not explicitly mention cookies or advertising analytics.
Observed trackers (a.slack-edge.com, cdn.cookielaw.org) without explicit cookie/advertising disclosures in analyzed text.
Why it matters: Privacy regulations require sites to clearly disclose third-party tracking and analytics.
Fix: Check if cookie disclosures are located in a separate dedicated Cookie Policy.
The site links to a readable Terms of Service.
Fetched https://hackclub.enterprise.slack.com/terms-of-service (HTTP 200, 65860 bytes). Standard policy text retrieved.
Why it matters: Available policies allow visitors to understand data collection, terms of use, and legal rights.
Fix: Review the policy if you plan to share sensitive or personal information.
The site links to a readable Privacy Policy.
The site links to a readable Privacy Policy.
External tracking scripts were observed, but the analyzed privacy policy does not explicitly mention cookies or advertising analytics.
The site links to a readable Terms of Service.
<!DOCTYPE html><html lang="en-US" class="" data-primer data-cdn="https://a.slack-edge.com/"><head><script>
(function () {
var data;
const MAX_CDN_FALLBACK = 2;
let isReloading = false;
function scanPageAssets() {
var css = document.getElementsByTagName('link');
var script = document.getElementsByTagName('script');
var i;
var j;
var cdn_domain = 'slack-edge.com';
var domains = location.hostname && location.hostname.split('.');
const isDev =
(domains && domains.length && domains[0] && domains[0].match(/dev[0-9]+/i)) ||
(domains[1] && domains[1].match(/dev[0-9]+/i));
if (isDev) {
cdn_domain = location.hostname;
}
for (i = 0, j = css.length; i < j; i += 1) {
if (
css[i].rel === 'stylesheet' &&
css[i].href &&
(!cdn_domain || css[i].href.includes(cdn_domain))
)
count(css[i]);
}
for (i = 0, j = script.length; i < j; i += 1) {
if (script[i].src && (!cdn_domain || script[i].src.includes(cdn_domain)))
count(script[i]);
}
check();
}
function reset() {
data = {
node_count: 0,
known_nodes: [],
processed_nodes: [],
processed_count: 0,
loaded: [],
failed: [],
};
}
function isRelevantNode(node) {
if (!node) return;
if (!node.onload || !node.onerror) return false;
if (node.href && node.rel && node.rel === 'stylesheet') return true;
if (node.src && node.nodeName.toLowerCase() === 'script') return true;
return false;
}
function getURL(node) {
if (!node) return;
return node.href || node.src;
}
function process(node) {
var src = getURL(node);
if (!src) return;
if (data.processed_nodes[src]) return;
data.processed_nodes[src] = true;
return true;
}
function ok(node, args) {
if (!process(node)) return;
data.processed_count += 1;
data.loaded.push({
node: node,
args: args,
});
check();
}
function failed(node, args) {
if (!process(node)) return;
data.processed_count += 1;
data.failed.push({
node: node,
args: args,
});
(
(window.TS && TS.console && TS.console.error && TS.console.error) ||
window.console.error ||
function () {}
)('CDN asset failed to load: ' + getURL(node));
check();
}
function count(node) {
if (!node) return;
if (!isRelevantNode(node)) return;
var url = getURL(node);
if (!url) return;
if (data.known_nodes[url]) return;
data.known_nodes[url] = true;
data.node_count += 1;
}
function check() {
if (!data.processed_count) return;
var missing = false;
var missing_nodes = [];
var all_count = 0;
for (var item in data.known_nodes) {
if (!data.known_nodes.hasOwnProperty(item)) continue;
all_count += 1;
if (!data.processed_nodes[item]) {
missing_nodes.push(item);
missing = true;
}
}
if (!all_count) return;
if (missing) return;
if (!data.failed.length) {
if (window.console) console.log(data.loaded.length + ' CDN assets loaded OK');
reset();
return;
}
var i;
var j = data.failed.length;
var failed = [];
var failed_css = 0;
var failed_js = 0;
var node_name;
for (i = 0; i < j; i += 1) {
failed.push(getURL(data.failed[i].node));
node_name = data.failed[i].node.nodeName.toLowerCase();
if (node_name === 'link') failed_css += 1;
if (node_name === 'script') failed_js += 1;
}
if (window.console && console.error) {
console.error(data.failed.length + ' CDN assets failed to load: ' + failed.join(', '));
}
if (window.TSBeacon) {
if (failed_css) window.TSBeacon('cdn_load_tracking_failed_css', failed_css);
if (failed_js) window.TSBeacon('cdn_load_tracking_failed_js', failed_js);
}
if (isReloading) {
if (window.console) {
console.warn(
'[RELOAD] Detected more issues loading assets, but we are already preparing to reload so no need to do anything',
);
}
return;
}
const params = new URLSearchParams(location.search);
let cdnFallbackCount = parseInt(params.get('cdn_fallback'), 10) || 0;
cdnFallbackCount += 1;
if (cdnFallbackCount > MAX_CDN_FALLBACK) {
if (window.console) {
console.warn("[RELOAD] Hit maximum reload attempts, won't try reloading anymore");
}
return;
}
isReloading = true;
params.set('cdn_fallback', cdnFallbackCount.toString());
const newSearch = params.toString();
if (window.console) console.warn(`[RELOAD] Reloading client with URL: ${newSearch}`);
let timeout;
const reload = () => {
console.warn(`[RELOAD] Reloading client with URL: ${newSearch}`);
window.clearTimeout(timeout);
window.location.search = newSearch;
};
timeout = window.setTimeout(reload.bind(this), 5000);
const preReloadPromises = [];
if (window.desktop?.stats?.clearCache) {
preReloadPromises.push(
new Promise((resolve) => {
try {
console.warn('[RELOAD] Attempting to clear desktop cache');
window.desktop.stats.clearCache().then(() => {
console.warn('[RELOAD] Successfully cleared desktop cache');
resolve();
});
} catch (e) {
console.warn(
`[RELOAD] Error clearing desktop cache: ${!!e && typeof e === 'object' && 'message' in e ? e.message : 'Unknown error'}`,
);
resolve();
}
}),
);
}
Promise.all(preReloadPromises).then(reload);
}
reset();
window._cdn = {
check: check,
count: count,
data: data,
ok: ok,
failed: failed,
scanPageAssets: scanPageAssets,
};
})();
</script><link href="https://a.slack-edge.com/bv1-13-br/legacy-style-browser-support.fdaf603340143074.min.css" onload="window._cdn ? _cdn.ok(this, arguments) : null" onerror="window._cdn ? _cdn.failed(this, arguments) : null" crossorigin="anonymous" rel="stylesheet" type="text/css"><link href="https://a.slack-edge.com/bv1-13-br/marketing-style-footer.a65a5fd394927179.min.css" onload="window._cdn ? _cdn.ok(this, arguments) : null" onerror="window._cdn ? _cdn.failed(this, arguments) : null" crossorigin="anonymous" rel="stylesheet" type="text/css"><link href="https://a.slack-edge.com/bv1-13-br/marketing-style-onetrust-banner.a766f6366824ca39.min.css" onload="window._cdn ? _cdn.ok(this, arguments) : null" onerror="window._cdn ? _cdn.failed(this, arguments) : null" crossorigin="anonymous" rel="stylesheet" type="text/css"><link href="https://a.slack-edge.com/bv1-13-br/legacy-style-libs-lato-2-compressed.f97f6fd36fc9636d.min.css" onload="window._cdn ? _cdn.ok(this, arguments) : null" onerror="window._cdn ? _cdn.failed(this, arguments) : null" crossorigin="anonymous" rel="stylesheet" type="text/css"><link href="https://a.slack-edge.com/bv1-13-br/marketing-style-generic-typography-avantgarde.c934e77ecdecd549.min.css" onload="window._cdn ? _cdn.ok(this, arguments) : null" onerror="window._cdn ? _cdn.failed(this, arguments) : null" crossorigin="anonymous" rel="stylesheet" type="text/css"><link href="https://a.slack-edge.com/bv1-13-br/marketing-style-generic-typography-sfsans.c0d85c66f6c49bc2.min.css" onload="window._cdn ? _cdn.ok(this, arguments) : null" onerror="window._cdn ? _cdn.failed(this, arguments) : null" crossorigin="anonymous" rel="stylesheet" type="text/css"><link rel="canonical" href="https://slack.com">
<link rel="alternate" hreflang="en-us" href="https://slack.com">
<link rel="alternate" hreflang="en-au" href="https://slack.com/intl/en-au">
<link rel="alternate" hreflang="en-gb" href="https://slack.com/intl/en-gb">
<link rel="alternate" hreflang="en-in" href="https://slack.com/intl/en-in">
<link rel="alternate" hreflang="fr-ca" href="https://slack.com/intl/fr-ca">
<link rel="alternate" hreflang="fr-fr" href="https://slack.com/intl/fr-fr">
<link rel="alternate" hreflang="de-de" href="https://slack.com/intl/de-de">
<link rel="alternate" hreflang="es-es" href="https://slack.com/intl/es-es">
<link rel="alternate" hreflang="es" href="https://slack.com/intl/es-la">
<link rel="alternate" hreflang="ja-jp" href="https://slack.com/intl/ja-jp">
<link rel="alternate" hreflang="pt-br" href="https://slack.com/intl/pt-br">
<link rel="alternate" hreflang="ko-kr" href="https://slack.com/intl/ko-kr">
<link rel="alternate" hreflang="it-it" href="https://slack.com/intl/it-it">
<link rel="alternate" hreflang="zh-cn" href="https://slack.com/intl/zh-cn">
<link rel="alternate" hreflang="zh-tw" href="https://slack.com/intl/zh-tw">
<link rel="alternate" hreflang="x-default" href="https://slack.com">
<script>window.ts_endpoint_url = "https:\/\/slack.com\/beacon\/timing";(function(e) {
var n=Date.now?Date.now():+new Date,r=e.performance||{},t=[],a={},i=function(e,n){for(var r=0,a=t.length,i=[];a>r;r++)t[r][e]==n&&i.push(t[r]);return i},o=function(e,n){for(var r,a=t.length;a--;)r=t[a],r.entryType!=e||void 0!==n&&r.name!=n||t.splice(a,1)};r.now||(r.now=r.webkitNow||r.mozNow||r.msNow||function(){return(Date.now?Date.now():+new Date)-n}),r.mark||(r.mark=r.webkitMark||function(e){var n={name:e,entryType:"mark",startTime:r.now(),duration:0};t.push(n),a[e]=n}),r.measure||(r.measure=r.webkitMeasure||function(e,n,r){n=a[n].startTime,r=a[r].startTime,t.push({name:e,entryType:"measure",startTime:n,duration:r-n})}),r.getEntriesByType||(r.getEntriesByType=r.webkitGetEntriesByType||function(e){return i("entryType",e)}),r.getEntriesByName||(r.getEntriesByName=r.webkitGetEntriesByName||function(e){return i("name",e)}),r.clearMarks||(r.clearMarks=r.webkitClearMarks||function(e){o("mark",e)}),r.clearMeasures||(r.clearMeasures=r.webkitClearMeasures||function(e){o("measure",e)}),e.performance=r,"function"==typeof define&&(define.amd||define.ajs)&&define("performance",[],function(){return r}) // eslint-disable-line
})(window);</script><script>
(function () {
window.TSMark = function (mark_label) {
if (!window.performance || !window.performance.mark) return;
performance.mark(mark_label);
};
window.TSMark('start_load');
window.TSMeasureAndBeacon = function (measure_label, start_mark_label) {
if (!window.performance || !window.performance.mark || !window.performance.measure) {
return;
}
performance.mark(start_mark_label + '_end');
try {
performance.measure(measure_label, start_mark_label, start_mark_label + '_end');
window.TSBeacon(measure_label, performance.getEntriesByName(measure_label)[0].duration);
} catch (e) {
}
};
if ('sendBeacon' in navigator) {
window.TSBeacon = function (label, value) {
var endpoint_url = window.ts_endpoint_url || 'https://slack.com/beacon/timing';
navigator.sendBeacon(
endpoint_url + '?data=' + encodeURIComponent(label + ':' + value),
'',
);
};
} else {
window.TSBeacon = function (label, value) {
var endpoint_url = window.ts_endpoint_url || 'https://slack.com/beacon/timing';
new Image().src = endpoint_url + '?data=' + encodeURIComponent(label + ':' + value);
};
}
})();
</script><script>window.TSMark('step_load');</script><script>
(function () {
function throttle(callback, intervalMs) {
var wait = false;
return function () {
if (!wait) {
callback.apply(null, arguments);
wait = true;
setTimeout(function () {
wait = false;
}, intervalMs);
}
};
}
var MAX_LOGGABLE_URL_LENGTH = 256;
function describeLoggableUrl(url) {
if (typeof url !== 'string' || !url) return 'unknown';
if (url.slice(0, 5).toLowerCase() === 'data:') {
var mediaType = /^data:([^;,]*?)[;,]/i.exec(url);
return `data:${(mediaType && mediaType[1]) || 'unknown'} (${url.length} chars, redacted)`;
}
if (url.length > MAX_LOGGABLE_URL_LENGTH) {
return `${url.slice(0, MAX_LOGGABLE_URL_LENGTH)} (${url.length} chars, truncated)`;
}
return url;
}
function getGenericLogger() {
return {
warn: (msg) => {
if (window.console && console.warn) return console.warn(msg);
},
error: (msg) => {
if (!msg) return;
if (window.TSBeacon) return window.TSBeacon(msg, 1);
if (window.console && console.warn) return console.warn(msg);
},
};
}
function globalErrorHandler(evt) {
if (!evt) return;
var details = '';
var node = evt.srcElement || evt.target;
var genericLogger = getGenericLogger();
if (node && node.nodeName) {
var nodeSrc = '';
if (node.nodeName === 'SCRIPT') {
nodeSrc = node.src || 'unknown';
var errorType = evt.type || 'error';
details = `[${errorType}] from script at ${nodeSrc} (failed to load?)`;
} else if (node.nodeName === 'IMG') {
nodeSrc = node.src || node.currentSrc;
genericLogger.warn(`<img> fired error with url = ${describeLoggableUrl(nodeSrc)}`);
return;
}
}
if (evt.error && evt.error.stack) {
details += ` ${evt.error.stack}`;
}
if (evt.filename) {
var fileName = evt.filename;
var lineNo = evt.lineno;
var colNo = evt.colno;
details += ` from ${fileName}`;
if (lineNo) {
details += ` @ line ${lineNo}, col ${colNo}`;
}
}
var msg;
if (evt.error && evt.error.stack) {
msg = details;
} else {
msg = `${evt.message || ''} ${details}`;
}
if (msg && msg.replace) msg = msg.replace(/\s+/g, ' ').trim();
if (!msg || !msg.length) {
if (node) {
var nodeName = node.nodeName || 'unknown';
if (nodeName === 'VIDEO') {
return;
}
msg = `error event from node of ${nodeName}, no message provided?`;
} else {
msg = 'error event fired, no relevant message or node found';
}
}
var logPrefix = 'ERROR caught in js/inline/register_global_error_handler';
msg = `${logPrefix} - ${msg}`;
genericLogger.error(msg);
}
var capture = true;
var throttledHandler = throttle(globalErrorHandler, 10000);
window.addEventListener('error', throttledHandler, capture);
})();
</script><script type="text/javascript" crossorigin="anonymous" src="https://a.slack-edge.com/bv1-13-br/manifest.d0f50b9ed2130042.primer.min.js" onload="window._cdn ? _cdn.ok(this, arguments) : null" onerror="window._cdn ? _cdn.failed(this, arguments) : null"></script><noscript><meta http-equiv="refresh" content="0; URL=/?nojsmode=1"></noscript><script type="text/javascript">var safe_hosts = ["app.optimizely.com","tinyspeck.dev.slack.com","houston-dev.tinyspeck.com","houston.tinyspeck.com"];
if (self !== top && safe_hosts.indexOf(top.location.host) === -1) {
window.document.write(
'\u003Cstyle>body * {display:none !important;}\u003C/style>\u003Ca href="#" onclick=' +
'"top.location.href=window.location.href" style="display:block !important;padding:10px">Go to Slack.com\u003C/a>'
);
}
(function() {
var timer;
if (self !== top && safe_hosts.indexOf(top.location.host) === -1) {
timer = window.setInterval(function() {
if (window) {
try {
var pageEl = document.getElementById('page');
var clientEl = document.getElementById('client-ui');
var sectionEls = document.querySelectorAll('nav, header, section');
pageEl.parentNode.removeChild(pageEl);
clientEl.parentNode.removeChild(clientEl);
for (var i = 0; i < sectionEls.length; i++) {
sectionEls[i].parentNode.removeChild(sectionEls[i]);
}
window.TS = null;
window.TD = null;
window.clearInterval(timer);
} catch (e) {}
}
}, 200);
}
})();</script><script>window.GA = window.GA || {};
window.GA.boot_data = window.GA.boot_data || {};
GA.boot_data.xhp = true;
GA.boot_data.version_uid = "0e5e029ffc23762241a81ca7298ca509d0f488f1";
GA.boot_data.environment = "prod";
GA.boot_data.abs_root_url = "https:\/\/slack.com\/";
GA.boot_data.document_referrer = "";
GA.boot_data.anonymous_visitor = false;
GA.boot_data.beacon_timing_url = "https:\/\/slack.com\/beacon\/timing";
GA.boot_data.referral_code = "";
GA.boot_data.auth_cookie_domain = ".slack.com";
GA.boot_data.geo = {"ip":"172.68.174.42","country":"US","is_in_european_union":false,"region":"OR","city":"Portland","zip":"97207","lat":45.5248,"lon":-122.6789,"metro":820,"country_label":"United States","region_label":"Oregon","country3":"USA","continent":"NA","isp":"Cloudflare","asn":13335};
GA.boot_data.geocode = "en-us";
GA.boot_data.intl_prefix = "";
GA.boot_data.request_uri = "\/";
GA.boot_data.canonical_web_url = "https:\/\/slack.com\/";
GA.boot_data.i18n_locale = "en-US";
GA.boot_data.geo_root_url = "https:\/\/slack.com\/";
GA.boot_data.is_usa = true;
GA.boot_data.is_spain = false;
GA.boot_data.is_germany = false;
GA.boot_data.is_france = false;
GA.boot_data.is_japan = false;
GA.boot_data.is_europe = false;
GA.boot_data.is_latam = false;
GA.boot_data.is_brazil = false;
GA.boot_data.is_india = false;
GA.boot_data.is_uk = false;
GA.boot_data.is_english = true;
GA.boot_data.is_spanish = false;
GA.boot_data.is_german = false;
GA.boot_data.is_french = false;
GA.boot_data.is_japanese = false;
GA.boot_data.is_portuguese = false;
GA.boot_data.job_board_token = "slack";
GA.boot_data.zd_locale = "en-us";
</script><meta name="facebook-domain-verification" content="chiwsajpoybn2cnqyj9w8mvrey56m0"><script type="text/javascript">
window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}
function loadGTM() {
window.dataLayer.push({
'gtm.start': Date.now(),
'event': 'gtm.js',
'AnalyticsActiveGroups': window.OnetrustActiveGroups || ',1',
'policy_ga_only': true,
});
var firstScript = document.getElementsByTagName('script')[0];
var thisScript = document.createElement('script');
thisScript.async = true;
thisScript.src = '//www.googletagmanager.com/gtm.js?id=GTM-KH2LPK';
firstScript.parentNode.insertBefore(thisScript, firstScript);
}
</script><script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(e) {
var gtmDataLayer = window.dataLayer || [];
var gtmTags = document.querySelectorAll('*[data-gtm-click]');
var gtmClickHandler = function(c) {
var gtm_events = this.getAttribute('data-gtm-click');
if (!gtm_events) return;
var gtm_events_arr = gtm_events.split(",");
for(var e=0; e < gtm_events_arr.length; e++) {
var ev = gtm_events_arr[e].trim();
gtmDataLayer.push({ 'event': ev });
}
};
for(var g=0; g < gtmTags.length; g++){
var elem = gtmTags[g];
elem.addEventListener('click', gtmClickHandler);
}
});
</script><script type="text/javascript">
(function(e,c,b,f,d,g,a){e.SlackBeaconObject=d;
e[d]=e[d]||function(){(e[d].q=e[d].q||[]).push([1*new Date(),arguments])};
e[d].l=1*new Date();g=c.createElement(b);a=c.getElementsByTagName(b)[0];
g.async=1;g.src=f;a.parentNode.insertBefore(g,a)
})(window,document,"script","https:\/\/a.slack-edge.com\/bv1-13-br\/slack_beacon.1de5853dee52ce81.min.js","sb");
window.sb('set', 'token', '3307f436963e02d4f9eb85ce5159744c');
window.sb('track', 'pageview');
</script><script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" data-domain-script="3bcd90cf-1e32-46d7-adbd-634f66b65b7d"></script><script>window.OneTrustLoaded = true;</script><script>
window.dataLayer = window.dataLayer || [];
function afterConsentScripts() {
window.TD.analytics.doPush();
const bottomBannerEl = document.querySelector('.c-announcement-banner-bottom');
if (bottomBannerEl !== null) {
bottomBannerEl.classList.remove('c-announcement-banner-bottom-invisible');
}
}
function toNumberSet(value) {
let arr;
arr = value.split(',');
let set = {};
for (let i = 1; i < arr.length; i++) {
let n = parseInt(String(arr[i]).trim(), 10);
if (!isNaN(n)) set[n] = true;
}
return set;
}
function grantedIfBoth(policySet, activeSet, id) {
return !!(policySet[id] && activeSet[id]);
}
function updateGoogleConsentFromOneTrust(pagePolicy) {
let policySet = toNumberSet(pagePolicy);
let activeSet = toNumberSet(window.OptanonActiveGroups || window.OnetrustActiveGroups || ',1');
let functionalGranted = grantedIfBoth(policySet, activeSet, 3); // category 3
let adsGranted = grantedIfBoth(policySet, activeSet, 4); // category 4
gtag('consent', "default", {"ad_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","perso