SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
HOW TO ADD END TO END
ENCRYPTION TO YOUR REACT APP
// @IronCoreLabs @cipher_sift
Show of hands…
// @IronCoreLabs @cipher_sift
ENCRYPTION
// @IronCoreLabs @cipher_sift
HTTPS
// @IronCoreLabs @cipher_sift
DATA STORE ENCRYPTION
// @IronCoreLabs @cipher_sift
Loss of Data
Control
Encryption in Transit + Encryption at Rest
≠ End to End Encryption
// @IronCoreLabs @cipher_sift
DON’T GET
ZUCKED
// @IronCoreLabs @cipher_sift
END-TO-END ENCRYPTION
If your application is not using

end-to-end encryption 

it is not private or secure.
Concept
Code
Groups
Concept
Code
Groups
// @IronCoreLabs @cipher_sift
Data
INTEGRATE AT THE DATA SEAM
// @IronCoreLabs @cipher_sift
REDUX
// @IronCoreLabs @cipher_sift
REDUX
Middleware
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
import * as IronWeb from "@ironcorelabs/ironweb";
const encryptionMiddleware = () => (next) => (action) => {
if (action.type === “ADD_BLOOD_TEST") {
return encryptBloodTest(next, action, group.id);
}
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === "GET_BLOOD_TEST") {
if (action.payload.encrypted) {
return decryptBloodTest(next, action);
}
return next(action);
}
next(action);
};
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
import * as IronWeb from "@ironcorelabs/ironweb";
const encryptionMiddleware = () => (next) => (action) => {
if (action.type === “ADD_BLOOD_TEST") {
return encryptBloodTest(next, action, group.id);
}
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === "GET_BLOOD_TEST") {
if (action.payload.encrypted) {
return decryptBloodTest(next, action);
}
return next(action);
}
next(action);
};
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
import * as IronWeb from "@ironcorelabs/ironweb";
const encryptionMiddleware = () => (next) => (action) => {
if (action.type === “ADD_BLOOD_TEST") {
return encryptBloodTest(next, action, group.id);
}
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === "GET_BLOOD_TEST") {
if (action.payload.encrypted) {
return decryptBloodTest(next, action);
}
return next(action);
}
next(action);
};
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
import * as IronWeb from "@ironcorelabs/ironweb";
const encryptionMiddleware = () => (next) => (action) => {
if (action.type === “ADD_BLOOD_TEST") {
return encryptBloodTest(next, action, group.id);
}
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === "GET_BLOOD_TEST") {
if (action.payload.encrypted) {
return decryptBloodTest(next, action);
}
return next(action);
}
next(action);
};
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
import * as IronWeb from "@ironcorelabs/ironweb";
const encryptionMiddleware = () => (next) => (action) => {
if (action.type === “ADD_BLOOD_TEST") {
return encryptBloodTest(next, action, group.id);
}
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === "GET_BLOOD_TEST") {
if (action.payload.encrypted) {
return decryptBloodTest(next, action);
}
return next(action);
}
next(action);
};
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === “GET_BLOOD_TEST”) {
return decryptBloodTest(next, action);
}
next(action);
};
function encryptBloodTest(next, action, hospital) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: hospital }]
}
})
.then((encryptedDoc) => {
next({...action,
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === “GET_BLOOD_TEST”) {
return decryptBloodTest(next, action);
}
next(action);
};
function encryptBloodTest(next, action, hospital) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: hospital }]
}
})
.then((encryptedDoc) => {
next({...action,
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === “GET_BLOOD_TEST”) {
return decryptBloodTest(next, action);
}
next(action);
};
function encryptBloodTest(next, action, hospital) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: hospital }]
}
})
.then((encryptedDoc) => {
next({...action,
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === “GET_BLOOD_TEST”) {
return decryptBloodTest(next, action);
}
next(action);
};
function encryptBloodTest(next, action, hospital) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: hospital }]
}
})
.then((encryptedDoc) => {
next({...action,
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
next(action);
};
const decryptionMiddleware = () => (next) => (action) => {
if (action.type === “GET_BLOOD_TEST”) {
return decryptBloodTest(next, action);
}
next(action);
};
function encryptBloodTest(next, action, hospital) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: hospital }]
}
})
.then((encryptedDoc) => {
next({...action,
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
function encryptBloodTest(next, action, hospital) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: hospital }]
}
})
.then((encryptedDoc) => {
next({...action,
payload: { ...action.payload,
body: encryptedDoc.document,
id: encryptedDoc.documentID,
encrypted: true
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
function encryptBloodTest(next, action, hospital) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: personalHealthInfoID }]
}
})
.then((encryptedDoc) => {
next({...action,
payload: { ...action.payload,
body: encryptedDoc.document,
id: encryptedDoc.documentID,
encrypted: true
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
function encryptBloodTest(next, action, hospitalID) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: hospitalID }]
}
})
.then((encryptedDoc) => {
next({...action,
payload: { ...action.payload,
body: encryptedDoc.document,
id: encryptedDoc.documentID,
encrypted: true
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
function encryptBloodTest(next, action, hospitalID) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: hospitalID }]
}
})
.then((encryptedBloodTest) => {
next({...action,
payload: { ...action.payload,
body: encryptedBloodTest.document,
id: encryptedBloodTest.documentID,
encrypted: true
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
function encryptBloodTest(next, action, hospitalID) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: hospitalID }]
}
})
.then((encryptedDoc) => {
next({...action,
payload: { ...action.payload,
body: encryptedDoc.document,
id: encryptedDoc.documentID,
encrypted: true
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
.catch(() => {…});
}
function decryptBloodTest(next, action) {
IronWeb.document.decrypt(action.payload.id, action.payload.body)
.then((bloodTest) => {
next({
…action,
payload: {
…action.payload,
body: IronWeb.codec.utf8.fromBytes(bloodTest.data)
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
.catch(() => {…});
}
function decryptBloodTest(next, action) {
IronWeb.document.decrypt(action.payload.id, action.payload.body)
.then((bloodTest) => {
next({
...action,
payload: {
…action.payload,
body: IronWeb.codec.utf8.fromBytes(bloodTest.data)
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
.catch(() => {…});
}
function decryptBloodTest(next, action) {
IronWeb.document.decrypt(action.payload.id, action.payload.body)
.then((bloodTest) => {
next({
...action,
payload: {
…action.payload,
body: IronWeb.codec.utf8.fromBytes(bloodTest.data)
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
.catch(() => {…});
}
function decryptBloodTest(next, action) {
IronWeb.document.decrypt(action.payload.id, action.payload.body)
.then((bloodTest) => {
next({
...action,
payload: {
…action.payload,
body: IronWeb.codec.utf8.fromBytes(bloodTest.data)
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
.catch(() => {…});
}
function decryptBloodTest(next, action) {
IronWeb.document.decrypt(action.payload.id, action.payload.body)
.then((bloodTest) => {
next({
...action,
payload: {
…action.payload,
body: IronWeb.codec.utf8.fromBytes(bloodTest.data)
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
.catch(() => {…});
}
function decryptBloodTest(next, action) {
IronWeb.document.decrypt(action.payload.id, action.payload.body)
.then((bloodTest) => {
next({
...action,
payload: {
…action.payload,
body: IronWeb.codec.utf8.fromBytes(bloodTest.data)
},
});
})
.catch(() => {...});
}
1
2
Middleware
Encryption
Decryption
3
// @IronCoreLabs @cipher_sift
…BONUS
// @IronCoreLabs @cipher_sift
IronCoreMiddleware.js
function encryptNewOrder(next, action, hospital) {
return IronWeb.document.encrypt(IronWeb.codec.utf8.toBytes(action.payload.body), {
accessList: {
groups: [{ id: personalHealthInfoID }]
}
})
.then((encryptedDoc) => {
next({...action,
payload: { ...action.payload,
body: encryptedDoc.document,
id: encryptedDoc.documentID,
encrypted: true
},
});
})
.catch(() => {...});
}
// @IronCoreLabs @cipher_sift
Group
Access
Encrypt
// @IronCoreLabs @cipher_sift
Personal
Health
Info
Group
// @IronCoreLabs @cipher_sift
Group
Hospital
Personal
Health
Info
// @IronCoreLabs @cipher_sift
Group
Hospital
Personal
Health
Info
Dr.,
Nurse,
Lab,
Insurance Company,
Blood Type Search Index (1x)
{
// @IronCoreLabs @cipher_sift
Group
Hospital
Dr.,
Nurse,
Lab,
Insurance Company,
Blood Type Search Index (1x)
{
Personal
Health
Info
// @IronCoreLabs @cipher_sift
Orthogonal
Access Control
// @IronCoreLabs @cipher_sift
Data control:
Data control is the ability for a data owner
to determine who can use their data, see how
it's used and by whom, and to change their
mind and revoke their access at any time,
regardless of where the data is stored.
If your application is not using

end-to-end encryption 

it is not private or secure.

Implement data control

for who, how, and revocation.
// @IronCoreLabs @cipher_sift
Questions?
IronCoreLabs
@ironcorelabs
madison-kerndt
@cipher_sift
ironcorelabs.com madison@ironcorelabs.com
// @IronCoreLabs @cipher_sift
Thank you!
IronCoreLabs
@ironcorelabs
madison-kerndt
@cipher_sift
ironcorelabs.com madison@ironcorelabs.com

Más contenido relacionado

La actualidad más candente

Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Richard Bullington-McGuire
 
Pediatric Rehabilitation Medicine
Pediatric Rehabilitation MedicinePediatric Rehabilitation Medicine
Pediatric Rehabilitation Medicinemcorreamd
 
Physiotherapy assessment in fracture and dislocation edited
Physiotherapy assessment in fracture and dislocation editedPhysiotherapy assessment in fracture and dislocation edited
Physiotherapy assessment in fracture and dislocation editednorhayati80
 
Enteric Fever in Pediatrics ( Typhoid ) Dr Padmesh
Enteric Fever in Pediatrics ( Typhoid )   Dr PadmeshEnteric Fever in Pediatrics ( Typhoid )   Dr Padmesh
Enteric Fever in Pediatrics ( Typhoid ) Dr PadmeshDr Padmesh Vadakepat
 
Respiratory disorders in children
Respiratory disorders in childrenRespiratory disorders in children
Respiratory disorders in childrenspecialclass
 
Secure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azurekloia
 
Neonatal seizures recent advances
Neonatal seizures recent advances Neonatal seizures recent advances
Neonatal seizures recent advances mandar haval
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoLuciano Moreira da Cruz
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation JourneyDevOps Indonesia
 
Arthrogryposis Multiplex Congenita
Arthrogryposis Multiplex CongenitaArthrogryposis Multiplex Congenita
Arthrogryposis Multiplex CongenitaDr. Rima Jani (PT)
 
CONGENITAL TALIPES EQUINO VARUS (CTEV)
CONGENITAL TALIPES EQUINO VARUS (CTEV)CONGENITAL TALIPES EQUINO VARUS (CTEV)
CONGENITAL TALIPES EQUINO VARUS (CTEV)Ashish kumar Sharma
 
DevSecOps in Baby Steps
DevSecOps in Baby StepsDevSecOps in Baby Steps
DevSecOps in Baby StepsPriyanka Aash
 
Respiratory infection in children
Respiratory infection in childrenRespiratory infection in children
Respiratory infection in childrenVarsha Shah
 
Therapeutic management of knee osteoarthritis; physiotherap case study
Therapeutic management of knee osteoarthritis; physiotherap case studyTherapeutic management of knee osteoarthritis; physiotherap case study
Therapeutic management of knee osteoarthritis; physiotherap case studyenweluntaobed
 

La actualidad más candente (20)

Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
 
Pediatric Rehabilitation Medicine
Pediatric Rehabilitation MedicinePediatric Rehabilitation Medicine
Pediatric Rehabilitation Medicine
 
NEC in newborn
NEC in newbornNEC in newborn
NEC in newborn
 
Physiotherapy assessment in fracture and dislocation edited
Physiotherapy assessment in fracture and dislocation editedPhysiotherapy assessment in fracture and dislocation edited
Physiotherapy assessment in fracture and dislocation edited
 
Enteric Fever in Pediatrics ( Typhoid ) Dr Padmesh
Enteric Fever in Pediatrics ( Typhoid )   Dr PadmeshEnteric Fever in Pediatrics ( Typhoid )   Dr Padmesh
Enteric Fever in Pediatrics ( Typhoid ) Dr Padmesh
 
Respiratory disorders in children
Respiratory disorders in childrenRespiratory disorders in children
Respiratory disorders in children
 
Sensory diet by Myola D'Sa
Sensory diet by Myola D'SaSensory diet by Myola D'Sa
Sensory diet by Myola D'Sa
 
Secure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in AzureSecure Your Code Implement DevSecOps in Azure
Secure Your Code Implement DevSecOps in Azure
 
Neonatal seizures recent advances
Neonatal seizures recent advances Neonatal seizures recent advances
Neonatal seizures recent advances
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivo
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
Arthrogryposis Multiplex Congenita
Arthrogryposis Multiplex CongenitaArthrogryposis Multiplex Congenita
Arthrogryposis Multiplex Congenita
 
Technology in the Physical Therapy World
Technology in the Physical Therapy World Technology in the Physical Therapy World
Technology in the Physical Therapy World
 
Neonatal Cardiology
Neonatal CardiologyNeonatal Cardiology
Neonatal Cardiology
 
CONGENITAL TALIPES EQUINO VARUS (CTEV)
CONGENITAL TALIPES EQUINO VARUS (CTEV)CONGENITAL TALIPES EQUINO VARUS (CTEV)
CONGENITAL TALIPES EQUINO VARUS (CTEV)
 
DevSecOps in Baby Steps
DevSecOps in Baby StepsDevSecOps in Baby Steps
DevSecOps in Baby Steps
 
P tin appedectomy& hernia
P tin appedectomy& herniaP tin appedectomy& hernia
P tin appedectomy& hernia
 
Respiratory infection in children
Respiratory infection in childrenRespiratory infection in children
Respiratory infection in children
 
Therapeutic management of knee osteoarthritis; physiotherap case study
Therapeutic management of knee osteoarthritis; physiotherap case studyTherapeutic management of knee osteoarthritis; physiotherap case study
Therapeutic management of knee osteoarthritis; physiotherap case study
 
Cerebral Palsy
Cerebral PalsyCerebral Palsy
Cerebral Palsy
 

Similar a How to Add End-to-End Encryption to Your React App

Automated malware analysis
Automated malware analysisAutomated malware analysis
Automated malware analysisIbrahim Baliç
 
IstSec'14 - İbrahim BALİÇ - Automated Malware Analysis
IstSec'14 - İbrahim BALİÇ -  Automated Malware AnalysisIstSec'14 - İbrahim BALİÇ -  Automated Malware Analysis
IstSec'14 - İbrahim BALİÇ - Automated Malware AnalysisBGA Cyber Security
 
JS Fest 2019 Node.js Antipatterns
JS Fest 2019 Node.js AntipatternsJS Fest 2019 Node.js Antipatterns
JS Fest 2019 Node.js AntipatternsTimur Shemsedinov
 
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...apidays
 
Terrastore - A document database for developers
Terrastore - A document database for developersTerrastore - A document database for developers
Terrastore - A document database for developersSergio Bossa
 
node.js and the AR.Drone: building a real-time dashboard using socket.io
node.js and the AR.Drone: building a real-time dashboard using socket.ionode.js and the AR.Drone: building a real-time dashboard using socket.io
node.js and the AR.Drone: building a real-time dashboard using socket.ioSteven Beeckman
 
Developing web-apps like it's 2013
Developing web-apps like it's 2013Developing web-apps like it's 2013
Developing web-apps like it's 2013Laurent_VB
 
async/await in Swift
async/await in Swiftasync/await in Swift
async/await in SwiftPeter Friese
 
Codestrong 2012 breakout session hacking titanium
Codestrong 2012 breakout session   hacking titaniumCodestrong 2012 breakout session   hacking titanium
Codestrong 2012 breakout session hacking titaniumAxway Appcelerator
 
Lviv MDDay 2014. Ігор Коробка “забезпечення базової безпеки в андроїд аплікац...
Lviv MDDay 2014. Ігор Коробка “забезпечення базової безпеки в андроїд аплікац...Lviv MDDay 2014. Ігор Коробка “забезпечення базової безпеки в андроїд аплікац...
Lviv MDDay 2014. Ігор Коробка “забезпечення базової безпеки в андроїд аплікац...Lviv Startup Club
 
Android Automated Testing
Android Automated TestingAndroid Automated Testing
Android Automated Testingroisagiv
 
Secure Coding For Java - Une introduction
Secure Coding For Java - Une introductionSecure Coding For Java - Une introduction
Secure Coding For Java - Une introductionSebastien Gioria
 
Server side data sync for mobile apps with silex
Server side data sync for mobile apps with silexServer side data sync for mobile apps with silex
Server side data sync for mobile apps with silexMichele Orselli
 
power-assert, mechanism and philosophy
power-assert, mechanism and philosophypower-assert, mechanism and philosophy
power-assert, mechanism and philosophyTakuto Wada
 
CouchDB on Android
CouchDB on AndroidCouchDB on Android
CouchDB on AndroidSven Haiges
 

Similar a How to Add End-to-End Encryption to Your React App (20)

Automated malware analysis
Automated malware analysisAutomated malware analysis
Automated malware analysis
 
Intro to Parse
Intro to ParseIntro to Parse
Intro to Parse
 
IstSec'14 - İbrahim BALİÇ - Automated Malware Analysis
IstSec'14 - İbrahim BALİÇ -  Automated Malware AnalysisIstSec'14 - İbrahim BALİÇ -  Automated Malware Analysis
IstSec'14 - İbrahim BALİÇ - Automated Malware Analysis
 
Nantes Jug - Java 7
Nantes Jug - Java 7Nantes Jug - Java 7
Nantes Jug - Java 7
 
JS Fest 2019 Node.js Antipatterns
JS Fest 2019 Node.js AntipatternsJS Fest 2019 Node.js Antipatterns
JS Fest 2019 Node.js Antipatterns
 
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
 
Terrastore - A document database for developers
Terrastore - A document database for developersTerrastore - A document database for developers
Terrastore - A document database for developers
 
node.js and the AR.Drone: building a real-time dashboard using socket.io
node.js and the AR.Drone: building a real-time dashboard using socket.ionode.js and the AR.Drone: building a real-time dashboard using socket.io
node.js and the AR.Drone: building a real-time dashboard using socket.io
 
Developing web-apps like it's 2013
Developing web-apps like it's 2013Developing web-apps like it's 2013
Developing web-apps like it's 2013
 
async/await in Swift
async/await in Swiftasync/await in Swift
async/await in Swift
 
Codestrong 2012 breakout session hacking titanium
Codestrong 2012 breakout session   hacking titaniumCodestrong 2012 breakout session   hacking titanium
Codestrong 2012 breakout session hacking titanium
 
Lviv MDDay 2014. Ігор Коробка “забезпечення базової безпеки в андроїд аплікац...
Lviv MDDay 2014. Ігор Коробка “забезпечення базової безпеки в андроїд аплікац...Lviv MDDay 2014. Ігор Коробка “забезпечення базової безпеки в андроїд аплікац...
Lviv MDDay 2014. Ігор Коробка “забезпечення базової безпеки в андроїд аплікац...
 
Reduxing like a pro
Reduxing like a proReduxing like a pro
Reduxing like a pro
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
Android Automated Testing
Android Automated TestingAndroid Automated Testing
Android Automated Testing
 
Secure Coding For Java - Une introduction
Secure Coding For Java - Une introductionSecure Coding For Java - Une introduction
Secure Coding For Java - Une introduction
 
Server side data sync for mobile apps with silex
Server side data sync for mobile apps with silexServer side data sync for mobile apps with silex
Server side data sync for mobile apps with silex
 
Coding Ajax
Coding AjaxCoding Ajax
Coding Ajax
 
power-assert, mechanism and philosophy
power-assert, mechanism and philosophypower-assert, mechanism and philosophy
power-assert, mechanism and philosophy
 
CouchDB on Android
CouchDB on AndroidCouchDB on Android
CouchDB on Android
 

Más de IronCore Labs

Rethinking the Enterprise Perimeter | SnowFROC Presentation
Rethinking the Enterprise Perimeter | SnowFROC PresentationRethinking the Enterprise Perimeter | SnowFROC Presentation
Rethinking the Enterprise Perimeter | SnowFROC PresentationIronCore Labs
 
How to Eat the Privacy and Security Elephant One Bite at a Time
How to Eat the Privacy and Security Elephant One Bite at a TimeHow to Eat the Privacy and Security Elephant One Bite at a Time
How to Eat the Privacy and Security Elephant One Bite at a TimeIronCore Labs
 
CCPA: What You Need to Know
CCPA: What You Need to KnowCCPA: What You Need to Know
CCPA: What You Need to KnowIronCore Labs
 
How to Add Data Privacy to Your Angular Application
How to Add Data Privacy to Your Angular ApplicationHow to Add Data Privacy to Your Angular Application
How to Add Data Privacy to Your Angular ApplicationIronCore Labs
 
Pairing Based Transform Cryptography (Proxy Re-Encryption - PRE)
Pairing Based Transform Cryptography (Proxy Re-Encryption - PRE)Pairing Based Transform Cryptography (Proxy Re-Encryption - PRE)
Pairing Based Transform Cryptography (Proxy Re-Encryption - PRE)IronCore Labs
 
The Internet is a dog-eat-dog world and your app is clad in Milk Bone underwear
The Internet is a dog-eat-dog world and your app is clad in Milk Bone underwearThe Internet is a dog-eat-dog world and your app is clad in Milk Bone underwear
The Internet is a dog-eat-dog world and your app is clad in Milk Bone underwearIronCore Labs
 
2018 acm-scc-presentation
2018 acm-scc-presentation2018 acm-scc-presentation
2018 acm-scc-presentationIronCore Labs
 

Más de IronCore Labs (7)

Rethinking the Enterprise Perimeter | SnowFROC Presentation
Rethinking the Enterprise Perimeter | SnowFROC PresentationRethinking the Enterprise Perimeter | SnowFROC Presentation
Rethinking the Enterprise Perimeter | SnowFROC Presentation
 
How to Eat the Privacy and Security Elephant One Bite at a Time
How to Eat the Privacy and Security Elephant One Bite at a TimeHow to Eat the Privacy and Security Elephant One Bite at a Time
How to Eat the Privacy and Security Elephant One Bite at a Time
 
CCPA: What You Need to Know
CCPA: What You Need to KnowCCPA: What You Need to Know
CCPA: What You Need to Know
 
How to Add Data Privacy to Your Angular Application
How to Add Data Privacy to Your Angular ApplicationHow to Add Data Privacy to Your Angular Application
How to Add Data Privacy to Your Angular Application
 
Pairing Based Transform Cryptography (Proxy Re-Encryption - PRE)
Pairing Based Transform Cryptography (Proxy Re-Encryption - PRE)Pairing Based Transform Cryptography (Proxy Re-Encryption - PRE)
Pairing Based Transform Cryptography (Proxy Re-Encryption - PRE)
 
The Internet is a dog-eat-dog world and your app is clad in Milk Bone underwear
The Internet is a dog-eat-dog world and your app is clad in Milk Bone underwearThe Internet is a dog-eat-dog world and your app is clad in Milk Bone underwear
The Internet is a dog-eat-dog world and your app is clad in Milk Bone underwear
 
2018 acm-scc-presentation
2018 acm-scc-presentation2018 acm-scc-presentation
2018 acm-scc-presentation
 

Último

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

How to Add End-to-End Encryption to Your React App