Skip to content

Security: by-systems/tinyauth

SECURITY.md

Security Policy

Supported Versions

It is recommended to use the latest available version of Tinyauth. This is because it includes security fixes, new features and dependency updates. Older versions, especially major ones, are not supported and won't receive security or patch updates.

Reporting a Vulnerability

Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests as I won't be able to patch them in time and they may get exploited by malicious actors.

Instead, report them privately using GitHub's Private Vulnerability Reporting via the Security tab of this repository.

Or send us an email at security@tinyauth.app.

A note on AI-assisted reports

If AI tooling (LLMs, automated scanners, agentic assistants, etc.) helped you discover, analyse, or write up this issue, please say so in your report. This isn't a judgement - AI-assisted findings are welcome - but disclosing it up front helps maintainers calibrate how much additional verification a report needs, and tends to make the report itself clearer.

When submitting a report, please use the structure below so it can be triaged quickly.


1. Summary

A short, one-paragraph description of the vulnerability and its impact (e.g. what an attacker can achieve, who is affected, and under what conditions).

2. Steps to Reproduce / Proof of Concept

Provide a minimal, reliable reproduction:

  1. Step one
  2. Step two
  3. Step three

Include any required input, payloads, configuration, or code snippets. Attach a PoC script or screenshots where helpful.

3. Expected vs. Actual Behaviour

  • Expected: what should happen
  • Actual: what does happen, and why it's a security issue

4. Suggested Fix or Mitigation (optional)

If you have an idea for how to address the issue, describe it here. A private gist link is welcome but not required.

  • Have you tested this fix? Yes / No
  • If yes, briefly describe how it was tested and what was verified.

What to Expect

  • Acknowledgement within a reasonable timeframe after receiving your report
  • Updates as the issue is investigated and addressed
  • Public credit in the resulting advisory, along with any CVE assigned, unless you'd prefer to stay anonymous

We follow a 90-day coordinated disclosure window: please allow up to 90 days from the date of your report for the issue to be investigated and patched before publicly disclosing it. The publication date - whether earlier if a fix lands sooner, or later if more time is genuinely needed - will be agreed with you in advance.

There aren't any published security advisories

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Overview · by-systems/tinyauth · GitHub
Skip to content

Security: by-systems/tinyauth

SECURITY.md

Security Policy

Supported Versions

It is recommended to use the latest available version of Tinyauth. This is because it includes security fixes, new features and dependency updates. Older versions, especially major ones, are not supported and won't receive security or patch updates.

Reporting a Vulnerability

Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests as I won't be able to patch them in time and they may get exploited by malicious actors.

Instead, report them privately using GitHub's Private Vulnerability Reporting via the Security tab of this repository.

Or send us an email at security@tinyauth.app.

A note on AI-assisted reports

If AI tooling (LLMs, automated scanners, agentic assistants, etc.) helped you discover, analyse, or write up this issue, please say so in your report. This isn't a judgement - AI-assisted findings are welcome - but disclosing it up front helps maintainers calibrate how much additional verification a report needs, and tends to make the report itself clearer.

When submitting a report, please use the structure below so it can be triaged quickly.


1. Summary

A short, one-paragraph description of the vulnerability and its impact (e.g. what an attacker can achieve, who is affected, and under what conditions).

2. Steps to Reproduce / Proof of Concept

Provide a minimal, reliable reproduction:

  1. Step one
  2. Step two
  3. Step three

Include any required input, payloads, configuration, or code snippets. Attach a PoC script or screenshots where helpful.

3. Expected vs. Actual Behaviour

  • Expected: what should happen
  • Actual: what does happen, and why it's a security issue

4. Suggested Fix or Mitigation (optional)

If you have an idea for how to address the issue, describe it here. A private gist link is welcome but not required.

  • Have you tested this fix? Yes / No
  • If yes, briefly describe how it was tested and what was verified.

What to Expect

  • Acknowledgement within a reasonable timeframe after receiving your report
  • Updates as the issue is investigated and addressed
  • Public credit in the resulting advisory, along with any CVE assigned, unless you'd prefer to stay anonymous

We follow a 90-day coordinated disclosure window: please allow up to 90 days from the date of your report for the issue to be investigated and patched before publicly disclosing it. The publication date - whether earlier if a fix lands sooner, or later if more time is genuinely needed - will be agreed with you in advance.

There aren't any published security advisories

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Overview · by-systems/tinyauth · GitHub
Skip to content

