Skip to content

Cinder v0.2.0-dev — full free-RAM overwrite, background service, schedules, icon

Pre-release
Pre-release

Choose a tag to compare

@thepictishbeast thepictishbeast released this 12 Aug 11:25

What changed

Free-RAM overwrite is no longer capped. It used to stop at a small
fraction of what was free — three causes, all fixed:

  • the native scrub gave up at the first refused allocation; it now
    backs off (64 MiB → 256 KiB) and only stops when the allocator refuses
    the smallest chunk,
  • the app sized the job from one stale availMem snapshot minus a fat
    margin; there is no up-front budget now — it re-reads the kernel's live
    MemAvailable between blocks against a keep-free floor,
  • it ran on a plain background thread, so Android's low-memory killer
    reaped it early; it now runs in a foreground service.

Runs in the background. Start a wipe and leave the app — it keeps
going, with a notification showing live progress and a Stop action.

Real feedback. Live bytes, throughput and elapsed time while it runs;
a finishing report with how much was overwritten, why it stopped
(memory ceiling / keep-free floor / stopped), how many blocks it held,
and free RAM and storage before → after.

Scheduled wipes. Daily or weekly, free RAM and/or free space. Timing
is inexact so Android can batch it, the schedule survives a reboot, and a
run is skipped (with the reason recorded) below 30% battery when not
charging.

An actual app icon — an ember on charcoal, drawn as vector XML with
an adaptive icon, a monochrome/themed layer, and a fallback for older
Android.

Why it asks for no storage permission is now explained in the app:
the document picker is the consent step for shredding a file or folder,
and free-space/RAM wiping needs no grant because it writes into Cinder's
own storage and its own memory. The only new prompt is notifications, so
a background wipe stays visible and stoppable.

Command line: cinder dirty-ram --all [--keep-free BYTES].

Honest limits (unchanged)

Overwriting is best-effort on flash — the controller may keep old copies
in remapped cells. A factory reset (crypto-erase) is the only device-wide
guarantee. RAM clears completely on power-off.

Verification

19 tests pass, clippy clean, and the built APK was checked for the icon,
service, receivers and permissions. Not yet run on real hardware —
the build host's emulator does not boot, so the on-device suite still
needs a phone. Debug-signed preview build.