@pocket-trash/localizations 0.19.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -298,6 +298,15 @@ export declare const localizations: Readonly<{
298
298
  itemCount: string;
299
299
  matchingItemCount: string;
300
300
  };
301
+ deletion: {
302
+ deleteChoice: string;
303
+ destination: string;
304
+ moveAction: string;
305
+ moveChoice: string;
306
+ moveSummary: string;
307
+ noDestination: string;
308
+ open: string;
309
+ };
301
310
  duplicateWarning: string;
302
311
  edit: {
303
312
  noFields: string;
@@ -1180,6 +1189,15 @@ export declare const localizations: Readonly<{
1180
1189
  itemCount: string;
1181
1190
  matchingItemCount: string;
1182
1191
  };
1192
+ deletion: {
1193
+ deleteChoice: string;
1194
+ destination: string;
1195
+ moveAction: string;
1196
+ moveChoice: string;
1197
+ moveSummary: string;
1198
+ noDestination: string;
1199
+ open: string;
1200
+ };
1183
1201
  duplicateWarning: string;
1184
1202
  edit: {
1185
1203
  noFields: string;
@@ -296,6 +296,15 @@ export declare const enUS: {
296
296
  itemCount: string;
297
297
  matchingItemCount: string;
298
298
  };
299
+ deletion: {
300
+ deleteChoice: string;
301
+ destination: string;
302
+ moveAction: string;
303
+ moveChoice: string;
304
+ moveSummary: string;
305
+ noDestination: string;
306
+ open: string;
307
+ };
299
308
  duplicateWarning: string;
300
309
  edit: {
301
310
  noFields: string;
@@ -296,6 +296,15 @@ export const enUS = {
296
296
  itemCount: "Collection items: {count}",
297
297
  matchingItemCount: "{matching} of {total} collection items",
298
298
  },
299
+ deletion: {
300
+ deleteChoice: "Permanently delete collection and items",
301
+ destination: "Destination collection",
302
+ moveAction: "Move items and delete",
303
+ moveChoice: "Move items, then delete collection",
304
+ moveSummary: "Move {count} items to {destination}.",
305
+ noDestination: "Create another collection before moving items.",
306
+ open: "Delete or archive",
307
+ },
299
308
  duplicateWarning: "Matching products already owned: {count}. Confirm to add another.",
300
309
  edit: {
301
310
  noFields: "There are no collection-specific fields to edit for this item.",
@@ -296,6 +296,15 @@ export declare const esMX: {
296
296
  itemCount: string;
297
297
  matchingItemCount: string;
298
298
  };
299
+ deletion: {
300
+ deleteChoice: string;
301
+ destination: string;
302
+ moveAction: string;
303
+ moveChoice: string;
304
+ moveSummary: string;
305
+ noDestination: string;
306
+ open: string;
307
+ };
299
308
  duplicateWarning: string;
300
309
  edit: {
301
310
  noFields: string;
@@ -296,6 +296,15 @@ export const esMX = {
296
296
  itemCount: "Artículos de la colección: {count}",
297
297
  matchingItemCount: "{matching} de {total} artículos de la colección",
298
298
  },
299
+ deletion: {
300
+ deleteChoice: "",
301
+ destination: "",
302
+ moveAction: "",
303
+ moveChoice: "",
304
+ moveSummary: "",
305
+ noDestination: "",
306
+ open: "",
307
+ },
299
308
  duplicateWarning: "",
300
309
  edit: {
301
310
  noFields: "",
@@ -293,6 +293,15 @@ export type CompleteLocalizationResource = Readonly<{
293
293
  itemCount: string;
294
294
  matchingItemCount: string;
295
295
  };
296
+ deletion: {
297
+ deleteChoice: string;
298
+ destination: string;
299
+ moveAction: string;
300
+ moveChoice: string;
301
+ moveSummary: string;
302
+ noDestination: string;
303
+ open: string;
304
+ };
296
305
  duplicateWarning: string;
297
306
  edit: {
298
307
  noFields: string;
@@ -0,0 +1,153 @@
1
+ ---
2
+ title: Privacy Policy
3
+ effectiveDate: 2026-09-30
4
+ version: 1.0
5
+ ---
6
+
7
+ Pocket Trash is a personal, independently operated, non-commercial hobby project based in Ontario, Canada. This voluntary Privacy Policy explains how Pocket Trash ("we," "us," or "our") collects, uses, discloses, retains, and deletes personal information when you use the Pocket Trash website and related services (the "Service").
8
+
9
+ For privacy questions, complaints, or requests, contact the **Privacy Officer** at [privacy@pocket-trash.app](mailto:privacy@pocket-trash.app).
10
+
11
+ ## Information we collect
12
+
13
+ ### Information you provide
14
+
15
+ We collect information that you provide through the Service, including:
16
+
17
+ - account and profile information received through our authentication provider, such as your account identifier, username, email address, and profile details;
18
+ - settings and preferences associated with your account;
19
+ - collection names, collection-item details, product and catalog contributions, descriptions, tags, and other information you enter;
20
+ - images, resource files, resource metadata, and other material you upload; and
21
+ - messages and information you send when you request support, report content, make a privacy request, or contact us.
22
+
23
+ Do not upload personal information about another person unless you have permission or another lawful basis to do so.
24
+
25
+ ### Information collected when you use the Service
26
+
27
+ We collect technical and activity information needed to operate and protect the Service, including:
28
+
29
+ - authentication and session information;
30
+ - resource download records;
31
+ - server, browser, and application diagnostics;
32
+ - security events and identifiers, which may include a hashed account identifier; and
33
+ - IP address, device, browser, request, and network information processed by our hosting, security, authentication, logging, and content-delivery providers.
34
+
35
+ ### Information stored on your device
36
+
37
+ The Service uses authentication cookies required to keep you signed in. It may store your theme, language, and pen preferences in browser storage.
38
+
39
+ The Service does not currently use advertising or behavioural analytics.
40
+
41
+ ## How we use information
42
+
43
+ We use personal information to:
44
+
45
+ - create and secure accounts;
46
+ - provide collections, catalog features, resources, uploads, downloads, and account settings;
47
+ - show content according to the visibility you select;
48
+ - respond to support, privacy, maker-removal, and content reports;
49
+ - diagnose failures, prevent abuse, and protect users and the Service;
50
+ - comply with legal obligations and apply our Terms of Service; and
51
+ - maintain records needed for security, legal claims, and service administration.
52
+
53
+ We will seek consent when applicable law requires it for a new purpose.
54
+
55
+ ## Public and private content
56
+
57
+ You control the visibility settings that the Service provides for collections, collection items, resources, and related files or images.
58
+
59
+ Other people can view or download content while you mark it public. Changing content to private or deleting it stops normal access through the Service, but cannot recall copies that another person downloaded or copied while it was public.
60
+
61
+ Private content remains available to you and to service providers that process it for us. The operator may access it when needed to provide support, investigate abuse, protect the Service, or comply with law.
62
+
63
+ ## When we disclose information
64
+
65
+ We disclose information to these service providers so they can process it for us:
66
+
67
+ - **Clerk:** authentication, account, and session services;
68
+ - **Neon:** database hosting;
69
+ - **Bunny:** file storage and content delivery;
70
+ - **Axiom:** application logging and diagnostics;
71
+ - **Vercel:** web hosting and delivery;
72
+ - **Cloudflare:** network, security, and delivery services; and
73
+ - **Railway:** application hosting and related infrastructure.
74
+
75
+ We may also disclose information:
76
+
77
+ - when you direct us to make content public;
78
+ - when law, legal process, or a valid government request requires disclosure;
79
+ - when needed to protect a person's safety, investigate fraud or abuse, or defend legal rights; or
80
+ - as part of a reorganization or transfer of the Service, subject to applicable law and appropriate safeguards.
81
+
82
+ We do not sell personal information or share it for cross-context behavioural advertising.
83
+
84
+ ## International processing
85
+
86
+ Pocket Trash and its service providers process personal information outside Canada. Foreign laws may allow courts, law enforcement, or national-security authorities to access information in those locations.
87
+
88
+ Current infrastructure includes Neon in AWS US East; Bunny origin replication in Singapore, Los Angeles, and Stockholm; Axiom in AWS US East; Cloudflare global processing; Vercel global edge processing; and Railway in US East. Clerk manages its own processing locations.
89
+
90
+ ## Retention
91
+
92
+ We keep active account data and private content while your account remains open or until you delete the content. Public content remains available until you change its visibility, delete it, or we remove it. Product and shared catalog contributions may remain after account erasure with account attribution removed.
93
+
94
+ A confirmed erasure request makes the account read-only and cannot be cancelled. We aim to complete active-system erasure within 30 calendar days after identity verification, or sooner where law requires it.
95
+
96
+ The approved retention limits for copies outside active application storage are:
97
+
98
+ - Neon point-in-time history: up to 6 hours;
99
+ - Bunny CDN cache: removed through exact purge, with a 30-day automatic ceiling;
100
+ - Bunny request logs: 3 days with IP anonymization;
101
+ - Axiom events already emitted: 30 days;
102
+ - Cloudflare logs and traces: no more than 7 days;
103
+ - Vercel runtime logs: 1 hour on the current plan;
104
+ - Clerk application logs: 30 days; and
105
+ - Clerk deletion processing: up to 3 days.
106
+
107
+ We keep a minimal erasure receipt containing no raw account ID, email, name, content, or object path. We delete the receipt 30 days after active-system completion and after every provider exception expires. We may retain other information only when law requires it or when the minimum record is needed to protect legal rights.
108
+
109
+ ## Deleting content and accounts
110
+
111
+ You can delete supported content through the Service. You can request complete account erasure from your account settings or by contacting [privacy@pocket-trash.app](mailto:privacy@pocket-trash.app). An authorized administrator can start the same workflow after verifying a request.
112
+
113
+ Once you confirm the request, you cannot cancel it and your account becomes read-only except for the request status page. Pocket Trash deletes account-owned database records, uploaded files, images, download records, pending feedback, and other account-linked active-system data. Pocket Trash then revokes sessions and deletes the Clerk identity last.
114
+
115
+ Pocket Trash preserves shared product, catalog, and taxonomy content that other users rely on only after removing account attribution. Anonymous aggregate counts may also remain. Complete erasure cannot recall copies that another person downloaded while content was public.
116
+
117
+ Provider-managed backup, cache, and log copies expire within the limits listed above. Pocket Trash reports a failure instead of marking the request complete when an active-system deletion or verification check fails.
118
+
119
+ ## Your privacy choices and rights
120
+
121
+ Depending on where you live, you may have the right to:
122
+
123
+ - ask for access to personal information we hold about you;
124
+ - ask us to correct inaccurate information;
125
+ - withdraw consent where we rely on consent;
126
+ - ask us to delete information;
127
+ - object to or restrict certain processing;
128
+ - receive information in a portable form; or
129
+ - complain to a privacy regulator.
130
+
131
+ Send requests to [privacy@pocket-trash.app](mailto:privacy@pocket-trash.app). We may ask for information needed to verify your identity and protect your account. We will respond within the period required by applicable law.
132
+
133
+ You may change content visibility and supported account settings through the Service. You can control browser cookies and storage through your browser, but blocking required authentication storage may prevent sign-in.
134
+
135
+ ## Safeguards
136
+
137
+ We use administrative, technical, and organizational safeguards designed for the nature of the information we hold. These include access controls, managed infrastructure, authentication protections, monitoring, and procedures for deletion and security incidents.
138
+
139
+ No online service can eliminate every security risk. Contact [privacy@pocket-trash.app](mailto:privacy@pocket-trash.app) if you believe your account or information is at risk.
140
+
141
+ ## Children
142
+
143
+ The Service is not directed to children under 13, and we do not knowingly collect their personal information. Contact [privacy@pocket-trash.app](mailto:privacy@pocket-trash.app) if you believe a child under 13 has provided personal information. We will investigate and delete it where required.
144
+
145
+ ## Changes to this Policy
146
+
147
+ We may update this Policy when our practices, providers, or legal obligations change. We will post the updated version with a new effective or last-updated date. When required by applicable law, we will provide additional notice before a material change takes effect.
148
+
149
+ ## Contact and complaints
150
+
151
+ Contact the **Pocket Trash Privacy Officer** at [privacy@pocket-trash.app](mailto:privacy@pocket-trash.app).
152
+
153
+ You may also complain to the privacy regulator with authority where you live. We invite you to contact us first so we can address your concern.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pocket-trash/localizations",
3
- "version": "0.19.0",
3
+ "version": "0.21.0",
4
4
  "description": "Shared localization utilities and message catalogs for Pocket Trash.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -10,11 +10,13 @@
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/index.js"
12
12
  },
13
- "./help/*.mdx": "./help/*.mdx"
13
+ "./help/*.mdx": "./help/*.mdx",
14
+ "./legal/*.mdx": "./legal/*.mdx"
14
15
  },
15
16
  "files": [
16
17
  "dist",
17
- "help"
18
+ "help",
19
+ "legal"
18
20
  ],
19
21
  "repository": {
20
22
  "type": "git",