NagaYu commited on
Commit
ebabe0d
·
verified ·
1 Parent(s): 7dbbb37

Replace template index.html

Browse files
Files changed (1) hide show
  1. index.html +87 -17
index.html CHANGED
@@ -1,19 +1,89 @@
1
  <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
  <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Sludge — deceptive design patterns in UI trees</title>
7
+ <meta name="description" content="Detect deceptive design patterns in a UI tree and see which provisions they may implicate. Runs entirely in your browser. Not a legality determination.">
8
+ <link rel="stylesheet" href="style.css">
9
+ <script src="https://cdn.jsdelivr.net/npm/onnxruntime-web@1.19.2/dist/ort.min.js"></script>
10
+ </head>
11
+ <body>
12
+ <div class="wrap">
13
+
14
+ <header>
15
+ <h1>Sludge<span class="dot">.</span></h1>
16
+ <p class="tagline">Deceptive design patterns in <strong>UI trees</strong>, mapped to the
17
+ provisions they may implicate — running entirely in your browser.</p>
18
+ </header>
19
+
20
+ <div class="banner">
21
+ <strong>Sludge does not determine legality.</strong>
22
+ <p>It reports provisions that <em>may</em> be implicated and the screen elements that are the
23
+ factual basis for looking at them. Whether a provision is actually engaged depends on facts
24
+ no UI tree contains — purposes, legal basis, audience, the rest of the journey, prior
25
+ consent, sector rules — and is an assessment for a qualified human.</p>
26
+ <p>There is no feature here that labels a named company's product unlawful, and there will not
27
+ be one. This is a tool for reviewing interfaces, not for publishing verdicts about them.</p>
28
+ <p><strong>Nothing you paste leaves this page.</strong> The model runs locally in your browser;
29
+ there is no server to send it to. It is a 48&nbsp;MB one-time download, cached afterwards —
30
+ full precision, because int8 quantisation was measured to flip about a quarter of this
31
+ model's decisions.</p>
32
+ </div>
33
+
34
+ <div class="grid">
35
+ <div class="card">
36
+ <label class="fld" for="input">UI tree (JSON) or HTML fragment</label>
37
+ <textarea id="input" spellcheck="false" placeholder="Paste a UI tree as JSON, or an HTML fragment — or press “Load example” to generate a counterfactual pair."></textarea>
38
+ <button id="run" disabled>Analyse</button>
39
+ <div class="status" id="status">starting…</div>
40
+ <div class="bar"><i id="bar"></i></div>
41
+ </div>
42
+
43
+ <div class="card">
44
+ <label class="fld" for="profile">Profile — what a false positive costs you</label>
45
+ <select id="profile">
46
+ <option value="triage">triage — sweep broadly, tolerate false positives</option>
47
+ <option value="review" selected>review — balanced, for a design review</option>
48
+ <option value="audit">audit — only what it is confident of</option>
49
+ </select>
50
+
51
+ <label class="fld" for="juris">Jurisdiction — the provision table</label>
52
+ <select id="juris"></select>
53
+
54
+ <label class="fld" for="tpl">Load a counterfactual example</label>
55
+ <div class="row">
56
+ <select id="tpl"></select>
57
+ <select id="pat"></select>
58
+ </div>
59
+ <button id="load" class="secondary">Load example</button>
60
+ <div id="exnote" class="status"></div>
61
+ </div>
62
+ </div>
63
+
64
+ <div class="tabs" role="tablist">
65
+ <button role="tab" aria-selected="true" data-panel="p-find">Elements flagged</button>
66
+ <button role="tab" aria-selected="false" data-panel="p-prov">Provisions that may be implicated</button>
67
+ <button role="tab" aria-selected="false" data-panel="p-fix">What to change</button>
68
+ <button role="tab" aria-selected="false" data-panel="p-tax">Taxonomy</button>
69
+ <button role="tab" aria-selected="false" data-panel="p-json">JSON</button>
70
+ </div>
71
+
72
+ <section role="tabpanel" id="p-find"><div class="empty">Paste a tree, or load an example.</div></section>
73
+ <section role="tabpanel" id="p-prov" class="hidden"></section>
74
+ <section role="tabpanel" id="p-fix" class="hidden"></section>
75
+ <section role="tabpanel" id="p-tax" class="hidden"></section>
76
+ <section role="tabpanel" id="p-json" class="hidden"></section>
77
+
78
+ <footer>
79
+ <p><strong>Sludge does not determine legality.</strong> Findings are pointers for a human to
80
+ assess, never findings of breach. A quiet report is not a clean bill of health — it means
81
+ nothing crossed the threshold the chosen profile fixes.</p>
82
+ <p id="about"></p>
83
+ <p>Apache-2.0 · the provision tables are configuration, not legal advice.</p>
84
+ </footer>
85
+
86
+ </div>
87
+ <script type="module" src="app.js"></script>
88
+ </body>
89
  </html>