Undelete365 is a web part that makes your site's recycle bin searchable and restorable — and it contains no code path that can permanently delete anything. That isn't a promise; it's a check the build fails without. Searching is free for everyone; restoring — one file, or an entire incident with Mass Restore — is Pro: €249, once.
The problem
SharePoint's built-in recycle bin can't search or filter. It's one long list, sorted by deletion date — so finding the file someone deleted "sometime last month, I think it had budget in the name" means paging through everything deleted since then, by hand.
Undelete365 puts a search box, filters (name, original location, who deleted it, item type, date), and multi-select restore on top of the same bin — nothing more.
How it works
Mass Restore — Pro
Some deletions aren't one file. SharePoint keeps everything in the recycle bin for 93 days — but the native bin restores one screen of ticked boxes at a time, and nobody is clicking through 18,000 rows. Mass Restore turns the incident into a query: everything deleted by user X, between date A and date B, under path P — with an optional type or name filter. Preview the count. Then restore all of it.
An attacker with one compromised account mass-deletes fourteen libraries at 3 a.m. The files are in the bin. Mass Restore puts back everything that account deleted in that window — and nothing else.
A misconfigured sync client wipes a folder tree — 18,000 files gone before anyone notices. One criteria set, one dry run, one job.
A leaver's cleanup script took shared documents with it. Filter by that account and the date it ran; restore only what it touched.
Every job starts with a preview: how many items match, their total size, how many folders they span. Nothing is restored until you have seen the numbers and confirmed. The preview is mandatory — there is no way to skip it.
Mass Restore pages through the bin and restores in small batches. When SharePoint asks it to slow down — HTTP 429 or 503 with a Retry-After header — it waits exactly as told, backs off with jitter, shrinks its batch size, and continues. Big jobs don't fail. They just take longer.
Close the tab mid-job and nothing is lost. Restored items have already left the bin, so re-running the same criteria picks up exactly where you stopped. The bin itself is the job state. Only the job's criteria and counters sit in your browser's localStorage — never file contents, never anything sent anywhere.
Every item that couldn't be restored — name conflicts, mostly — is listed with the reason and exportable as CSV. Conflicts fail safely: the item stays in the bin, untouched, until you resolve it.
Mass Restore adds zero new endpoints. It's the same three SharePoint calls in the audit table below — the same two reads and one restore — just orchestrated. Those three rows didn't change because the code's reach into SharePoint didn't change; the only row the table gained is the Pro license check, disclosed like everything else.
The safety audit
Every network call the application code makes lives in one file. Here is the complete list — the same table as the README, "destructive?" column intact. Mass Restore added no rows to it; the freemium licensing added exactly one, disclosed below like everything else.
No other endpoint is ever called by the application code. None of SharePoint's recycle-bin removal endpoints (DeleteByIds, EmptyRecycleBin, …) appear anywhere — not in source, not in the compiled bundle, not built from strings.
One request leaves your tenant, and only for Pro: the license check — a POST to license.undelete365.com/validate carrying the product name, your license key, and your tenant hostname. No file names, no content, no user names. The Free tier makes no licensing call at all: nothing leaves your tenant.
Every download includes verify-compiled-package.js — free or Pro — a dependency-free script that checks exactly what you were sent, not what you're asked to trust.
Who it's for
Approve it once in the App Catalog knowing exactly what it can and can't do — the permissions screen and the safety check are your evidence, not our word.
Hand your client's security team the network-call table and the checker script. The justification memo writes itself.
Find the file someone deleted last week and put it back — without opening a ticket or paging through the bin by hand.
Pricing
| Free | Pro — €249 one-time | |
|---|---|---|
| Search & filter by name, location, and item type — both bin stages | ✓ | ✓ |
| Filter by who deleted it, or by a date range | Pro only | ✓ |
| See item name, type, original location, and size | ✓ | ✓ |
| See who deleted it, and exactly when | 🔒 Masked — unlock with Pro | ✓ |
Verifier script (verify-compiled-package.js) included | ✓ | ✓ |
| Multi-select restore with confirmation dialog | — | ✓ |
| Mass Restore — criteria-based restore at scale | — | ✓ |
| Mandatory dry-run preview with counts | — | ✓ |
| Live progress · resumable jobs | — | ✓ |
| Per-item failure report, exportable as CSV | — | ✓ |
| License key required | No | Yes — one per tenant |
| Network requests beyond SharePoint | None | License check only |
undelete365.sppkg + the verifier script) is ready instantly. Pro license keys appear on the confirmation page and arrive by email.No form required. No licensing call.
FAQ
Type part of the name into the search box and Undelete365 filters the recycle bin instantly — no endless scrolling. This is the free tier: it runs the same search engine as Pro across the whole bin and shows each match's name, type, original location, and size. SharePoint's native recycle bin has no search at all, which is exactly the gap this closes.
Yes — that's what Mass Restore is for. You set criteria (a user, a date range, a name pattern), preview the exact matches in a mandatory dry-run, and restore them all in one job. No scripts, no PnP modules, and no "list view threshold exceeded" error: it pages through large bins in batches and adapts whenever SharePoint throttles.
Filter the recycle bin by who deleted the items — optionally within a date range — preview the matches, and restore them in one Mass Restore job. It's the common offboarding case: someone left, their files were deleted, and you need them back before the retention window closes.
93 days total, across both stages — the first-stage (site) recycle bin and then the second-stage (site collection) bin. Undelete365 searches both (the second-stage bin requires site collection admin, which is SharePoint's own rule). Restore anything within that window; this tool is for recovery while items are still in the bin.
No — once the 93-day retention window passes, the items are gone from the recycle bin and no in-tenant tool can bring them back; that's SharePoint's boundary, not ours. Undelete365 is for fast search-and-restore while files are still in the bin. For recovery beyond 93 days you need a backup product that was already capturing your tenant before the deletion happened.
No. €249 once, per tenant. There is no recurring billing, no annual renewal, and no per-seat pricing that grows with your organization — every site collection and every user on that tenant is covered by the same single payment.
No. The application code contains exactly three SharePoint network calls — two reads and one restore. None of SharePoint's removal endpoints appear in the source or the compiled bundle, and the included verify-compiled-package.js checks that against what you actually received. Restoring is itself reversible: re-deleting the item puts it back in the bin.
None to configure. It requests zero API permissions and uses the signed-in user's existing SharePoint session. Users can only see and restore what they could already see and restore in SharePoint's own recycle bin UI.
Finding things — for real, not a demo. The Free tier runs the same search and filter engine as Pro: same accuracy, same result count. It shows the item's name, type, original location, and size in full, so you can confirm it actually found your file. What it masks: who deleted it and exactly when — shown as a lock icon, not the real values — and filtering by deleted-by or by date range is Pro-only. That's deliberate: those two facts are exactly what you'd need to go find the item yourself in SharePoint's native recycle bin, which lists everything in one chronological list. Pro removes the mask and adds one-click and mass restore. Same package either way; a license key is the only difference.
It's built for bins with 100,000+ items. It pages through the bin rather than loading it at once, restores in small batches, and adapts its pace whenever SharePoint throttles (HTTP 429/503 with Retry-After — it waits exactly as instructed). The practical constraint is time, not size: a very large job runs longer, shows live progress, and resumes if you close the tab — re-running the same criteria continues where it stopped, because restored items have already left the bin.
No — and that's the whole point. Mass Restore adds zero new endpoints. It orchestrates the same three SharePoint calls in the audit table: two reads and one restore. Those three rows are unchanged from the day we launched — the only row the table ever gained is the Pro license check — and the verifier in your download still proves it against the exact package you received.
No. Existing customers are Pro automatically — €249 bought everything this product does, including features added later. Your license key arrives by email at your purchase address; Mass Restore is included.
For Pro, exactly one request: the license check. It carries the product name, your license key, and your tenant hostname (for example contoso.sharepoint.com) — never file names, file contents, or user names. A successful check is cached for 7 days, and a network failure gives you a 14-day grace period before Pro features lock. The Free tier doesn't even make that call: nothing leaves your tenant at all.
The package, yes — the Free tier is for everyone; pass it along. Pro features only unlock with a valid license key, which is tied to one tenant and revocable. A shared or revoked key unlocks nothing. Licensing never changes what the app can do or what data it touches — only whether Pro features are available.
That's SharePoint's rule, not ours — the second-stage (site collection) bin is admin-only by design. The web part doesn't elevate anyone: non-admins get a 403 from SharePoint, and the tab is simply hidden for them.
The restore for that item fails safely. Nothing is overwritten; the item stays in the recycle bin, untouched, and the list shows you the reason so you can rename or move the conflicting file first. In Mass Restore, every conflict lands in the failure report, exportable as CSV.
SPFx web parts only run on modern pages. On a classic-only site you can still use it via SharePoint's built-in hosted workbench (/_layouts/15/workbench.aspx) — same permissions model, no extra risk.
There is no refund policy — purchases are final, for this and every HS Services product. A Pro key unlocks the software instantly and irreversibly the moment payment clears, so there's nothing left to reverse afterward. Try Free first: it costs nothing, needs no form, and ships with the same verifier script, so you can confirm exactly what Pro does before you pay for it.