Privacy

Table of Content

Table of Content

Table of Content

ES6+ Features

ECMAScript 6 (ES6) and later versions introduced powerful features that improve JavaScript readability, maintainability, and efficiency. This section covers the most important additions.

This Privacy Policy describes how Alevio ("we," "our," or "us"), founded and led by Felix Danyluk (CEO and Founder), collects, uses, and discloses your information when you use our application, website, and services (collectively, the "Service").

Important:

Alevio is designed as a privacy-first application. All your personal data is stored locally on your device and is not transferred to our servers unless you explicitly activate cloud functions.

1. Information We Collect

Alevio operates primarily as a local application.
The information stored includes:

  • Personal information: name and preferences (stored locally only).

  • Usage data: daily responses and insights (stored locally only).

  • Device information: app preferences and settings (stored locally only).

  • AI Chat data: when using AI features, conversation history is stored locally on your device.

  • Image data: when using vision features, uploaded images are processed locally and may be temporarily stored for AI analysis.

  • Generated images: DALL-E generated images are saved locally on your device for display purposes.

  • Usage limits: daily usage tracking for cloud models and image generation is stored locally to enforce fair usage policies.

2. How We Use Your Information

We use the information we collect to:

  • Provide and maintain our Service

  • Improve and personalize your experience

  • Communicate with you about updates and features

  • Ensure the security and integrity of our Service

3. Data Storage and Security

Your data is stored locally on your device using secure, industry-standard encryption. We do not have access to your personal information unless you explicitly choose to share it through cloud features.

4. Third-Party Services

Alevio may integrate with third-party AI services for enhanced functionality. When using these features, only the necessary data is transmitted to provide the service. We carefully select partners who share our commitment to privacy.

  • Cloud Services: When you use cloud-based AI models (such as GPT-4o, Claude, or other cloud providers), your messages and uploaded images are sent to these services for processing. We use secure API connections and do not store your data on our servers.

  • Image Generation: When using DALL-E image generation, your text prompts are sent to OpenAI's servers to generate images. Generated images are returned to your device and stored locally.

  • Web Search: When using web search features, your search queries are sent to our search partners to retrieve relevant information. Search results are processed and returned to your device.

  • Apple Shortcuts: When using Apple Shortcuts integration, your device's Shortcuts app may access Alevio through URL schemes. This integration is handled entirely by your device's operating system.

5. Your Rights

You have the right to:

  • Access your personal data stored on your device

  • Delete your data at any time through the app settings

  • Opt out of cloud features and keep all data local

  • Contact us with any privacy concerns

6. Changes to This Policy

We may update this Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page and updating the "Last Updated" date.

7. Contact Us

If you have any questions about this Privacy Policy or our privacy practices, please contact us at:

privacy.alevio@gmail.com

Let and Const (Block-Scoped Variables)

ES6 introduced let and const to replace var.

  • let allows reassigning values but is block-scoped.

  • const prevents reassignment and is also block-scoped.

let name = "Alice";
name = "Bob"; // Allowed
  
const age = 30;
age = 31; // Error: Assignment to constant variable

Block Scope Example

if (true) {
  let x = 10;
  console.log(x); // 10
}
console.log(x); // Error: x is not defined

Template Literals (String Interpolation)

Template literals use backticks (`) and allow embedding expressions using ${}.

let user = "Alice";
console.log(`Hello, ${user}!`); // Outputs: Hello, Alice!

Multiline strings are also possible:

let message = `This is
a multiline
string.`;
console.log(message);

Arrow Functions

Arrow functions provide a concise syntax for defining functions.

const add = (a, b) => a + b;
console.log(add(5, 3)); // Outputs: 8

If there’s only one parameter, parentheses can be omitted:

const greet = name => `Hello, ${name}`;
console.log(greet("Alice"));

Arrow functions do not have their own this binding, which makes them useful in certain contexts like callbacks.

Destructuring Assignment

Destructuring simplifies extracting values from arrays and objects.

Array Destructuring

let colors = ["red", "green", "blue"];
let [first, second] = colors;
console.log(first, second); // Outputs: red green

Skipping elements:

let [, , third] = colors;
console.log(third); // Outputs: blue

Object Destructuring

let person = { name: "Alice", age: 25 };
let { name, age } = person;
console.log(name, age); // Outputs: Alice 25

Renaming variables:

let { name: fullName } = person;
console.log(fullName); // Outputs: Alice

Rest Operator

Used in function parameters to collect multiple arguments.

function sum(...numbers) {
    return numbers.reduce((acc, num) => acc + num, 0);
  }
console.log(sum(1, 2, 3, 4)); // Outputs: 10

Default Parameters

Functions can have default values for parameters.

function greet(name = "Guest") {
  console.log(`Hello, ${name}`);
}
greet(); // Outputs: Hello, Guest
greet("Alice"); // Outputs: Hello, Alice

Modules (Import/Export)

ES6 introduced modules for better code organization.

Exporting a Module

// math.js
export function add(a, b) {
     return a + b;
}
  
export const PI = 3.14;

Importing a Module

// main.js
import { add, PI } from "./math.js";
console.log(add(2, 3)); // Outputs: 5
console.log(PI); // Outputs: 3.14

For default exports:

// message.js
export default function message() {
  console.log("This is a default export");
}
  
// main.js
import msg from "./message.js";
msg();

Promises (Asynchronous JavaScript)

Promises simplify handling asynchronous operations.

let fetchData = new Promise((resolve, reject) => {
  setTimeout(() => resolve("Data loaded"), 2000);
});
  
fetchData.then(result => console.log(result)); // Outputs after 2 seconds: Data loaded

Handling errors:

fetchData
  .then(result => console.log(result))
  .catch(error => console.log(error));

Async/Await

async functions work with await to simplify promises.

async function fetchData() {
  return "Data received";
}
  
fetchData().then(data => console.log(data));

Using await inside an async function:

async function fetchUser() {
  let response = await fetch("https://jsonplaceholder.typicode.com/users/1");
  let user = await response.json();
  console.log(user);
}
  
fetchUser();

Conclusion

ES6+ features improve JavaScript's efficiency, readability, and maintainability. The next section will explore asynchronous JavaScript, covering callbacks, promises, and async/await in detail.

Create a free website with Framer, the website builder loved by startups, designers and agencies.