You might be able to get what you want without actually deleting the records. You can add a computed column into the table to say whether the record is valid.
IsValid as (case when getdate() - CreatedAt > 1 then 0 else 1 end)
You can also do this for key fields in the record, so you cannot find them:
_name varchar(255),
name as (case when getdate() - CreatedAt < 1 then _name end)
You can then use a view to access the table:
create vw_Logins as
select name, . . .
from t
where isValid = 1;
Then, at your leisure, you can actually remove the rows if you need to for performance reasons.
EDIT:
You don't actually need a computed column, if you phrase the view as:
create vw_Logins as
select name, . . .
from t
where getdate() - CreatedAt < 1;