Security: by-systems/tinyauth

SECURITY.md

Security Policy

Supported Versions

It is recommended to use the latest available version of Tinyauth. This is because it includes security fixes, new features and dependency updates. Older versions, especially major ones, are not supported and won't receive security or patch updates.

Reporting a Vulnerability

Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests as I won't be able to patch them in time and they may get exploited by malicious actors.

Instead, report them privately using GitHub's Private Vulnerability Reporting via the Security tab of this repository.

Or send us an email at security@tinyauth.app.

A note on AI-assisted reports

If AI tooling (LLMs, automated scanners, agentic assistants, etc.) helped you discover, analyse, or write up this issue, please say so in your report. This isn't a judgement - AI-assisted findings are welcome - but disclosing it up front helps maintainers calibrate how much additional verification a report needs, and tends to make the report itself clearer.

When submitting a report, please use the structure below so it can be triaged quickly.


1. Summary

A short, one-paragraph description of the vulnerability and its impact (e.g. what an attacker can achieve, who is affected, and under what conditions).

2. Steps to Reproduce / Proof of Concept

Provide a minimal, reliable reproduction:

  1. Step one
  2. Step two
  3. Step three

Include any required input, payloads, configuration, or code snippets. Attach a PoC script or screenshots where helpful.

3. Expected vs. Actual Behaviour

  • Expected: what should happen
  • Actual: what does happen, and why it's a security issue

4. Suggested Fix or Mitigation (optional)

If you have an idea for how to address the issue, describe it here. A private gist link is welcome but not required.

  • Have you tested this fix? Yes / No
  • If yes, briefly describe how it was tested and what was verified.

What to Expect

  • Acknowledgement within a reasonable timeframe after receiving your report
  • Updates as the issue is investigated and addressed
  • Public credit in the resulting advisory, along with any CVE assigned, unless you'd prefer to stay anonymous

We follow a 90-day coordinated disclosure window: please allow up to 90 days from the date of your report for the issue to be investigated and patched before publicly disclosing it. The publication date - whether earlier if a fix lands sooner, or later if more time is genuinely needed - will be agreed with you in advance.

There aren't any published security advisories

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Overview · by-systems/tinyauth · GitHub
Skip to content

Security: by-systems/tinyauth

SECURITY.md

Security Policy

Supported Versions

It is recommended to use the latest available version of Tinyauth. This is because it includes security fixes, new features and dependency updates. Older versions, especially major ones, are not supported and won't receive security or patch updates.

Reporting a Vulnerability

Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests as I won't be able to patch them in time and they may get exploited by malicious actors.

Instead, report them privately using GitHub's Private Vulnerability Reporting via the Security tab of this repository.

Or send us an email at security@tinyauth.app.

A note on AI-assisted reports

If AI tooling (LLMs, automated scanners, agentic assistants, etc.) helped you discover, analyse, or write up this issue, please say so in your report. This isn't a judgement - AI-assisted findings are welcome - but disclosing it up front helps maintainers calibrate how much additional verification a report needs, and tends to make the report itself clearer.

When submitting a report, please use the structure below so it can be triaged quickly.


1. Summary

A short, one-paragraph description of the vulnerability and its impact (e.g. what an attacker can achieve, who is affected, and under what conditions).

2. Steps to Reproduce / Proof of Concept

Provide a minimal, reliable reproduction:

  1. Step one
  2. Step two
  3. Step three

Include any required input, payloads, configuration, or code snippets. Attach a PoC script or screenshots where helpful.

3. Expected vs. Actual Behaviour

  • Expected: what should happen
  • Actual: what does happen, and why it's a security issue

4. Suggested Fix or Mitigation (optional)

If you have an idea for how to address the issue, describe it here. A private gist link is welcome but not required.

  • Have you tested this fix? Yes / No
  • If yes, briefly describe how it was tested and what was verified.

What to Expect

  • Acknowledgement within a reasonable timeframe after receiving your report
  • Updates as the issue is investigated and addressed
  • Public credit in the resulting advisory, along with any CVE assigned, unless you'd prefer to stay anonymous

We follow a 90-day coordinated disclosure window: please allow up to 90 days from the date of your report for the issue to be investigated and patched before publicly disclosing it. The publication date - whether earlier if a fix lands sooner, or later if more time is genuinely needed - will be agreed with you in advance.

There aren't any published security advisories

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Overview · by-systems/tinyauth · GitHub
Skip to content

