'Security', 'title' => 'Recognising our real addresses', 'lead' => 'Fraudsters rebuild sign-in pages and send links that look like ours. You can spare yourself all of it by checking one thing: the address in the address bar.', 'domains_title' => 'These domains are ours', 'domains_body' => 'Anything else is not from us — not even when the logo, the colours and the wording are right. A copy takes ten minutes to make.', 'domain_company' => 'Website, customer area and invoices', 'domain_instances' => 'Your cloud itself', 'domains_rule' => "The rule that always holds: whatever stands before the first slash in the address bar must END with one of these domains. “clupilot.com.example.tld” ends with example.tld and belongs to somebody else.", 'hosts_title' => 'Addresses you will actually see', 'host_site' => 'our website', 'host_portal' => 'sign-in and customer area', 'host_status' => 'service status', 'host_instance' => 'your own cloud (your name goes in front)', 'never_title' => 'What we never do', 'never_password' => 'We never ask for your password — not by email, not on the phone, not even when it sounds urgent. We do not know it and do not need it.', 'never_card' => 'We never email you asking to “confirm” or re-enter payment details. Invoices are in your customer area.', 'never_remote' => 'We never ask you out of the blue to install remote-access software or share your screen. If you call us, we discuss it — never the other way round.', 'never_urgency' => 'We do not give you deadlines of a few hours or threaten deletion. Time pressure is the commonest tool in messages like that.', 'compromised_title' => 'Did you enter your password on a page that was not ours?', 'compromised_lead' => 'Then act now, in this order. It is unpleasant, but it is repairable — and the sooner, the more completely.', 'step_change' => 'Change your password', 'step_change_body' => 'Sign in with us — but type the address yourself, do not click a link from an email — and set a new password under Settings.', 'step_change_action' => 'Go to sign-in', 'step_sessions' => 'End every other session', 'step_sessions_body' => 'Under “Signed-in devices” you can see every open session. End all but the current one: whoever had your password is out, even if they were still signed in.', 'step_others' => 'Change the same password elsewhere', 'step_others_body' => 'If you use this password anywhere else, change it there too. Attackers try stolen credentials in turn at email providers and banks.', 'step_tell' => 'Tell us', 'step_tell_body' => 'We will check whether anything happened to your account and can go through the sign-ins with you. We would much rather hear from you once too often.', 'tell_us' => 'Not sure whether a message is genuine? Forward it to us before you click. It costs you two minutes and us nothing.', // The mail from BlockAddress: the address, the time, the number of // attempts and when the block lifts on its own — a warning whose only // advice is "take action" is a warning that names a problem and hands back // nothing to do about it. // // Two versions, because there are two audiences: the keys without a suffix // go to the OWNER of an instance, the `_host` ones to the OPERATORS. An // operator has no portal account, host blocks never appear there, and // "your cloud" is simply wrong for them. 'mail_subject' => 'Address blocked after sign-in attempts', 'mail_heading' => 'An address was blocked', 'mail_preheader' => ':ip was blocked after repeated sign-in attempts.', 'mail_greeting' => 'Hello :name,', 'mail_intro' => 'address :ip made :attempts failed sign-in attempts against your cloud in a short time. We have blocked that address for the time being.', 'field_ip' => 'Address', 'field_when' => 'Blocked since', 'field_attempts' => 'Failed attempts', 'field_expires' => 'Block ends', 'mail_note' => 'The block lifts on its own at the time above — there is nothing you need to do. If this was you, for example a saved password in a sync app that has since changed, you can also lift the block early from the security overview.', 'mail_action' => 'View security overview', // The false alarms that remain, said out loud — otherwise the recipient // decides the warning is wrong and stops reading the next one. 'mail_false_alarm' => 'You will also get this message if a device or application of your own is using an outdated password against your cloud.', // The host version. The host's name is in the subject, in the opening line // AND as its own row in the table: whoever looks after a dozen machines // has to be able to tell from the message itself which one is meant. 'mail_subject_host' => 'Address blocked on host :host', 'mail_heading_host' => 'An address was blocked on a host', 'mail_preheader_host' => ':ip was blocked on host :host after repeated sign-in attempts.', 'mail_intro_host' => 'Address :ip made :attempts failed SSH sign-ins against host :host in a short time. The address has been blocked in that host\'s firewall for the time being.', 'field_host' => 'Host', 'mail_note_host' => 'The block lifts on its own at the time above. It is listed on the host\'s detail page in the console, where it can also be lifted early.', 'mail_action_host' => 'Open host in the console', 'mail_false_alarm_host' => 'Existing connections are untouched — the rule sits below "established,related accept". Anyone already signed in notices nothing.', // Task 6: the security page itself — App\Livewire\Security, the target // behind the 'mail_action' button above and the new portal nav entry. 'blocks_title' => 'Security blocks', 'blocks_lead' => 'Addresses temporarily locked out of your cloud after repeated failed sign-in attempts. You can lift your own block early here — for example after a saved password that turned out to be wrong.', 'blocks_active' => 'Active blocks', 'blocks_empty' => 'No address is currently blocked at your cloud.', 'blocks_history' => 'Past blocks', 'blocks_history_empty' => 'No past blocks yet.', 'col_ip' => 'Address', 'col_blocked' => 'Blocked since', 'col_expires' => 'Expires', 'col_attempts' => 'Failed attempts', 'col_status' => 'Status', 'col_actions' => 'Action', 'status_released' => 'Lifted', 'status_expired' => 'Expired', 'release' => 'Lift', 'release_title' => 'Lift this block?', 'release_body' => 'Address :ip will be allowed through again immediately. Only lift a block if you are sure the sign-in attempts were your own.', 'release_confirm' => 'Lift', 'blocks_released' => 'Block lifted.', 'blocks_released_pending' => 'Block lifted. The server is not reachable right now — the address will be allowed through as soon as it answers again.', ];