Security: by-systems/tinyauth

SECURITY.md

Security Policy

Supported Versions

It is recommended to use the latest available version of Tinyauth. This is because it includes security fixes, new features and dependency updates. Older versions, especially major ones, are not supported and won't receive security or patch updates.

Reporting a Vulnerability

Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests as I won't be able to patch them in time and they may get exploited by malicious actors.

Instead, report them privately using GitHub's Private Vulnerability Reporting via the Security tab of this repository.

Or send us an email at security@tinyauth.app.

A note on AI-assisted reports

If AI tooling (LLMs, automated scanners, agentic assistants, etc.) helped you discover, analyse, or write up this issue, please say so in your report. This isn't a judgement - AI-assisted findings are welcome - but disclosing it up front helps maintainers calibrate how much additional verification a report needs, and tends to make the report itself clearer.

When submitting a report, please use the structure below so it can be triaged quickly.


1. Summary

A short, one-paragraph description of the vulnerability and its impact (e.g. what an attacker can achieve, who is affected, and under what conditions).

2. Steps to Reproduce / Proof of Concept

Provide a minimal, reliable reproduction:

  1. Step one
  2. Step two
  3. Step three

Include any required input, payloads, configuration, or code snippets. Attach a PoC script or screenshots where helpful.

3. Expected vs. Actual Behaviour

  • Expected: what should happen
  • Actual: what does happen, and why it's a security issue

4. Suggested Fix or Mitigation (optional)

If you have an idea for how to address the issue, describe it here. A private gist link is welcome but not required.

  • Have you tested this fix? Yes / No
  • If yes, briefly describe how it was tested and what was verified.

What to Expect

  • Acknowledgement within a reasonable timeframe after receiving your report
  • Updates as the issue is investigated and addressed
  • Public credit in the resulting advisory, along with any CVE assigned, unless you'd prefer to stay anonymous

We follow a 90-day coordinated disclosure window: please allow up to 90 days from the date of your report for the issue to be investigated and patched before publicly disclosing it. The publication date - whether earlier if a fix lands sooner, or later if more time is genuinely needed - will be agreed with you in advance.

There aren't any published security advisories

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Overview · by-systems/tinyauth · GitHub
Skip to content

Security: by-systems/tinyauth

SECURITY.md

Security Policy

Supported Versions

It is recommended to use the latest available version of Tinyauth. This is because it includes security fixes, new features and dependency updates. Older versions, especially major ones, are not supported and won't receive security or patch updates.

Reporting a Vulnerability

Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests as I won't be able to patch them in time and they may get exploited by malicious actors.

Instead, report them privately using GitHub's Private Vulnerability Reporting via the Security tab of this repository.

Or send us an email at security@tinyauth.app.

A note on AI-assisted reports

If AI tooling (LLMs, automated scanners, agentic assistants, etc.) helped you discover, analyse, or write up this issue, please say so in your report. This isn't a judgement - AI-assisted findings are welcome - but disclosing it up front helps maintainers calibrate how much additional verification a report needs, and tends to make the report itself clearer.

When submitting a report, please use the structure below so it can be triaged quickly.


1. Summary

A short, one-paragraph description of the vulnerability and its impact (e.g. what an attacker can achieve, who is affected, and under what conditions).

2. Steps to Reproduce / Proof of Concept

Provide a minimal, reliable reproduction:

  1. Step one
  2. Step two
  3. Step three

Include any required input, payloads, configuration, or code snippets. Attach a PoC script or screenshots where helpful.

3. Expected vs. Actual Behaviour

  • Expected: what should happen
  • Actual: what does happen, and why it's a security issue

4. Suggested Fix or Mitigation (optional)

If you have an idea for how to address the issue, describe it here. A private gist link is welcome but not required.

  • Have you tested this fix? Yes / No
  • If yes, briefly describe how it was tested and what was verified.

What to Expect

  • Acknowledgement within a reasonable timeframe after receiving your report
  • Updates as the issue is investigated and addressed
  • Public credit in the resulting advisory, along with any CVE assigned, unless you'd prefer to stay anonymous

We follow a 90-day coordinated disclosure window: please allow up to 90 days from the date of your report for the issue to be investigated and patched before publicly disclosing it. The publication date - whether earlier if a fix lands sooner, or later if more time is genuinely needed - will be agreed with you in advance.

There aren't any published security advisories

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Overview · by-systems/tinyauth · GitHub
Skip to content

Security: by-systems/tinyauth

SECURITY.md

Security Policy

Supported Versions

It is recommended to use the latest available version of Tinyauth. This is because it includes security fixes, new features and dependency updates. Older versions, especially major ones, are not supported and won't receive security or patch updates.

Reporting a Vulnerability

Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests as I won't be able to patch them in time and they may get exploited by malicious actors.

Instead, report them privately using GitHub's Private Vulnerability Reporting via the Security tab of this repository.

Or send us an email at security@tinyauth.app.

A note on AI-assisted reports

If AI tooling (LLMs, automated scanners, agentic assistants, etc.) helped you discover, analyse, or write up this issue, please say so in your report. This isn't a judgement - AI-assisted findings are welcome - but disclosing it up front helps maintainers calibrate how much additional verification a report needs, and tends to make the report itself clearer.

When submitting a report, please use the structure below so it can be triaged quickly.


1. Summary

A short, one-paragraph description of the vulnerability and its impact (e.g. what an attacker can achieve, who is affected, and under what conditions).

2. Steps to Reproduce / Proof of Concept

Provide a minimal, reliable reproduction:

  1. Step one
  2. Step two
  3. Step three

Include any required input, payloads, configuration, or code snippets. Attach a PoC script or screenshots where helpful.

3. Expected vs. Actual Behaviour

  • Expected: what should happen
  • Actual: what does happen, and why it's a security issue

4. Suggested Fix or Mitigation (optional)

If you have an idea for how to address the issue, describe it here. A private gist link is welcome but not required.

  • Have you tested this fix? Yes / No
  • If yes, briefly describe how it was tested and what was verified.

What to Expect

  • Acknowledgement within a reasonable timeframe after receiving your report
  • Updates as the issue is investigated and addressed
  • Public credit in the resulting advisory, along with any CVE assigned, unless you'd prefer to stay anonymous

We follow a 90-day coordinated disclosure window: please allow up to 90 days from the date of your report for the issue to be investigated and patched before publicly disclosing it. The publication date - whether earlier if a fix lands sooner, or later if more time is genuinely needed - will be agreed with you in advance.

There aren't any published security advisories

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Overview · by-systems/tinyauth · GitHub
Skip to content

Security: by-systems/tinyauth

SECURITY.md

Security Policy

Supported Versions

It is recommended to use the latest available version of Tinyauth. This is because it includes security fixes, new features and dependency updates. Older versions, especially major ones, are not supported and won't receive security or patch updates.

Reporting a Vulnerability

Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests as I won't be able to patch them in time and they may get exploited by malicious actors.

Instead, report them privately using GitHub's Private Vulnerability Reporting via the Security tab of this repository.

Or send us an email at security@tinyauth.app.

A note on AI-assisted reports

If AI tooling (LLMs, automated scanners, agentic assistants, etc.) helped you discover, analyse, or write up this issue, please say so in your report. This isn't a judgement - AI-assisted findings are welcome - but disclosing it up front helps maintainers calibrate how much additional verification a report needs, and tends to make the report itself clearer.

When submitting a report, please use the structure below so it can be triaged quickly.


1. Summary

A short, one-paragraph description of the vulnerability and its impact (e.g. what an attacker can achieve, who is affected, and under what conditions).

2. Steps to Reproduce / Proof of Concept

Provide a minimal, reliable reproduction:

  1. Step one
  2. Step two
  3. Step three

Include any required input, payloads, configuration, or code snippets. Attach a PoC script or screenshots where helpful.

3. Expected vs. Actual Behaviour

  • Expected: what should happen
  • Actual: what does happen, and why it's a security issue

4. Suggested Fix or Mitigation (optional)

If you have an idea for how to address the issue, describe it here. A private gist link is welcome but not required.

  • Have you tested this fix? Yes / No
  • If yes, briefly describe how it was tested and what was verified.

What to Expect

  • Acknowledgement within a reasonable timeframe after receiving your report
  • Updates as the issue is investigated and addressed
  • Public credit in the resulting advisory, along with any CVE assigned, unless you'd prefer to stay anonymous

We follow a 90-day coordinated disclosure window: please allow up to 90 days from the date of your report for the issue to be investigated and patched before publicly disclosing it. The publication date - whether earlier if a fix lands sooner, or later if more time is genuinely needed - will be agreed with you in advance.

There aren't any published security advisories